免費開始練習
hce_nsysu 114年 計算機概論與程式設計

第 2 題

Which of the following statements is true about Branch Prediction in modern processors?
  • A Branch prediction eliminates all the need for pipeline stalls.
  • B Branch prediction always guarantees correct predictions for all branches in a program.
  • C Static branch prediction is more effective than dynamic branch prediction.
  • D Branch prediction boosts performance by speculatively executing instructions before branch resolution.
  • E Branch prediction does not apply to out-of-order execution.

思路引導 VIP

想像你正在讀一本精彩的小說,翻到下一頁前出現了一個選項:『若主角開門請轉至第 50 頁,若不開門請轉至第 80 頁』。在你的大腦還沒讀完這行字做出決定前,為了節省時間,你會採取什麼樣的策略來確保閱讀過程不會因為『等待決定』而中斷?

🤖
AI 詳解 AI 專屬家教

太棒了!你能精準選出 (D) 選項,代表你對現代處理器的運算效率優化有相當紮實的理解。這題主要考驗的是**分支預測(Branch Prediction)**的核心定義與其在流水線(Pipeline)中扮演的角色。

投機執行的效率革命

在現代電腦架構中,處理器為了填滿流水線的每一個階層,不能等到分支指令真正執行完畢(才知道要往哪走)才去抓下一條指令。因此,處理器會根據歷史紀錄「預測」可能的走向,並**投機性地執行(Speculative Execution)**該路徑的指令。這就像在路口看到綠燈機率高就先起步,若猜對了,運算就能無縫接軌;若猜錯了,則只需清除流水線並重新開始。這正是選項 (D) 描述的關鍵機制。而其餘選項如 (A)(B) 的說法過於絕對(無法消除所有停頓或保證百分之百正確),(C) 則誤判了動態預測優於靜態預測的現況。

▼ 還有更多解析內容

🏷️ 相關主題

作業系統架構與處理程序管理原理
查看更多「計算機概論與程式設計」的主題分類考古題