2015-02-23 72 views
1

現在我試着動態地分配代碼,例如SSE,AVX等等。 在二進制文件中,所有將在執行時分派的代碼都將被捆綁。未定義的CPU指令沒有執行會導致錯誤?

我擔心在代碼路徑未定義CPU指令將不經由推測執行或他人的CPU導致意外行爲來執行。

然後,我有兩個問題。

  1. 通常,CPU會報錯嗎?
  2. 執行未定義的CPU指令會導致錯誤嗎?

回答

1

你是過慮。 投機執行被稱爲投機因爲CPU執行,只有當它認爲它是值得這樣做,但不能假定代碼不會造成任何CPU例外一些代碼。機器代碼執行具有嚴格的按順序指令的語義,所以CPU不能合法地從(邏輯上)當前指令指針的(推測性)未來報告問題。

相關問題