計算機組織與結構›Ch5 管線化(Pipeline)第 42 題/共 58 題
42. Data Hazard、NOP、Code Reordering
#CC-05-042易Data HazardNOPCode Reordering
請回答管線化 CPU 上處理危障(hazards)技巧的相關問題。
(1) [5%] 假設一個五階段管線化資料路徑(five-stage pipelined datapath)沒有處理資料危障(data hazards)。在這種情況下,程式設計師應該在必要處插入 NOP 指令來自行處理危障。請在下列程式碼中加入 NOP 指令,讓它可以在管線化資料路徑上正確執行。
addi x10, x14, 10
sub x13, x10, x14
xor x4, x3, x5
(2) [5%] 承上題,程式碼重排(code reordering)是一種以軟體處理危障額外負擔的技巧。請把這個技巧套用在你前一題的答案上。額外負擔是否能透過程式碼重排完全消除?為什麼?
📄 成大112
▤完整推導請見《WH 資工筆記 · 計算機組織與結構》Ch5 管線化(Pipeline)