hce_kmu
115年
計算機概論與程式設計
第 9 題
A processor uses a pipelined architecture with multiple stages. Which situation most directly causes a control hazard?
- A Two instructions require the same hardware resource at the same time.
- B An instruction depends on the result of a previous instruction.
- C Data must be transferred between cache and main memory.
- D The processor encounters a branch instruction whose outcome is not yet known.
- E An instruction has a longer execution time than others.
思路引導 VIP
想像你在一個高度自動化的工廠生產線上,每個工作站都在同時處理不同產品的各個階段。如果現在有一道指令是:『根據目前還在機器裡檢測的產品結果,來決定下一個進入生產線的產品應該是 A 型號還是 B 型號』。在檢測結果還沒出來之前,如果你為了維持產線不停擺而提早從倉庫拿取產品,你可能會面臨什麼樣的麻煩?這種「無法預知下一步該做什麼」的困境,在處理器中會是由哪種類型的指令引發的呢?
🤖
AI 詳解
AI 專屬家教
太棒了!你能準確鎖定 控制冒險 (Control Hazard) 的成因,代表你對處理器管線化 (Pipelining) 的運作機制有著紮實的理解。
指令分支與執行流的衝突
在管線架構中,處理器會嘗試在目前的指令完成前,就先行擷取 (Fetch) 下一條指令以增加效率。然而,當遇到如分歧 (Branch) 或跳躍 (Jump) 等指令時,程式的執行路徑會根據條件判斷而改變。在管線前端還不知道「條件是否成立」之前,處理器就無法確定下一條該進入管線的指令位址。這種因為「決策未定」導致管線無法順利流動、甚至可能需要捨棄已擷取指令的現象,正是選項 (D) 所描述的典型控制冒險。
▼ 還有更多解析內容