实验六 再定序缓冲(rob)工作原理

实验六 再定序缓冲(rob)工作原理

ID:13982124

大小:465.50 KB

页数:5页

时间:2018-07-25

实验六  再定序缓冲(rob)工作原理_第1页
实验六  再定序缓冲(rob)工作原理_第2页
实验六  再定序缓冲(rob)工作原理_第3页
实验六  再定序缓冲(rob)工作原理_第4页
实验六  再定序缓冲(rob)工作原理_第5页
资源描述:

《实验六 再定序缓冲(rob)工作原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、骤首先要掌握ROB模拟器的使用方法。(见6.4节)1.假设浮点功能部件的延迟时间为:加法2个时钟周期,乘法10个时钟周期,除法40个时钟周期。(1)对于下面的代码段,给出当指令MUL.D即将确认时保留站、ROB以及浮点寄存器状态表的内容。L.DF6,34(R2)L.DF2,45(R3)MUL.DF0,F2,F4SUB.DF8,F6,F2DIV.DF10,F0,F6ADD.DF6,F8,F2(2)按步进方式执行上述代码,利用模拟器的“小三角按钮”的对比显示功能,观察每一个时钟周期前后保留站、ROB以及浮点寄

3、存器状态表的内容的变化情况。2.对于与上面相同的延迟时间和代码段,(1)给出在第5个时钟周期时,保留站的内容;(2)步进10个时钟周期,ROB的内容有哪些变化;(3)再步进10个时钟周期,给出这时保留站、ROB以及浮点寄存器状态表的内容。3.假设浮点功能部件的延迟时间为:加减法3个时钟周期,乘法8个时钟周期,除法40个时钟周期。自己编写一段程序(要在实验报告中给出),重复上述2的工作。6.4ROB模拟器的使用方法1.设置指令和参数本模拟器最多可以模拟10条指令。可以在“指令”区选择和设置所要的指令。“指令

4、”区如图6.1所示。图6.1“指令”区你可以从下拉框中选择指令,供选择的指令有以下5种:(1)L.D指令:从主存读取一个双精度浮点数;(2)ADD.D:双精度浮点加法指令;(3)SUB.D:双精度浮点减法指令;(4)MULT.D:双精度浮点乘法指令;(5)DIV.D:双精度浮点除法指令。指令的各参数也可以从各自的下拉框中选择。你还可以在窗口的右上区域设置各部件的执行时间(时钟周期数),如图6.2所示。图6.2设置功能部件时间其中“复位”的作用是使所有设置恢复为默认值。2.执行点击“执行”按钮,就进入执行状

5、态。你可以用中间的按钮来控制指令的执行,包括“步进”、“退1步”、“前进5个周期”、“后退5个周期”、“执行到底”、“退出”等。还可以用“go”按钮直接跳转到你所指定的时钟周期。如果想修改被执行的代码,按“退出”按钮,即可回到设置指令和参数页面。向前执行后,状态表中抹色的字段表示其内容发生了变化。1.对比状态表每一个状态表的右上角外侧都有一个小三角,用鼠标左键点击它,会弹出该表在上一个时钟周期的内容。这是为了让你通过对比来了解哪些内容发生了变化。在弹出表以外的区域再次点击鼠标,就可以将其收回。4.各个表的

6、内容(1)指令状态表指令状态表如图6.3所示。它列出了各指令什么时候执行到了哪一步。其中的数字表示时钟周期,“~”表示时钟周期期间。例如,图6.3中的2~3表示在第2到第3个时钟周期,第一条L.D指令是在“执行”这一步。图6.3指令状态表其中抹色的区域表示最近一个时钟周期其内容发生了变化。下同。(2)再定序缓冲器ROBROB如图6.4所示。它按队列方式工作,其中各字段的意义如下:u标记:用于给出队列的头和尾;u项号:给出各项的编号;uBusy:“忙”标志,指出相应的行是否已占用;u指令:给出是什么指令占用

7、该行;u目的地:指出结果写到哪里去;u值:暂时存放相应指令的计算结果,在该指令被确认时,将被写到目的地。图6.4再定序缓冲器ROB(1)保留站保留站的内容如图6.5所示。图6.5保留站其中各字段的名称和意义与图5.4中的相同。不过,这里增加了一个字段:目的地。它指出相应部件的运算结果要暂时存放到ROB的第几号单元。(2)Load缓冲器Load缓冲器的内容如图6.6所示。它按队列方式工作,每次处理新的访存都是从队列头部取走一条。图6.6Load缓冲器该缓冲器各字段的意义如下:u名称:相应单元的名称;uBus

8、y:“忙”标志,为“Yes”表示已被占用;u地址:访存的有效地址;u目的地:指出从存储器读来的数据要暂时存放到ROB的第几号单元;u值:存放从存储器读来的数据。(1)寄存器寄存器的内容如图6.7所示。图6.7寄存器的内容该缓冲器各字段的意义如下:uBusy:“忙”标志,为“Yes”表示将有指令要对该寄存器写入数据;uROB项号:指出它在等哪个ROB项的数据。当那个ROB项中的指令被确认且其值已经就绪时,那个数据将被写入该寄存器

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。