计算机体系结构--记分牌算法

   日期:2020-12-26     浏览:160    评论:0    
核心提示:记分牌记分板是一种硬件机制,它通过在操作数可用且没有危险条件阻止的情况下立即执行指令来维持每周期一条指令的执行速率。它用四个阶段:ID1,ID2,EX,WB代替ID,EX,WB每个指令都要经过记分板,在记分板上构建数据依赖关系的记录(对应于指令发布)。假设具有记分板的系统具有多个功能单元,其状态信息报告给记分板。如果记分板确定一条指令不能立即执行,它将执行另一条等待指令,并继续监视硬件单元的状态,并决定该指令何时可以继续执行。记分板还决定指令何时可以将其结果写入寄存器(危险检测和解决集中在记分

记分牌

  • 记分板是一种硬件机制,它通过在操作数可用且没有危险条件阻止的情况下立即执行指令来维持每周期一条指令的执行速率。
  • 它用四个阶段:ID1,ID2,EX,WB代替ID,EX,WB
  • 每个指令都要经过记分板,在记分板上构建数据依赖关系的记录(对应于指令发布)。
  • 假设具有记分板的系统具有多个功能单元,其状态信息报告给记分板。
  • 如果记分板确定一条指令不能立即执行,它将执行另一条等待指令,并继续监视硬件单元的状态,并决定该指令何时可以继续执行。
  • 记分板还决定指令何时可以将其结果写入寄存器(危险检测和解决集中在记分板中)。

记分牌结构

指令执行过程

  1. Issue(ID1):如果用于该指令的一个功能单元是空闲的,并且没有其他活动指令具有相同的目的寄存器,则记分板向该功能单元发出该指令并更新其内部数据结构。这里解决了结构和WAW的危害。(这取代了传统MIPS流水线中ID级的一部分)。
  2. Read operands(ID2):记分板监视源操作数的可用性。当没有较早的活动指令写入源操作数时,源操作数是可用的。当所有源操作数可用时,记分板告诉功能单元从寄存器中读取所有操作数(不支持转发)并开始执行(此处动态解决原始危险)。这就完成了ID。
  3. Execution(EX):功能单元在接收到操作数时开始执行。当结果准备就绪时,它通知记分板(取代MIPS中的EX,MEM)。
  4. Write result(WB):一旦记分板感测到某个功能单元完成了执行,它就检查WAR危险,并在需要时停止完成指令,否则写回就完成了。

记分牌的构成

  • 指令状态:指令处于4个步骤中的哪一个。

  • 功能单元状态:表示功能单元(FU)的状态。
    每个职能单位有九个字段:
    -Busy:指示单元是否忙
    -Op:在单元中执行的操作(例如,+、-)
    -Fi:目标寄存器
    -Fj,Fk源寄存器编号
    -Qj,Qk产生源寄存器Fj,Fk的功能单元
    -Rj,Rk指示Fj,Fk就绪时间的Rj,Rk标志
    (在操作数可读取后设置为“是”)

  • 寄存器结果状态:指示哪个功能单元将写入每个寄存器,如果存在一个。当没有挂起的指令将写入该寄存器为空。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服