→ 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