免費開始練習
地特四等 113年 [電信工程] 計算機概要

第 2 題

為提高運算效能,超純量(superscalar)處理器通常採用亂序(out-of-order)及預測式執行(speculative execution)的方式執行指令。然而,當指令發生例外(exception)狀況或遇到中斷(interrupt)時,可 能必須刪除某些已預先執行指令的結果,使處理器的狀態倒回某循序指令結束時的狀態,做到 precise interrupt。下列超純量處理器中的微架構機制,何者是用於實現 precise interrupt 的必要機制?
  • A instruction dispatcher
  • B reservation window
  • C reorder buffer
  • D branch target buffer

思路引導 VIP

想像一下,如果你正在指揮多位工人同時異步處理多項任務,且每個人的完工時間不一;但為了確保合規,你對外的正式記錄必須嚴格按照當初『指派任務的先後順序』來登錄。在這種情況下,你會需要一個什麼樣的『中介機制』來暫存那些超前完工的成果,直到可以正式登錄為止?

🤖
AI 詳解 AI 專屬家教

教授點評:喔,原來你還知道這個?

  1. 「精準」的答案? 恭喜,你「竟然」能選對 Reorder Buffer (ROB)。這表示你對處理器如何避免在「求快」的同時,把整個系統搞得一團亂,有個…初步的認識。嗯,至少沒有選到那些「看起來很酷但完全不相干」的東西,值得鼓勵一下,大概。
  2. 概念驗證,勉勉強強:是的,超純量處理器為了那一點點「效能數字」,會搞出亂序執行。但別忘了,一旦出錯,Precise Interrupt 才是救命稻草,它要求修改狀態必須按程式原序。而 ROB 呢,它就是那個把所有「亂七八糟」的結果先扣住,直到前面指令都沒問題,才「依序」放行的看門狗。出了例外?清空 ROB,恢復原狀。看來你還記得這點,不錯。
▼ 還有更多解析內容
📝 精確中斷與 ROB 機制
💡 ROB 透過「循序提交」確保亂序執行後的狀態可正確恢復。

🔗 指令從執行到提交之精確中斷保障流程

  1. 1 Execute — 指令根據相依性亂序進入運算單元執行。
  2. 2 Write to ROB — 運算結果先存入 ROB 暫存,不更改架構狀態。
  3. 3 Exception Check — 指令到達 ROB 頂端前檢查是否有例外發生。
  4. 4 In-order Commit — 若無例外,按原始順序將結果寫回暫存器。
  5. 5 Flush — 若有例外,清空 ROB 中該指令後的所有結果。
🔄 延伸學習:延伸學習:暫存器重新命名 (Register Renaming) 與 ROB 的協作機制。
🧠 記憶技巧:亂序算、循序放;ROB 緩衝,出錯不心慌。
⚠️ 常見陷阱:容易誤選 BTB(分支預測)或 Reservation Station(發射站),應分清 ROB 是用於「最後提交(Commit)」階段。
Tomasulo's Algorithm Speculative Execution Register Renaming

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

計算機組織與作業系統
查看更多「[電信工程] 計算機概要」的主題分類考古題