什麼是微運算(Micro-operation)

CPU在內部將指令分解而成的簡單操作。也寫作μop。x86的CPU會把複雜指令拆成μop,以與RISC相同的高速方式執行。

日文名稱: マイクロオペレーション

「微運算(Micro-operation)」出現在1領域的2道練習題中(指令集與組合語言等)。

這個名詞所屬的領域: 指令集與組合語言

練習微運算(Micro-operation)的題目

關於x86的「add eax, [rbx]」這種運算指令可以直接使用記憶體上的值的方式,下列何者正確?

  1. A指令數可以減少,但一個指令中包含了記憶體的讀取與運算
  2. B是稱為載入/儲存架構的方式
  3. C使用記憶體的值的運算,必定與暫存器之間的運算花費相同的時間
查看答案與解析

正確答案:A. 指令數可以減少,但一個指令中包含了記憶體的讀取與運算

在x86中,一個指令就能「從記憶體讀取並相加」,同樣的處理在RISC-V中寫成lw與add兩個指令。雖然指令數與程式碼容易變小,但每個指令的工作量參差不齊,不易以管線處理。因此現在的x86 CPU,會在內部將這類指令拆分為載入與加法這樣的單純操作(微運算,micro-operation)來執行。

下列何者是對現在的高效能x86 CPU在內部如何執行複雜指令的正確說明?

  1. A所有指令都以軟體模擬器一個指令一個指令地執行
  2. B解碼指令後,拆分為類似RISC的單純微運算,再以管線執行
  3. C因為無法執行複雜的指令,所以由作業系統視為錯誤而停止
查看答案與解析

正確答案:B. 解碼指令後,拆分為類似RISC的單純微運算,再以管線執行

x86 CPU在前段的解碼器,將可變長度的複雜指令拆分為稱為微運算(μop)的單純操作,後段則以亂序(out-of-order)方式執行這些微運算。也有CPU具備μop快取,保存拆分過的μop,不必重新解碼。如此一來,在維持與舊軟體相容的同時,也運用了與RISC相同的高速執行技術。

解析中的「微運算(Micro-operation)」

出現「微運算(Micro-operation)」的題目(2題)

  1. 關於x86的「add eax, [rbx]」這種運算指令可以直接使用記憶體上的值的方式,下列何者正確?
  2. 下列何者是對現在的高效能x86 CPU在內部如何執行複雜指令的正確說明?

相關名詞

解碼器 分支延遲槽 立即值 呼叫者保存暫存器 呼叫慣例 定址模式 返回位址 框指標 堆疊指標 堆疊框

前往名詞解釋列表