推测和预测之间的差异

enc*_*enc 15 cpu-architecture prediction speculative-execution

在计算机架构中,

(分支)预测和推测之间有什么区别?

这些似乎非常相似,但我认为它们之间存在微妙的区别.

Guf*_*ffa 22

分支预测由处理器完成,以试图确定在条件跳转之后执行将继续的位置,以便它可以从存储器读取下一条指令.

推测执行更进一步,并确定执行下一条指令的结果.如果分支预测是正确的,则使用结果,否则将其丢弃.

请注意,即使代码中没有实际的条件分支,也可以应用推测执行.处理器可以从通常将连续执行的若干指令确定结果,但是可以例如通过算术溢出中断来停止执行.