计算机系统结构实验.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机系统结构课程实验报告班 级 -------- 学 号 -------- 姓 名 ----- 指导教师 ----- 目录计算机系统结构课程0实验二 指令流水线相关性分析31.实验目的32.实验原理33.实验步骤及结果分析33.1 结构相关43.2 数据相关53.3 控制相关63.4 增加浮点运算部件对性能的影响73.5 增加forward部件对性能的影响93.6 转移指令在转移成功和转移不成功时候的流水线开销104.实验总结11实验三 DLX处理器程序设计111.实验目的112.实验原理113.实验步骤及结果分析11(1) 两双精度浮点一维向量的加法运算程序11(2).程序相关性分析13(3) 增加浮点运算部件对性能的影响15(4) 增加forward部件对性能的影响16(5) 转移指令在转移成功和转移不成功时候的流水线开销184.实验总结19实验四 代码优化191.实验目的192.实验原理193.优化程序代码清单及注释说明203.1优化前代码:203.2优化后的代码214.实验分析结果234.1优化前的Clock cycle diagram和Statistics234.2优化后的Clock cycle diagram234.3优化前Statistics(左)与优化后的Statistics(右)对比244.4分析:255.你解决的困难和解决方法266.实验总结267.实习建议26实验五 循环展开261.实验目的262.实验原理273.矩阵乘程序代码清单及注释说明273.1.Multiply.s:273.2.INPUT.S:344.优化程序代码清单364.1.Multily1.s消除了一些存在的数据相关,循环展开364.2 Input.s445.实验步骤及结果分析(假定是3*3矩阵)465.1未优化矩阵相乘程序(代码3.矩阵乘程序代码清单及注释说明)分析465.2 循环展开手工优化程序(固定矩阵3*3)536.解决的困难和解决方法576.1解决困难:消除了一些数据相关的R-Stall576.2解决困难:循环展开优化困难577.没有解决的困难587.1部分代码之间的数据相关难以消除,如INPUT.s中:588.可研究与探索的问题:589.实习体会5810.实习建议59实验二 指令流水线相关性分析1.实验目的通过使用WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和RISC处理器的特点的理解。2.实验原理指令流水线中主要有结构相关、数据相关、控制相关。相关影响流水线性能。3.实验步骤及结果分析实验开始之前,将fact.s和input.s加载至WinDLX中。浮点加、乘、除部件都只有一个并将所有浮点运算部件的延时都请设定为4个周期Load之后code如下:3.1 结构相关Clock Cycle Diagram截图如下:点击指令add r2,r2,0x1得具体信息如下:实验现象:add r2,r2,0x1暂停两个周期等待上一条指令执行,出现了结构相关。分析:该指令与它前一条指令add r1,r1,r3发生了结构相关。并且由于此处的冲突,需要暂停2个周期。所以add r2,r2,0x1不能进入ID流水段,译码部分占用,发生了结构相关。故发生结构相关的指令组合为: add r1,r1,r3add r2,r2,0x1 3.2 数据相关Clock Cycle Diagram截图如下:点击指令add r1,r1,r3得具体信息如下:实验现象:数据相关出现,add r1,r1,r3指令执行完ID之后,有三个时钟周期的R-Stall,之后得到Subi r3,r3,0x30 和 multu r1,r1,r4传来的数据之后,继续执行intEX。分析:指令add r1,r1,r3的输入为r1,r3而参数r1需要等待multu r1,r1,r4执行之后获取,所以出现了数据相关。故数据相关指令为:指令multu r1,r1,r4和指令add r1,r1,r3,并属于WR,WW和RW数据相关3.3 控制相关实验现象:在第四个时钟周期,第三条指令abort,其他指令正常执行分析:jal InputUnsigned是无条件分支指令,在第三个时钟周期时,jal指令译码得到下一条执行指令,而非movi2fp,故停止已经执行的movi2fp,这个时候就会发生控制相关。由此,发生控制相关的指令组合为:3.4 增加浮点运算部件对性能的影响修改浮点运算部件如下各自运行50个Cycle,得到的数据如下浮点运算部件为2为左,为3则为右:加上一开始浮点运算部件为1的数据:实验现象:比较各数据,发现浮点部件个数的增加对各数据没有产生影响分析:此程序中浮点计算指令没有重叠,所以并行度没有增加,性能没有

文档评论(0)

2232文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档