北邮计算机系统结构-WINDLX模拟器实验报告.docx

北邮计算机系统结构-WINDLX模拟器实验报告.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告 学 院: 计算机学院 课程名称: 计算机系统结构 实验名称: WINDLX 模拟器实验 班 级: 姓 名: 学 号: 实验一 WINDLX 模拟器安装及使用 略 实验二 指令流水线相关性分析 一. 实验类别 验证实验 二. 实验目的 通过使用 WINDLX模拟器,对程序中的三种相关现象进行观察,并对使用专 用通路,增加运算部件等技术对性能的影响进行考察,加深对流水线和 RISC处理器的特点的理解。 三. 实验环境 Windows XP操作系统 WinDLX模拟器 四. 实验原理 指令流水线中主要有结构相关、 数据相关、控制相关。相关影响流水线性能。 (1) 数据相关 定义:原有先后顺序的两条指令( I1,I2)在对共享变量(位置)进行读、写时,指令流水线中实际完成的读、 写顺序与原有顺序不一致, 导致流水线输出错误。 三类数据相关 : 写读 (WR)相关 读写 (RW)相关 写写 (WW)相关 解决方法技术 : 使某些流水线指令延迟、停顿一或多个周期。 双端口存储器 :如果指令和数据放在同一个存储器。 设置两个存储器:一个数据存储,一个为指令存储器。 软件优化编译:通过指令重新排序,消除数据相关。 定向技术:又称旁路技术或专用通路技术,是使后续指令提前得到前指令的运算结果 (适合 ALU类指令) 2)结构相关 定义:如果某指令在流水线重叠执行过程中,硬件资源满足不了指令重叠执行的要求,会产生资源冲突或竞争,称为流水线结构相关 解决方法技术: 延迟技术:使某些指令延迟、停顿一或多个时钟周期 双端口存储器:允许同时读两个数据或指令 设置双存储器(哈弗结构):一个数据存储,一个指令存储。 软件优化编译:通过指令重新排序消除结构相关。 (3)控制相关 定义:控制相关是指因程序执行转移类指令而引起的冲突相关。包括无条件转移、条件转移、子程序调用、中断等,它们属于分支指令,执行中可能改变程序方向,造成流水线断流。 解决方法技术: 1、 静态分支技术 静态转移预测技术 (猜测法 ) ; 延迟转移; 提前形成条件码,生成转移目标地址; 改进循环程序 ; 2、 动态分支预测技术 转移历史表 BHT; 转移目标缓冲栈( BTB); 转移目标指令缓冲栈 BTIB; 五. 实验步骤 1) 观察程序中出现的数据 / 控制 / 结构相关。指出程序中出现上述现象的指令组合。 2) 考察增加浮点运算部件对性能的影响。 3) 考察增加 forward 部件对性能的影响。 4) 观察转移指令在转移成功和转移不成功时候的流水线开销。 注意:除( 2)以外,浮点加、乘、除部件都只有一个; 本问题中所有浮点运算部件的延时都请设定为 4 个周期。 六. 实验过程 在开始模拟之前,将和加载至 WinDLX 中。 加载完后点击 Code 后可以看到如下图所示。证明加载成功,即可进行以下实验。 1)观察程序中出现的数据 / 控制 / 结构相关。指出程序中出现上述现象的指令组合。 1.1. 数据相关 如图所示 lbu r3,0× 0(r2) 要在 WB 周期写回 r3 中的数据;而下一条指令 seqi r5,r3,0× a 要在 intEX 周期中读取 r3 中的数据。 上述过程发生了 WR 冲突,即写读相关。为了避免此类冲突, seq r5,r4,0×a 的 intEX 指令延迟了一个周期进行。 则发生数据相关的指令为 控制相关 可知第 0条指令为循环指令,指令在 EX时刻才能判别指令是否发生转移,此时发生了控制相关。如下所示,此时指令跳转成功,故顺序取出的指令必须中断,并且转向取出转移到的指令。 在 EX 时发现跳转成功,则在 EX 阶段马上结束指令顺序取出的指令 sd PrintfValue(r0),f0,转而执行 led f0/4 指令的取指阶段 ID。由于此控制相关使得流水线断流一个时钟周期。 结构相关 上图表明了 addi r2,r2,0×1 的详细信息。该指令与它前一条指令 add r1,r1,r3 发生了结构相关。并且由于此处的冲突,需要暂停 2 个周期。在 ID 段暂停后,则开始进图 intEX 段。所以这条指令( addi r2,r2,0×1)你不能进入 ID 流水段,译码部分占用,发生了结构相关。该部分的指令为: ( 2) 考察增加浮点运算部件对性能的影响。 取 N=12 设置浮点运算部件的配置。由于实验手册上面要求 Delay=4,所以我们将 Delay 这一栏改成 4,而 Count 可以任意,为了对比,我们第一次浮点运算部件取全部为 2,第二次浮点运算部件取全部为 4。 分别运行 50 个 cycles后,数据对比如下: 比较各个数据, 发现没有变化。 无论怎么增加浮点运算部件, 统计结果都一样。原因在于此程序中浮

文档评论(0)

150****5607 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档