題目
第2跟第3小題:
http://i.imgur.com/Ht9ScNo.jpg
2.找出有forwarding跟沒有forwarding情況下所有的harzard
3.為了減少clock cycle time,把MEM stage一分為二,找出所有的hazard
答案
http://i.imgur.com/uqIcyfL.jpg
想問兩個問題
1.
第2小題,without forwarding那邊I2跟I4為何會有harzard? 因為I2跟I3已經有hazard,如果透過compiler在I2跟I3間插入兩個nop指令,I2跟I4的距離不就>2了嗎?
像這樣
add $2,$3,$3
nop
nop
add $1,$1,$2
sw $1,20($2)
還是說要看有沒有hazard以還沒插入nop的情況為準?
2.
第3小題為什麼在with forwarding的情況下只有I1跟I3有hazard,I2跟I4不會有嗎?
add $2,$3,$3在MEM2階段應該沒辦法透過forwarding去救sw $1,20($2)吧,MEM harzard不是要到WB階段經過multiplexer才把線拉去forwarding嗎?