欢迎来到天天文库
浏览记录
ID:59823054
大小:509.91 KB
页数:7页
时间:2020-11-24
《计算机系统结构实验四.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机系统结构实验实验四:指令流水线相关性分析一、实验目的1、通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。对流水线性能分析,了解影响流水线效率的因素,了解各类相关及解决方法。二、实验原理指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。流水线中的相关: (1)结构相关:当某一条机器指令需要访问物理器件时,如加法器,此时加法器正被另一条机器指令使用,从而产生结构相关; (2)数据相关:当某一条指令需要访问某个寄存器时,此时这个寄存
2、器正被另一条指令所使用,从而产生数据相关; (3)控制相关:当程序执行到某个分支语句时,顺序执行的下一条语句将被跳过而去执行分支语句中满足条件的那条指令,从而产生控制相关。三、实验步骤使用WinDlx模拟器,对求阶乘程序Fact.s做分析。1、双击WinDLX图标运行WinDLX。装入测试程序之前,先初始化WinDLX模拟器:点击File 菜单中的 Reset all 菜单项,弹出一个“Reset DLX”对话框。然后点击窗口中的“确认”按钮即可。 2、选择File / Load Code or Data,按如下步骤操作,可将Fact.s和input.s这两个
3、程序装入主存。 3、按F7键程序顺序执行观察6个子窗口的情况。 4、分析流水线中出现的三种相关,及结构相关、数据相关和控制相关,分析其出现的原因。统计三种相关的具体数目。 5、分别利用增加运算单元、定向技术及循环展开来消除和减少流水线中出现的三种相关。并统计三种相关冲突的变化情况。l观察程序中的数据/控制/结构相关流水线浮点运算部件设置:一、实验数据及结果分析1、分析fact.s和imput.s输入顺序不同时产生的影响 先装入fact.s再转入input.S时,因为程序顺序执行,地址顺序符合程序执行顺序,程序能够正确执行;顺序相反时,因为input.S的地址高
4、,而程序顺序执行到input.S时将没有正确的输入窗口,程序执行到输出结果时,也不会出现结果。 2、流水线中的三种相关观察与分析1.fact.s程序运行结果:图1源程序fact.s 运行结果 在运行窗口输入4,即求数列:4的阶乘,由运行窗口可知结果正确。 从图1可以看出fact.s运行后,三种相关均出现了。其中,数据相关共10项,结构相关共0项,控制相关共8项。1.数据相关:在Code子窗口中。命令movi2fpf10,r1和cvti2df0,f10分别设置断点。在Clockcyclediagram子窗口中,显示数据相关。图2 数据相关示意图f0的写读相关。按
5、F5,程序继续运行,出现Trap#0occured窗口。在Clockcyclediagram子窗口中,显示f0的写读相关。图3 f0的写读相关示意图bnez r5,input.Finish需要使用seqi的计算结果r5,所以产生数据相关的冒险。WindDLX通过阻塞解决问题。1.控制相关:在Code子窗口中。用同样的方法在命令lwr2,saveR2[r0]和jrr31分别设置断点。 图4 控制相关示意图语句lw r2,SaveR2(r0)被aborted,这是控制相关的冒险造成的。因为前一条语句j input.Loop是跳转语句,而指定到EX阶段语句被解码后在
6、能知道其作用,所以已经取指令的lw语句被取消。1.结构相关:在Code子窗口中。用同样的方法在命令subdf0,f0,f4和jfact.Loop分别设置断点。 图5 结构相关示意图在执行subd f0,f0,f4和j fact.Loop期间由于ALU被占用硬件资源无法满足j fact.Loop进入EX阶段,发生结构相关的冒险。winDLX中通过阻塞EX 1个周期来解决此问题。一、实验作业消除或减少流水线三种相关1.消除结构相关:增加加法运算和乘法运算单元,将其均修改为2,可以发现结构相关变为0项。2.消除数据相关:利用定向技术消除数
7、据相关,可以发现数据相关与之前相比大幅减少。3.消除控制相关:首先将DLX设置Reset all,将文件夹中的gcm.s文件及input.s文件装入DLX流水线模拟器,然后增加加法与乘法运算单元,打开定向技术,再次运行。六、可研究和探索的问题l本实验采用单一变量法,每次只改变一个量来测该量对程序效率的影响。可以考虑多个量组合来观察程序的效率变化。l本实验中没有改变各项运算的延迟,可以考虑修改延迟对程序执行效率的影响。l考虑自己编写一个包含更多的相关性的程序。对该程序执行效率进行分析。l将本RISC处理器同比较熟悉的X86处理器的指令系统、寄存器组等进行对照。分
8、析各自的优缺点。七、实验报告要求实验报
此文档下载收益归作者所有