6 下列何種方式無法減少程式在處理器執行過程中,各種 hazard 所造成的暫停(stall)的效果?
(A)減少處理器內部管線化(pipeline)的級數
(B)採用資料前傳(Data Forwarding)的技術
(C)利用編譯器(Compiler)對於程式指令做適當的排程
(D)減少暫存器檔案(register file)的大小

答案:登入後查看
統計: A(60), B(42), C(58), D(186), E(0) #1484859

詳解 (共 1 筆)

#2841233

管線危障(Pipeline Hazards):下一個指令不能在緊接著的時脈週期被執行,這樣造成管理無法全速運作。

若系統採用「管線」技術,當系統有「危害」(hazard)產生時就必須讓「管線動作暫停」(stall),以免造成程式執行錯誤。

(A)級數的提高也會導致數據和指令衝突的嚴重性提高,硬體的複雜性也隨之提高。

(B)資料危障(Data Hazards):一個指令的運算元必須參考前面指令的執行結果,但前面的執行結果卻還在管路中沒有執行完。解決方法->可以前送(forwarding)、旁傳(bypassing)

(C)利用編譯器(Compiler)對於程式指令做適當的排程

(D)暫存器堆(register file)是CPU中多個暫存器組成的陣列,通常由快速的靜態隨機讀寫存儲器(SRAM)實現。CPU的指令集架構總是定義了一批暫存器,用於在內存與CPU運算部件之間暫存數據。

減少暫存器檔案大小代表可存取常用的資料數量減少,錯誤

24
0