北邮实验二指令流水线相关性分析.doc_第1页
北邮实验二指令流水线相关性分析.doc_第2页
北邮实验二指令流水线相关性分析.doc_第3页
北邮实验二指令流水线相关性分析.doc_第4页
北邮实验二指令流水线相关性分析.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北 京 邮 电 大 学计算机学院计算机系统结构课程实验 2015年4月实验二 指令流水线相关性分析一、 实验类别:验证实验二、 实验目的:通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。三、 实验学时:4四、 实验组人数:1/1五、 实验设备环境:WinDLX模拟器可以装入DLX汇编语言程序,然后单步、设置断点或者连续执行该程序。CPU的寄存器、流水线、I/O和存储器都可以使用图形的方式表示出来。模拟器还提供了对流水线操作的统计功能。该模拟器对理解流水线和RISC处理器的特点很有帮助。六、 实验原理:指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。七、 教学要点与学习难点:三种相关及其解决办法八、 实验内容和要求:使用WinDLX模拟器,对求阶乘程序Fact.s做分析九、 实验步骤:(1) 观察程序中出现的数据/控制/结构相关。指出程序中出现上述现象的指令组合。(2)考察增加浮点运算部件对性能的影响。(3)考察增加forward部件对性能的影响。(4)观察转移指令在转移成功和转移不成功时候的流水线开销注意:除(2)以外,浮点加、乘、除部件都只有一个;本问题中所有浮点运算部件的延时都请设定为4个周期。十、实验过程:同实验一、选择File/Load Code or Data,窗口中会列出目录中所有汇编程序。按如下步骤操作,可将这两个文件装入主存。 点击 fact.s 点击 select 按钮 点击 input.s 点击 select按钮 点击 load按钮以下3个相关的观察实验(floating为1,4)数据相关及指令组合:在第27个周期里,Clock Cycle Diagram窗口的时空图和Pipeline窗口中的流图第一次出现了橘黄色的R-Stall。点击Pipeline的橘黄色框,出现的Information about seqi r5,r3,0xa中有图:lbu r3,0x0(r2)要在WB周期写回r3中的数据,而下一条指令 seqi r5,r3,0xa 要在intEX周期中读取r3中的数据。发生了写读相关。所以为了避免冲突,seqi r5,r3,0xa的intEX指令延迟了一个周期进行。相关指令组合控制相关及指令组合:在第四时钟周期,第一条命令正处于MEM段,第二条命令处于intEX段,第四条命令处于IF段,而第三条命令处于aborted。原因是:第二条命令jal InputUnsigned是无条件分支指令, 但只有在第三个时钟周期, jal 指令被译码后才知道。这时,下一条命令movi2fp已经取出,但需执行的下一条命令在另一个地址处,因而,movi2fp的执行应被取消,在流水线中留下气泡。此处发生了控制相关。相关指令组合结构相关及指令组合:在下图中,Clock Cycle Diagram窗口的时空图可发现指令Stall了3个周期。点击右上图Pipeline窗口流水线的亮黄色框,则弹出的Information about addi r2,r2,0x1显示如右图:addi r2, r2, 0x1 该指令与它前面的一天指令 add r1,r1, r3发生了结构相关。由于上一条指令由于数据相关需要停3个周期,在ID段后停滞,不能进入intEX段,故 addi r2,r2,0x1 就不能进入ID段,译码部分已经被占用。故发生了结构相关。相关指令组合考察增加浮点运算部件对性能的影响该实验取N=20首先通过,点击FloatingPointStageConfiguration来设置浮点运算部件的配置。由于实验手册上面要求Delay=4,所以我们将Delay这一栏改成4,而Count可以任意,为了对比,我们第一次浮点运算部件取全部为1,第二次浮点运算部件取全部为2。把延迟设定为4个周期按F5运行程序 输入值为20比较各个数据,发现没有变化。无论怎么增加浮点运算部件,统计结果都一样。由此可见,浮点运算部件的增减对效率无影响。原因在于此程序中浮点计算指令没有重叠,所以并行度没有增加,性能没有提高。考察增加forward部件对性能的影响(floating为2,4)为了对比有无forward部件的性能。需要在configuration菜单中勾选enableforwarding,以及不勾选来看性能数据的对比。按F5运行程序 输入值为20采用重新定向技术不使用重新定向技术结果分析从上面的数据我们可以看出增加forward的作用:l 增加forward部件后的214个时钟周期比增加前的272个少了58个时钟周期。l 增加forward部件使得RAW相关变为34个,比增加前的89个减少了55个,RAW相关的比例从总时钟周期的32.72%减为16.00%。l 增加forward部件使得控制相关比例增加了,由原来占总时钟周期的9.19%增至11.68%。总之,使用forward部件后,总的时钟周期减少,数据相关减少,流水线的性能得到一定的改善。观察转移指令在转移成功和转移不成功时候的流水线开销N=20,floating为2,4且有forward部件时条件转移结果如下图:条件转移分析(有数据通路):静态指令调度算法只能解决数据相关,条件转移结果与原来相比没有变化。转移指令一共23条。其中成功转移的2条,占8.70%,不成功转移的21条,占91.30%。若转移不成功,对流水线的执行无影响,流水线的吞吐率和效率没有降低。若转移成功,则要废弃预先读入的指令,重新从转移成功处读入指令,每执行一条条件转移指令,一条x段流水线就有x-2个流水线被浪费掉,执行效率降低,性能有一定的损失。实验总结 首先我认为实验课会占用平时理论课的课时也足以见得实验的重要。由于每个人的能力不同,实验完成的程度也不一样。但我觉得我能够认真按序按时间完成实验,本身对自己就是一种提高。通过本次实验,我认识到了流水线技术是一种经济、有效的时间并行技术,在现代计算机设计中得到了最广泛的应用。总体来说本实验软件WINDLX并不容易上手,通过不断的摸索以及和同学们的交流和查看网上的教程,我逐渐熟悉了各个部件的操作以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论