看板 Grad-ProbAsk 關於我們 聯絡資訊
lw $t3 4($1) or $t3 $t2 $t3 add $t4 $t2 $t3 這樣子lw的$t3和add的$t3會有data hazards嗎?(我覺得會有) ______________________________________________________________________ lw $t5 8($t11) sw $t4 16($t5) 這樣$t5 算是RAW hazard嗎?(我覺得算) 以上 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.105 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1484309305.A.DC4.html
ken52011219: NO , RAW 相依(1,3) RAW相依 (2,3)DATA HAZARD(2,3) 01/13 20:12
ken52011219: 2. DATA HAZARD , RAW 相依 01/13 20:13
ken52011219: 第一個還有WAW 相依(1,2) 01/13 20:14
kyuudonut: 要先假設有沒有forwarding 才能談會不會產生hazard吧 01/13 20:30
假設有Forwarding的話,第二個(lw和sw) 有辦法被解決嗎 ※ 編輯: Transfat (140.112.25.105), 01/13/2017 20:32:40
ken52011219: 都可以談論吧@@ 只是有forwarding 之後還會不會產生 01/13 20:33
ken52011219: 又是另一回事了 01/13 20:33
yupog2003: 應該還是要stall一個cycle才能用forwarding解決 01/13 20:33
yupog2003: 因為$t5會在sw的EX stage被用到,就像典型的load-use 01/13 20:34
yupog2003: data hazard一樣 01/13 20:34
yupog2003: 張凡上課有講到值得注意的一點是:如果現在改成 01/13 20:36
yupog2003: sw $t5 16($t3)的話,那$t5在sw的MEM stage才會被用到 01/13 20:36
yupog2003: 其實可以單靠forwarding解決,可是課本沒介紹這條 01/13 20:37
yupog2003: forwarding path,所以也許就要靠考試給的條件了 01/13 20:37
yupog2003: 阿如果都沒給的話(重點是這個)...我忘記他怎麼說的了QQ 01/13 20:38
ken52011219: WAW 相依可以被forwarding 解決 ,若沒有也要考慮進 01/13 20:39
ken52011219: 去,最保險的方法還是畫圖比較好 01/13 20:40
ken52011219: 所以K大一開始說的是這種狀況嗎@@? 01/13 20:40
yupog2003: 還是說可以靠register前半段寫,後半段讀解決? 01/13 20:41
ken52011219: 我是記得紅算盤有寫啦@_@ 關於我說的部份 01/13 20:44
我比較想問的關於(1)是如果lw-use跟下下個指令有RAW,不過似乎不用用forwarding就可 以解決了(?)還有(2)我們寫sw $t4 16($t5), 這個$t5也算是Read吧(?) ※ 編輯: Transfat (140.112.25.105), 01/13/2017 20:52:09
yupog2003: lw跟下下個指令有RAW應該還是要forwarding 01/13 20:57
yupog2003: (2),算是read沒錯 01/13 20:57
ken52011219: ADD 所要的值是 OR 出來的NEW 值 而不是LW的舊值吧 01/13 20:59
ken52011219: 所以要先處理 LW 與 OR 的 WAW相依關係 若沒差 就是 01/13 20:59
yupog2003: 阿阿對,忘記考慮OR了,ken大說的才是對的 01/13 20:59
ken52011219: 處理 OR 與 ADD 的 DATA HAZARD 問題 01/13 21:00
了解,感謝 ※ 編輯: Transfat (140.112.25.105), 01/13/2017 21:14:00