收藏 分享(赏)

实验六 再定序缓冲(ROB)工作原理.doc

上传人:hskm5268 文档编号:7611494 上传时间:2019-05-22 格式:DOC 页数:5 大小:465.50KB
下载 相关 举报
实验六  再定序缓冲(ROB)工作原理.doc_第1页
第1页 / 共5页
实验六  再定序缓冲(ROB)工作原理.doc_第2页
第2页 / 共5页
实验六  再定序缓冲(ROB)工作原理.doc_第3页
第3页 / 共5页
实验六  再定序缓冲(ROB)工作原理.doc_第4页
第4页 / 共5页
实验六  再定序缓冲(ROB)工作原理.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验六 再定序缓冲(ROB)工作原理6.1 实验目的1. 加深对指令级并行性及其开发的理解;2. 加深对基于硬件的前瞻执行的理解;3. 掌握 ROB 在流出、执行、写结果、确认 4 个阶段所进行的操作;4. 掌握 ROB 缓冲器的结构;5. 给定被执行代码片段,对于具体某个时钟周期,能写出保留站、ROB 以及浮点寄存器状态表内容的变化情况。6.2 实验平台再定序缓冲 ROB 模拟器,计算机系统结构实践教程附书光盘中提供,清华大学出版社。设计:张晨曦教授( ) ,版权所有。开发:刘璐。6.3 实验内容及步骤首先要掌握 ROB 模拟器的使用方法。 (见 6.4 节)1. 假设浮点功能部件的延迟时间

2、为:加法 2 个时钟周期,乘法 10 个时钟周期,除法40 个时钟周期。(1)对于下面的代码段,给出当指令 MUL.D 即将确认时保留站、 ROB 以及浮点寄存器状态表的内容。L.D F6, 34(R2)L.D F2, 45(R3)MUL.D F0, F2, F4SUB.D F8, F6, F2DIV.D F10, F0, F6ADD.D F6, F8, F2(2)按步进方式执行上述代码,利用模拟器的“小三角按钮”的对比显示功能,观察每一个时钟周期前后保留站、ROB 以及浮点寄存器状态表的内容的变化情况。2. 对于与上面相同的延迟时间和代码段, (1) 给出在第 5 个时钟周期时,保留站的内容

3、;(2) 步进 10 个时钟周期,ROB 的内容有哪些变化;(3) 再步进 10 个时钟周期,给出这时保留站、ROB 以及浮点寄存器状态表的内容。3. 假设浮点功能部件的延迟时间为:加减法 3 个时钟周期,乘法 8 个时钟周期,除法40 个时钟周期。自己编写一段程序(要在实验报告中给出) ,重复上述 2 的工作。6.4 ROB 模拟器的使用方法1. 设置指令和参数本模拟器最多可以模拟 10 条指令。可以在“指令”区选择和设置所要的指令。 “指令”区如图 6.1 所示。图 6.1 “指令”区你可以从下拉框中选择指令,供选择的指令有以下 5 种:(1)L.D 指令:从主存读取一个双精度浮点数;(2

4、)ADD.D:双精度浮点加法指令;(3)SUB.D :双精度浮点减法指令;(4)MULT.D :双精度浮点乘法指令;(5)DIV.D :双精度浮点除法指令。指令的各参数也可以从各自的下拉框中选择。你还可以在窗口的右上区域设置各部件的执行时间(时钟周期数) ,如图 6.2 所示。图 6.2 设置功能部件时间其中“复位”的作用是使所有设置恢复为默认值。2. 执行点击“执行”按钮,就进入执行状态。你可以用中间的按钮来控制指令的执行,包括“步进” 、 “退 1 步” 、 “前进 5 个周期” 、 “后退 5 个周期” 、 “执行到底” 、 “退出”等。还可以用“go”按钮直接跳转到你所指定的时钟周期。

5、如果想修改被执行的代码,按“退出”按钮,即可回到设置指令和参数页面。向前执行后,状态表中抹色的字段表示其内容发生了变化。3. 对比状态表每一个状态表的右上角外侧都有一个小三角,用鼠标左键点击它,会弹出该表在上一个时钟周期的内容。这是为了让你通过对比来了解哪些内容发生了变化。在弹出表以外的区域再次点击鼠标,就可以将其收回。4. 各个表的内容(1) 指令状态表指令状态表如图 6.3 所示。它列出了各指令什么时候执行到了哪一步。其中的数字表示时钟周期, “”表示时钟周期期间。例如,图 6.3 中的 23 表示在第 2 到第 3 个时钟周期,第一条 L.D 指令是在“执行 ”这一步。图 6.3 指令状

6、态表其中抹色的区域表示最近一个时钟周期其内容发生了变化。下同。(2) 再定序缓冲器 ROBROB 如图 6.4 所示。它按队列方式工作,其中各字段的意义如下: 标记:用于给出队列的头和尾; 项号:给出各项的编号; Busy:“忙”标志,指出相应的行是否已占用; 指令:给出是什么指令占用该行; 目的地:指出结果写到哪里去; 值:暂时存放相应指令的计算结果,在该指令被确认时,将被写到目的地。图 6.4 再定序缓冲器 ROB(3) 保留站保留站的内容如图 6.5 所示。图 6.5 保留站其中各字段的名称和意义与图 5.4 中的相同。不过,这里增加了一个字段:目的地。它指出相应部件的运算结果要暂时存放

7、到 ROB 的第几号单元。(4) Load 缓冲器Load 缓冲器的内容如图 6.6 所示。它按队列方式工作,每次处理新的访存都是从队列头部取走一条。图 6.6 Load 缓冲器该缓冲器各字段的意义如下: 名称:相应单元的名称; Busy:“忙”标志,为“Yes ”表示已被占用; 地址:访存的有效地址; 目的地:指出从存储器读来的数据要暂时存放到 ROB 的第几号单元; 值:存放从存储器读来的数据。(5) 寄存器寄存器的内容如图 6.7 所示。图 6.7 寄存器的内容该缓冲器各字段的意义如下: Busy:“忙”标志,为“Yes ”表示将有指令要对该寄存器写入数据; ROB 项号:指出它在等哪个 ROB 项的数据。当那个 ROB 项中的指令被确认且其值已经就绪时,那个数据将被写入该寄存器; 值:寄存器的值。当上述表中的内容写不下时,模拟器会采用缩写的方法。这时,在屏幕上面中间的区域中会显示缩写及其值。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报