→ wsx02:你的圖 addiu和sw少畫了nop 09/20 21:22
→ wsx02:對耶..這樣addiu和sw有data hazard 09/20 21:22
推 ddczx:暫存器可在前半cycle寫入,後半cycle讀取,故WB跟ID可重疊 09/20 21:23
→ ddczx:另外,你的畫法是stall,nop是1個指令,故還是要畫出5個stage 09/20 21:26
推 wsx02:請問cycle 6時 addiu做WB 09/20 21:29
→ wsx02:可是sw在cycle 5就要ID解碼暫存器 這樣是data hazard嗎? 09/20 21:30
推 ddczx:沒,你看看原本的程式碼順序,應該要先sw再addiu 09/20 21:40
推 wsx02:恩 原本的程式碼sw和addiu沒有data hazard的問題 09/20 21:46
→ wsx02:可是題目說要rewrite 變成addiu在sw之前執行 09/20 21:46
→ wsx02:這樣不是就產生了data hazard? 謝謝! 09/20 21:46
推 ddczx:重寫後addiu然後sw是有hazard,不過那是故意的,sw抓的是addiu 09/20 21:55
→ ddczx:在WB前未-4的值,和原題目的先sw再addiu達到同效果 09/20 21:55
→ numin:我也有這個疑問,我是將原來code先解control hazard後, 09/20 21:55
→ numin:然後在判斷有無data hazard,在加nop,之後若有hazard也覺得 09/20 21:56
→ numin:怪怪的。 09/20 21:57
推 wsx02:謝謝 我搞懂了 感謝 09/20 21:59
→ numin:感謝d大講解,也謝謝w大提出相關問題一起討論,謝謝。 09/20 22:05
→ numin:我也懂了,原來在畫圖時,沒有注意到WB和ID可重疊,也更清楚 09/20 22:06
→ numin:後來有的hazard和原先hazard地方之疑問,謝謝。 09/20 22:07