計算機組織與結構›Ch5 管線化(Pipeline)
第 42 題/共 58 題
◀ CC 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)
本章題號 · 41–58 / 58