唤醒阶段的推测唤醒(2)

Replay queue based replay

在这种方法中,指令被仲裁电路选中之后,会马上离开发射队列,但是它并不会消失,而是进入另外一个部件 Replay Queue(RQ)。

  • 由于指令被仲裁电路选中之后,会马上离开发射队列,所以这种方法大大减轻了对发射队列的压力,提高了它的利用效率,这些离开的指令会进入到RQ中。
  • 当一条指令被验证为执行正确时,例如当一条指令顺利地离开流水线的时候(也就是退休的时候),它就可以离开RQ,使用这种方法可以支持:
    • 由于load指令的D-Cache缺失引起的replay,
    • 也可以支持由于store/load违例、load/load违例等引起的replay。
  • 举例来说,当发现load指令的D-Cache缺失时,除了将和它相关的指令从流水线中抹掉,还需要将这些指令重新在RQ中唤醒,并向仲裁电路发出申请,而且它们相比于发射队列中的指令有着更高的优先级,这样可以将那些需要replay的指令重新送入到FU中执行。
  • 一般情况下,从流水线的Select阶段到执行阶段(Execute)需要的周期数越多(称这个时间为S-E的时间),需要replay的指令个数也就越多;
    • data capture的发射队列,S->E需要的周期数较少,可以使用issued queue based replay的方式;
    • non-data-capture的发射队列,S->E需要的周期数较多,可以使用replay queue based replay的方式;
      • 但是RQ需要的容量可能会很大,由于RQ也要参与仲裁和唤醒的过程,所以过大的RQ也会对处理器的速度产生负面的影响。

相关推荐

  1. Linux虚假唤醒

    2023-12-19 14:12:01       44 阅读
  2. linux下 罗技鼠标睡眠唤醒问题解决

    2023-12-19 14:12:01       19 阅读
  3. 美食节目:视觉盛宴如何唤醒沉睡食欲

    2023-12-19 14:12:01       16 阅读
  4. Wake Lock API:保持设备唤醒利器

    2023-12-19 14:12:01       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-19 14:12:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-19 14:12:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-19 14:12:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-19 14:12:01       20 阅读

热门阅读

  1. 一些数据库客户端工具(主要针对MySQL)

    2023-12-19 14:12:01       48 阅读
  2. miRMaker

    miRMaker

    2023-12-19 14:12:01      39 阅读
  3. android的bundle的常用函数(ChatGPT)

    2023-12-19 14:12:01       36 阅读
  4. PCL 已知同名点对计算旋转矩阵并对点云进行旋转

    2023-12-19 14:12:01       44 阅读
  5. WordPress WP_Query参数使用说明

    2023-12-19 14:12:01       32 阅读
  6. 【selenium】自动化使用 chrome 的 user-data-dir

    2023-12-19 14:12:01       41 阅读
  7. 2312llvm,01基本介绍

    2023-12-19 14:12:01       38 阅读
  8. react项目:Table表格数据转换为图片下载保存

    2023-12-19 14:12:01       43 阅读