x86 - 具有顺序管道的 CPU 中是否存在 ROB?
问题描述
我们知道 ROB 存在于具有乱序管道的 CPU 中,用于重新排序以乱序方式执行的 u 指令。谁能告诉我具有有序管道的 CPU 中是否存在 ROB?如果是,这个结构的职责是什么?
解决方案
不,按顺序执行流水线可以让指令在按顺序开始后乱序完成执行(尤其是通常允许加载这样做,让静态指令调度有助于隐藏加载延迟)。没有 ROB,所有这一切都是可能的。我认为,仅记分板寄存器写入就足以实现这一点,即使是让 ALU 指令和加载乱序完成。
AFAIK,拥有 ROB 只是必要的/值得的/对于可以开始无序执行指令的 CPU 有任何意义。因此名称 ROB = ReOrder Buffer。
(并且微架构通常也会跟踪 RS / 调度程序中尚未执行的指令。ROB 跟踪从发布到退休;RS 跟踪从发布到执行。这是使用术语,其中“发布”表示从前端分配指令-结束到乱序的后端。有人称之为“调度”。)
推荐阅读
- android - 程序类型已经存在:android.support.compat.R$attr
- java - 在测试之间重新设置 H2 数据库(即将 DB 重置为我的 SQL 文件)
- reactjs - 在组件初始渲染之前使用 React hook 运行 Mobx 方法
- python - 从外部库打印变量
- greenplum - 开源 Greenplum:从外部表中选择时 GPFDIST 错误“分段错误”
- git - 推送到先前创建的远程分支时出错
- jquery - 使用最终日期插件对数据表进行排序不起作用
- c# - 站点部署到 IIS 时未弹出 Azure AD 身份验证对话框
- java - 使用getResource在java中没有读取输入图像
- javascript - React:一个组件的多个 JSX 模板