未执行的未定义CPU指令会导致错误?

时间:2015-02-23 10:25:37

标签: cpu speculative-execution

现在我尝试动态调度代码,例如SSE,AVX等。 在二进制文件中,捆绑了将在执行时调度的所有代码。

我担心未在CPU中执行的代码路径中的未定义CPU指令会通过推测执行或其他原因导致意外行为。

然后,我有两个问题。

  1. CPU通常会在推测执行中报告错误吗?
  2. 未执行的未定义CPU指令会导致错误吗?

1 个答案:

答案 0 :(得分:1)

你太担心了。 推测执行被称为 speculative ,因为只有在认为值得这样做的情况下,CPU才会执行某些代码,但不能假设代码赢了&#39 ; t导致任何CPU异常。机器代码执行具有严格的顺序,逐个指令,语义,因此CPU无法合理地报告(推测)未来关于(逻辑上)当前指令指针的问题。