计算机系统结构实验报告.docx
文本预览下载声明
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 2
计算机系统结构实验报告
姓 名
学 号
指导老师
实验一、流水线中的相关?
实验目的
1.?掌握WinDLX模拟器的操作和使用,熟悉DLX指令集结构及其特点;??
2.?加深对计算机流水线基本概念的理解;??
3.?进一步了解DLX基本流水线各段的功能以及基本操作;??
4.?加深对数据相关、结构相关的理解,了解这两类相关对CPU性能的影响;?
5.?了解解决数据相关的方法,掌握如何使用定向技术来减少数据相关带来的暂停。
二、实验平台?
WinDLX模拟器。?
三、实验内容、步骤及实验结果??
1.用WinDLX模拟器执行下列三个程序:
1求阶乘程序fact.s????
2求最大公倍数程序gcm.s????
3求素数程序prim.s???
分别以步进、连续、设置断点的方式运行程序,观察程序在流水线中的执行情况,观察CPU中寄存器和存储器的内容。熟练掌握WinDLX的操作和使用。???
结果总结:?
三种方式:?
步进的方式是按快捷键F7或者选择菜单栏Execute中的Single?Cycle;?
连续的方式是按快捷键F5或者选择Execute中的Run;?
设置断点是通过选择window菜单栏中的code,然后在菜单栏中多出一项code项,选中你想要插入的指令,在多出来的code项中找到set?breakpoint,即可插入断点,然后按F5执行即可。?
1.用WinDLX运行fact.s
?
Pipeline图
指出了每个功能段所进行的具体指令,点击指令还可以看到指令的具体相关的其他方面的内容。
时空图
更加直观的形式显示出了在某个时间周期某个功能段所执行的具体的指令。
?
Register图
指出了各个寄存器和存储器的值.
Statistics图
指出了指令的相关分析数据,例如,执行了53个cycles,2条指令在流水线中等相关的总结信息。
2.?用WinDLX运行程序structure_d.s,通过模拟找出存在资源相关的指令对以及导致资源相关的部件;记录由资源相关引起的暂停时钟周期数,计算暂停时钟周期数占总执行周期数的百分比;论述资源相关对CPU性能的影响,讨论解决资源相关的方法。
资源相关的指令:
addd?f0,f0,f4?
addd?f2,f0,f2(发生先写后读的数据相关导致消除了资源相关)
由图可知是因为只有一个faddEX的运算部件,而它需要两个时钟周期,当第一条addd指令执行EX段时,第二条指令势必要等一个周期等faddEX部件空闲了才能够使用。但是,同时由于这两条指令存在先写后读数据相关,暂停一个周期之后没有了资源相关?.
单条指令的详细资源冲突图
因为Statistics图中的分析数据没有看见structural?stall,但是根据图知道这个存在addd?f2,f0,f2时的资源冲突,大概循环了6次,总共时钟周期是142个,所以资源相关引起的暂停的时钟周期的个数是6个,暂停时钟周期数占总执行周期数的百分比为6/142=?4.3%
Statistics数据分析图?
资源相关降低CPU性能,并行运算的速度降低,解决资源相关的方法有停顿几个时钟周期法(针对访存冲突和设备资源冲突(轮流单个使用))或者是增加硬件设备(解决设备资源冲突)。
3.?在不采用定向技术的情况下(去掉Configuration菜单中Enable?Forwarding选项前的勾选符),用WinDLX运行程序data_d.s。记录数据相关引起的暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期数占总执行周期数的百分比。??
在采用定向技术的情况下(勾选Enable?Forwarding),用WinDLX再次运行程序data_d.s。重复上述3中的工作,并计算采用定向技术后性能提高的倍数。
1、不定向技术:?
总时钟周期=202??????数据相关引起的暂停时钟周期=104?暂停时钟周期数占总执行周期数的百分比=51.48%
2、定向技术:?
总时钟周期=128????数据相关引起的暂停时钟周期=30?
暂停时钟周期数占总执行周期数的百分比=23.44%
定向技术的加速比?=?202/128?=?1.578
四、心得体会?
通过使用WinDlX对指令模拟与分析,我们对流水线的执行过程更加熟悉,也对执行时出现的问题,如资源相关,数据相关等产生原因有了清晰的认识,进一步加深了使我们对流水线的理解。
实验二 循环展开及指令调度
显示全部