2015-02-23 70 views
1

现在我试着动态地分配代码,例如SSE,AVX等等。 在二进制文件中,所有将在执行时分派的代码都将被捆绑。未定义的CPU指令没有执行会导致错误?

我担心在代码路径未定义CPU指令将不经由推测执行或他人的CPU导致意外行为来执行。

然后,我有两个问题。

  1. 通常,CPU会报错吗?
  2. 执行未定义的CPU指令会导致错误吗?

回答

1

你是过虑。 投机执行被称为投机因为CPU执行,只有当它认为它是值得这样做,但不能假定代码不会造成任何CPU例外一些代码。机器代码执行具有严格的按顺序指令的语义,所以CPU不能合法地从(逻辑上)当前指令指针的(推测性)未来报告问题。

相关问题