免費開始練習
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) 所描述的典型控制冒險。

▼ 還有更多解析內容

🏷️ 相關主題

計算機組織結構與資料儲存原理
查看更多「計算機概論與程式設計」的主題分類考古題