计算机系统结构 指令流水线相关性实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指令流水线相关性
实验报告
计算机02班
2012年5月13日
一.实验目的
通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。
二.实验设备环境
WinDLX模拟器可以装入DLX汇编语言程序,然后单步、设置断点或者连续执行该程序。CPU的寄存器、流水线、I/O和存储器都可以使用图形的方式表示出来。模拟器还提供了对流水线操作的统计功能。该模拟器对理解流水线和RISC处理器的特点很有帮助。
三.实验原理
指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。
数据相关:由于流水线中各条指令的重叠操作使得原来对操作数的访问顺序发生了变化而导致了数据相关的冲突。
控制相关:由条件转移指令引起的相关。
结构相关:多条指令进入流水线后在同一机器周期内争用同一
功能部件所发生的冲突。
四.实验步骤
程序中出现的数据相关:
(1)截图及分析:
lbu r3,0x0(r2)需要在执行IntEX周期之后才能将r3值传送给seqi指令,而后续指令seqi r5,r3,0x0a在ID周期读取r3寄存器的值,故seqi r5,r3,0x0a与lbu r3,0x0(r2)发生了读写相关。
所以为了避免冲突,将seqi r5,r3,0x0a指令的intEx延迟一个周期执行。
( 2 )相关指令组合:
lbu r3,0x0(r2)
seqi r5,r3,0x0a
程序中出现的结构相关:
(1)截图及分析:
addi r2,r2,0x1该指令与它的上一条指令add r1,r1,r3发生了结构相关。由于add r1,r1,r3与其上一条指令multu r1,r1,r4发生了数据相关,在ID段需要暂停4个周期。因此add r1,r1,r3不能进入intEX段,所以addi r2,r2,0x1就不能进入ID段。指令译码器发生争用情况,因此addi r2,r2,0x1与add r1,r1,r3发生了结构相关。addi r2,r2,0x1的information窗口信息如下图所示:
(2)相关指令组合:
add r1,r1,r3
addi r2,r2,0x1
五.实验总结
这次实验,通过观察程序中出现的数据相关、结构相关,加深了我对流水线的认识,以及对WINDLX软件功能的使用。
流水线技术确实可以大幅提高计算机的执行效率,但是流水线技术本身也有不可避免的问题。比如发生数据相关,控制
相关,结构相关,都会造成延迟,影响执行效率。
我觉得,如果要将流水线的执行效率发挥到最高水平,除了采用一些硬件上的设备和技术,还可以进行人工分析,对代
码进行优化处理。