[理工] Data hazard 疑問

看板Grad-ProbAsk作者 (Transfat)時間7年前 (2017/01/13 20:08), 7年前編輯推噓0(0025)
留言25則, 3人參與, 最新討論串1/1
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

01/13 20:12, , 1F
NO , RAW 相依(1,3) RAW相依 (2,3)DATA HAZARD(2,3)
01/13 20:12, 1F

01/13 20:13, , 2F
2. DATA HAZARD , RAW 相依
01/13 20:13, 2F

01/13 20:14, , 3F
第一個還有WAW 相依(1,2)
01/13 20:14, 3F

01/13 20:30, , 4F
要先假設有沒有forwarding 才能談會不會產生hazard吧
01/13 20:30, 4F
假設有Forwarding的話,第二個(lw和sw) 有辦法被解決嗎 ※ 編輯: Transfat (140.112.25.105), 01/13/2017 20:32:40

01/13 20:33, , 5F
都可以談論吧@@ 只是有forwarding 之後還會不會產生
01/13 20:33, 5F

01/13 20:33, , 6F
又是另一回事了
01/13 20:33, 6F

01/13 20:33, , 7F
應該還是要stall一個cycle才能用forwarding解決
01/13 20:33, 7F

01/13 20:34, , 8F
因為$t5會在sw的EX stage被用到,就像典型的load-use
01/13 20:34, 8F

01/13 20:34, , 9F
data hazard一樣
01/13 20:34, 9F

01/13 20:36, , 10F
張凡上課有講到值得注意的一點是:如果現在改成
01/13 20:36, 10F

01/13 20:36, , 11F
sw $t5 16($t3)的話,那$t5在sw的MEM stage才會被用到
01/13 20:36, 11F

01/13 20:37, , 12F
其實可以單靠forwarding解決,可是課本沒介紹這條
01/13 20:37, 12F

01/13 20:37, , 13F
forwarding path,所以也許就要靠考試給的條件了
01/13 20:37, 13F

01/13 20:38, , 14F
阿如果都沒給的話(重點是這個)...我忘記他怎麼說的了QQ
01/13 20:38, 14F

01/13 20:39, , 15F
WAW 相依可以被forwarding 解決 ,若沒有也要考慮進
01/13 20:39, 15F

01/13 20:40, , 16F
去,最保險的方法還是畫圖比較好
01/13 20:40, 16F

01/13 20:40, , 17F
所以K大一開始說的是這種狀況嗎@@?
01/13 20:40, 17F

01/13 20:41, , 18F
還是說可以靠register前半段寫,後半段讀解決?
01/13 20:41, 18F

01/13 20:44, , 19F
我是記得紅算盤有寫啦@_@ 關於我說的部份
01/13 20:44, 19F
我比較想問的關於(1)是如果lw-use跟下下個指令有RAW,不過似乎不用用forwarding就可 以解決了(?)還有(2)我們寫sw $t4 16($t5), 這個$t5也算是Read吧(?) ※ 編輯: Transfat (140.112.25.105), 01/13/2017 20:52:09

01/13 20:57, , 20F
lw跟下下個指令有RAW應該還是要forwarding
01/13 20:57, 20F

01/13 20:57, , 21F
(2),算是read沒錯
01/13 20:57, 21F

01/13 20:59, , 22F
ADD 所要的值是 OR 出來的NEW 值 而不是LW的舊值吧
01/13 20:59, 22F

01/13 20:59, , 23F
所以要先處理 LW 與 OR 的 WAW相依關係 若沒差 就是
01/13 20:59, 23F

01/13 20:59, , 24F
阿阿對,忘記考慮OR了,ken大說的才是對的
01/13 20:59, 24F

01/13 21:00, , 25F
處理 OR 與 ADD 的 DATA HAZARD 問題
01/13 21:00, 25F
了解,感謝 ※ 編輯: Transfat (140.112.25.105), 01/13/2017 21:14:00
文章代碼(AID): #1OUCCvt4 (Grad-ProbAsk)