【发布时间】:2018-12-01 16:47:24
【问题描述】:
我正在尝试详细了解当错误预测分支时 Skylake CPU 管道的各个阶段中的指令会发生什么,以及来自正确分支目标的指令可以多快开始执行。
因此,让我们将此处的两条代码路径标记为红色(已预测但未实际采用的路径)和绿色(已采用但未预测的路径)。所以问题是: 1. 在红色指令开始被丢弃之前,分支必须经过管道多远(以及它们在管道的哪个阶段被丢弃)? 2. 绿色指令多久可以开始执行(以分支到达的流水线阶段而言)?
我查看了 Agner Fogg 的文档和大量讲义,但没有发现这些要点。
【问题讨论】:
标签: x86 intel cpu-architecture branch-prediction speculative-execution