系统结构流水线工作分析报告.docVIP

  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文档。上传文档
查看更多
系统结构流水线工作分析报告.doc

《计算机系统结构课内实验》 实验报告 一、 实验目的及要求 1、 加深对计算机流水线基本概念的理解; 2、 理解MIPS结构如何用5段流水线来实现,理解各段的功能和基本 操作; 3、 加深对数据冲突、结构冲突的理解,理解这两类冲突对CPU性能的 影响。 4、 进一步理解解决数据冲突的方法,掌握如何应用定向技术来减少 数据冲突引起的停顿。加深对计算机流水线基本概念的理解; 二、 实验环境 采用指令级和流水线操作级模拟器WinDLX; 三、实验内容 1、 用WinDLX模拟器进行结构相关的分析 生成汇编程序stnjcture_d.s。用WinDLX模拟器运行该程序。 通过模拟,找出存在结构相关的指令对,以及导致结构相关的部件。 记录由结构相关引起的暂停时钟周期数,计算暂停时钟周期数占总 执行周期数的百分比。 2、 用WinDLX模拟器进行数据相关分析 添加data.s程序。 通过Configuration菜单中的选项,设定在不采用定向技术的情况 下,用WinDLX模拟器运行程序data_d.s。记录数据相关引起的 暂停时钟周期数以及程序执行的总时钟周期数,计算暂停时钟周期 数占总执行周期数的百分比。 在采用定向技术的情况下,用WinDLX模拟器再次运行程序data_ d.So记录数据相关引起的暂停时钟周期数以及程序执行的总时钟 周期数,计算暂停时钟周期数占总执行周期数的百分比。 3、 用WinDLX模拟器分析指令调度 生成 schedule-before.s schedule-after.s 程序。 通过Configuration菜单中的选项,将除法单元数设置为3,将 加法、乘法、除法的延迟设置为3个时钟周期。 用WinDLX模拟器运行调度前的程序schedule-before.s。记录 程序执行过程中各种相关发生的次数以及程序执行的总时钟周 期数。 用WinDLX模拟器运行调度后的程序schedule-after.s,记录 程序执行过程中各种相关发生的次数以及程序执行的总时钟周 期数。 4、 综合改进 在WinDLX上运行如下代码序列包含各种类型的冲突: 在没有任何其他定向(或旁路)硬件的支持下,假设采用排空 流水线的策略处理分支指令,那么执行上述代码需要多少个时 钟周期? 假设该流水线存正常的定向路径,且采用预测分支失败的策略处 理分支指令,那么执行上述代码需要多少个时钟周期? 假设该流水线有正常的定向路径和一个单周期延迟分支,请对该 循环中的指令进行调度,但是不能增加指令的条数。计算执行 上述代码所需要的时钟周期数 四、实验步骤 1、用WinDLX模拟器进行结构相关的分析 用WinDLX打幵structure_d.s程序,单步执行,查看 Clock Cycle Diagram 窗口; ddct(2/0,0x138 |HlF | ID MEM | WB | addb i3jO,Ox188 addb i3jO,Ox188 adds rSjO.Oxa Id嶋0[『2|Id f2,0x0(r3) ddddf4J0J2ddcfe i2/2,0x8addi i2j0,0?138 addii3A0x188addi ?5j0,0xa Id f 脚(r21 Id f2.0x0(r3)addd f4J0.f2dddi r2ji2,(b(8 addi i3j3 ?ubi i5j6,0x1IFIDMEM WBIDIFIFIFIDMEM | adds rSjO.Oxa Id嶋0[『2| Id f2,0x0(r3) ddddf4J0J2 ddcfe i2/2,0x8 addi i2j0,0?138 addii3A0x188 addi ?5j0,0xa Id f 脚(r21 Id f2.0x0(r3) addd f4J0.f2 dddi r2ji2,(b(8 addi i3j3 ?ubi i5j6,0x1 IF ID MEM WB ID IF IF IF ID MEM | W6 ID IF ID [__lT | ifitEX | MEM | WB IF ID MEfTl IF | ID | R.Stal| IF 1 Stall ID MEM I WB IF ID FiSUI IF Stall ID IF ID Stall IF | SUll 指令 “ADDI R2, R2, #8 ” 和指令 “LD FO, 0(R2)” 发生结构冲突;指令ADDI R2, R2, #8”、“ADDI R3, R3, #8” 和 “SUBI R5, R5, #1 ” 这三条指令和 “ADDD F4, FO, F2”存在结构相关。 Statistics Tots.1 : 117 Cycle(s) executed. ID executed by 74 Instrucd

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档