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

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

ID:13077125

大小:465.50 KB

页数:5页

时间:2018-07-20

实验六  再定序缓冲(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实验内容及步骤首先要掌握ROB模拟器的使用方法。(见6.4节

2、)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以及浮点寄存器状态表的内容的变化情况。2.对于与上面相同的延迟时间和代码段,(1)给出在第5个时钟周期时,

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

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

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

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

7、时存放到ROB的第几号单元。(2)Load缓冲器Load缓冲器的内容如图6.6所示。它按队列方式工作,每次处理新的访存都是从队列头部取走一条。图6.6Load缓冲器该缓冲器各字段的意义如下:u名称:相应单元的名称;uBusy:“忙”标志,为“Yes”表示已被占用;u地址:访存的有效地址;u目的地:指出从存储器读来的数据要暂时存放到ROB的第几号单元;u值:存放从存储器读来的数据。(1)寄存器寄存器的内容如图6.7所示。图6.7寄存器的内容该缓冲器各字段的意义如下:uBusy:“忙”标志,为“Yes”表示将有指令要对该寄存器写入数据;uROB项号:指出它

8、在等哪个ROB项的数据。当那个ROB项中的指令被确认且其值已经就绪时,那个数据将被写入该寄存器

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

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

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