资源描述:
《北邮计算机体系结构--实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机系统结构实验报告班级:2011211学号:姓名:171.实验一WINDLX模拟器安装及使用2.实验二指令流水线相关性分析3.实验三DLX处理器程序设计4.实验四代码优化5.实验五循环展开(选作)实验一WINDLX模拟器安装及使用简要介绍WINDLX模拟器结构和功能此图为初始界面Register窗口显示寄存器中的内容Clock Cycle Diagram子窗口 现在双击Clock Cycle Diagram子窗口,它显示DLX流水线的时空图。Statistics子窗口Pipeline子窗口窗口中用图表形式显示了DLX的五段流水线。可以看出,DLX执行指令的流水线是一个5段流水线
2、,包括取指段(IF)、译码段(ID)、执行段(EX)、访存段(MEM)和写回段(WB)。显然,不同指令在执行段的操作是不同的,而且不同操作在该段的延迟也是不同的。Breakpoint子窗口 按F7键以单步方式运行程序,可以清楚的看到每条指令在流水线各个段的具体操作情况,除此之外,DLX模拟器还提供了其他几种运行程序的方式。单击主窗口中Execute子菜单,可以看到DLX模拟器共提供了4种运行程序的方式,其中Single Cycle(或按F7键)就是单步执行方式;Multiple Cycles(或按F8键)是多步执行方式,选择该方式,会在屏幕上出现一个窗口,询问周期个数,它表示流水线
3、从当前位置继续向前执行的周期个数,输入你需要的值,然后按OK键.Code子窗口 里面显示的内容是两个程序(fact.s和input.s)加载到内存中的情况。最右边显示的是程序fact.s的第一条指令,对照图2.7中fact.s的第一条语句,可以看出,变量Prompt被代替以0x1000,这说明变量Prompt在程序被加载到内存中的实际地址就是0x1000,也即程序的数据区被加载到内存地址0x1000开始的地方,这里“0x”表示十六进制。中间显示的是第一条语句的机器码表示占了内存的4个字节位置。实验二指令流水线相关性分析一.实验目的。通过使用WINDLX模拟器,对程序中的三种相关现象
4、进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。二.实验原理。指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。 三.实验过程及分析结果。(1)观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。①数据相关及指令组合:1)截图及分析原因是管道清除在DLXtrap-instruction时发现避免所有问题的可能性。这是记录在信息窗口,Trap-Pipeline-Clearing失速!“如果阶段。lbur3,0x0(r2)要在WB周期写回r3中的数据,而下一条指令seqir5,r3,0
5、xa要在intEX周期中读取r3中的数据。发生了WR相关。存储了一个数据。2)指令组合lbur3,0x0(r2)seqir5,r3,0xa②控制相关及指令组合:1)截图及分析可以看到仿真在第四周期,第一条命令是在MEM阶段,第二条命令处于intEX段,第四条命令处于IF段,而第三条命令处于"aborted"。原因:第二个命令,jal是无条件分支。这个事实是只有在第三周期,当jal被解码。之后在这个周期命令movi2fp(jal)已经被获取,但下一个执行命令将在另一个地址。因此movi2fp的执行必须中止,留下一个的管道。2)指令组合addir1,r0,0x1000jalInputU
6、nsignedmovi2fpf10,r1swSaveR2[r0],r2③结构相关及指令组合:1)截图及分析addir2,r2,0x1该指令与它前面的一天指令addr1,r1,r3发生了结构相关。由于上一条指令由于数据相关需要停4个周期,在ID段后停滞,不能进入intEX段,故addir2,r2,0x1就不能进入ID段,译码部分已经被占用。故发生了结构相关。2)指令组合addr1,r1,r3addir2,r2,0x1(2)考察增加浮点运算部件对性能的影响。进行20次循环,截图如下分析:代码执行相同步,通过对比发现浮点运算部件的多少对于程序执行效率并没有什么影响,浮点运算部件的多少对统
7、计结果都不造成影响。因为程序中浮点计算指令没有重叠,所以并行度没有增加,性能没有提高。(3)考察增加forward部件对性能的影响。进行20次循环,截图如下:不使用forward:使用forward:分析: 使用forward部件后的109个时钟周期比不使用少了21个时钟周期。 使用forward部件使得RAW减少了36个,占总的时钟周期比例也减少了。可以看出使用forward部件后,时钟周期减少,数据相关减少,流水线的性能得到提高。(4)观察转移指令在转移成功和转移