1

我对英特尔前端的高级理解如下。它大多是模糊的,可能是错误的。

  • 分支预测器确定要从中获取指令的下一个地址。

  • 有时来自后端的信号“分支 foo 被预测错误”,导致管道刷新和重新引导。

  • 取指令单元一次最多取 16 个字节

  • 这些经历了解码的各个阶段,直到最终,解码单元发出微操作,流向 RAT、ROB,然后是后端。

  • div但是,任何解码单元都不能直接发出与复杂指令类似的微操作。当解码单元检测到其中之一时,它会向微码定序器 ROM 发出信号,并从那里发出微指令,直到指令完成解码。

我的问题是:MSROM 可以发布分支吗?如果是这样,它们是如何工作的?由于这一切都发生在分支预测器的下游,它适用于(架构)指令,它怎么知道要走哪条路?它是否只是在发出分支后停止,直到后端完成执行它并且它知道条件是否为真?它有某种基本的静态预测吗?或者它实际上是由“真正的”分支预测器以某种方式提供的,就像实际的架构指令流一样?

4

0 回答 0