计算机系统结构Tomasulo算法

参考资料:计算机体系结构-Tomasulo算法 - 知乎

视频讲解:计算机系统结构4.1 Tomasulo算法_哔哩哔哩_bilibili

算法实现结构

Tomasulo最大的特点就是通过借助重命名的思想消除了假数据冒险,从而提高了机器的乱序性能。 

例题

(1)给出当第一条指令完成并写入结果时,Tomasulo算法所用的各信息表中的内容。

(2)假设各种操作的延迟为: load:1个时钟周期 加法:2个时钟周期 乘法:10个时钟周期 除法:40个时钟周期 给出MUL.D指令准备写结果时各状态表的内容。

第一个时钟周期

题中指令队列只用了load缓冲器,没用到store缓冲器,故没画出来

LD指令,流出,占用第一个Load缓冲器,34+R2地址存放在A字段,目标寄存器是F6,还需要把寄存器状态表F6更改load1,建立起双向链接

寄存器可以提供这个寄存器中的数是立即数还是在等待其他指令的信息

第二个时钟周期       

                              

 Load指令解释如上

 第三个时钟周期

第一个Load指令在本周期执行完,即将在下一个周期写结果

MUL指令流入,进入乘法保留站

此时F2寄存器状态表为Load2,表示没有就绪,F4寄存器状态表为空,表示数已经就绪

保留站中,对于Vj和Qj,应该写入Qj(只有立即数才写入Vj),R(F4)已经就绪,取出来是立即数,应该放入Vj

MUL将写入F0,更新F0寄存器状态

第四个时钟周期

第一条LD指令写完结果后,退出Load1缓冲器,当你占用(退出)保留站或缓冲器时,需要改写寄存器状态表,此时F6从load1改写成M(34+R2)

M(34+R2):表示一个立即数,从34+R2地址取出

此时钟周期的Tomasulo算法所用的各信息表中的内容满足第一问所求

 MUL.D指令准备写结果时各状态表的内容(第十三个时钟周期)

  • 11
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值