https://www.bilibili.com/video/av19929862?p=17
https://www.icourses.cn/web/sword/portal/shareDetails?&cId=3266#/course/chapter


体系结构 Tomasulo实例
体系结构 Tomasulo实例
体系结构 Tomasulo实例
第1个周期
第1条LD指令流出,占用第1个Load部件,读出的值需要写到F6
体系结构 Tomasulo实例
第2个周期
第2条LD指令流出,占用第2个Load部件
此时第1条指令进入地址计算阶段
体系结构 Tomasulo实例
第3个周期
MULTD指令流出,占用Mult1部件。第一个操作数F2没有就绪,等待Load2部件的结果。第二个操作数F4是就绪的,直接读入
体系结构 Tomasulo实例
第4个周期
第1条LD指令访存完成,数据写入F6
SUBD指令使用加法保留站,有空闲单元,可以流出。目标操作数F8,标志由Add1产生结果。第一个源操作数F6已经就绪,写入Vj,第二个源操作数F2需等待Load2的结果
(LD指令取数据后,由公共数据总线写到F6,同时也写到需要Load结果的Add1部件)
体系结构 Tomasulo实例
第5个周期
第2条LD指令也完成了写,Load缓冲都空闲了
Ld的数据由公共数据总线写到F2和需要使用Load结果的加法和乘法部件
减法计算需要2个时钟周期,乘法计算需要10个时钟周期,分别开始计时
DIVD指令流出,第一个源操作数F0需等待乘法的结果,第二个源操作数F6已经就绪
体系结构 Tomasulo实例
第6个周期
加法指令流出,第一个操作数F8结果需等待减法产生,第二个操作数F2已经就绪,可以直接取数
减法计算还剩1个时钟周期,乘法计算还剩9个时钟周期
体系结构 Tomasulo实例
第7个周期
减法计算完成,下一周期该结果将被送到公共数据总线
体系结构 Tomasulo实例
第8个周期
减法结果送到F8,以及需要该结果的Add2部件
Add2部件所有源操作数就绪,进入计算阶段,需要2个时钟周期
体系结构 Tomasulo实例
第9个周期
加法计算还剩1个时钟周期,乘法计算还需6个时钟周期
除法还在等待操作数产生,不能执行
体系结构 Tomasulo实例
第10个周期
加法计算完成
体系结构 Tomasulo实例
第11个周期
加法计算结果写入F6
体系结构 Tomasulo实例
第12个周期
乘法继续计算
体系结构 Tomasulo实例
第13个周期
乘法继续计算
体系结构 Tomasulo实例
第14个周期
乘法继续计算
体系结构 Tomasulo实例
第15个周期
乘法计算完成
体系结构 Tomasulo实例
第16个周期
乘法结果写到F0,以及除法部件
除法指令的两个源操作数都就绪,进入计算,需要40个时钟周期
体系结构 Tomasulo实例
第55个周期
除法计算还剩1个时钟周期
体系结构 Tomasulo实例
第56个周期
除法计算完成
体系结构 Tomasulo实例
第57个周期
除法结果写入F10
体系结构 Tomasulo实例
至此,所有指令结束
指令顺序流出,乱序执行,乱序结束

相关文章:

  • 2021-07-08
  • 2021-11-30
  • 2021-12-25
  • 2021-05-21
  • 2022-12-23
  • 2022-01-28
  • 2021-09-14
猜你喜欢
  • 2021-12-26
  • 2021-05-18
  • 2021-05-31
  • 2021-06-05
  • 2021-10-03
  • 2021-11-03
  • 2021-12-28
相关资源
相似解决方案