問題詳情

22. 以下何者不屬於管線化(Pipelined)處理器的危障(Hazard)?
(A)結構危障
(B)控制危障
(C)資料危障
(D)例外危障

參考答案

答案:D
難度:計算中-1
書單:沒有書單,新增

用户評論

小彥子老師】評論

三種Hazard:類型原因Structural Hazard(結構危障)硬體資源不夠多,導致在同一時間內要執行的多個指令無法執行。Data Hazard(資料危障)Pipeline中某一指令需要用到前面指令尚未產生的結果,也就是執行的指令所需的資料還無法獲得。Control Hazard(控制危障)Branch的結果尚未產生時,後續的指令就已經進入Pipeline,如果決定要branch到別的位置便會發生錯誤。所以又稱為Branch Hazard。其實都能透過暫停Pipeline來解決,意思是不要急著插入下一個指令,塞幾個空格進去,避開Hazard後再來好好執行原先要執行的指令,這個作法就稱為Stall。因為Structural的解決方式很簡單,只要把Insturction Memory跟Data Memory分開即可,所以以下討論Data Hazard跟Control Hazard的解決方法。