作者ezWang (ez王)
看板Grad-ProbAsk
標題[理工] 計組 control hazard 問題
時間Tue Jan 22 22:42:45 2013
想問一下解決control hazard那部分的問題
看張凡的書上是寫 add與bne 若有相依性
則至少要stall 一個cycle lw則至少要2個cycle (有forwarding的情況下)
lw $1 ,0($2) IF ID EX ME WB
stall **
stall **
bne $1,$2,L1 IF ID EX ME WB
這個部份我OK 因為剛好可以決定是否要不要jump
add $1,$2,$3 IF ID EX ME WB
stall **
bne $1,$2,L1 IF ID EX ME WB
想問一下從EX/MEM那個reg 前饋到ID那裡
但是我看了前面有forwarding unit的圖
都只前饋到ALU前的2個mux
但XOR不是要在ID前決定是否要跳?
是不是應該要多條線將結果(EX/MEM)拉回到reg-file? (當然Regwrite也要拉)
想問一下這部分的問題
還是我想錯了..
請各位指點一下~
btw 多問一下 這3種寫法
1.
lw $1 ,0($2) IF ID EX ME WB
stall **
stall **
bne $1,$2,L1 IF ID EX ME WB
2.
lw $1 ,0($2) IF ID EX ME WB
bne $1,$2,L1 ** ** IF ID EX ME WB
3.
lw $1 ,0($2) IF ID EX ME WB
bne $1,$2,L1 IF ID ID ID EX ME WB
他們表達的意思是一樣的嗎?
因為有時候看題目只有1個mem 有時也沒有這種限制
寫法有點亂..
上面3種 1,2若只有1個mem 寫法是錯誤的
第3種寫法則OK?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.74.101.16
※ 編輯: ezWang 來自: 211.74.101.16 (01/22 22:47)
推 jkw552403:第一個想法是對的 full forwarding就是指還有連到ID的fo 01/22 23:10
→ jkw552403:rwarding unit 不過好像都沒看過有畫這個的圖 01/22 23:10
推 BuliBuchi:就想像他有就好了 XD 01/22 23:11
→ ezWang:恩~謝謝~ 01/22 23:45