[理工] 記組 data hazard

看板Grad-ProbAsk作者 (ecec780)時間5年前 (2020/08/18 00:41), 5年前編輯推噓3(309)
留言12則, 3人參與, 5年前最新討論串1/1
想請問第二小題的是否resolvable by forwarding 我畫出來的pipeline和forwarding跟解答不太一樣 我的想法是(I1, I3), (I4, I6)的data hazard因為register在同個cycle先寫入後讀取 所以在第5、第9個cycle時,I3的$t2和I6的$t4可以得到正確的值,不需forwarding 剩下的就如我畫出來的 不知道我是不是有什麼地方搞錯了 https://imgur.com/huDMHMS
https://imgur.com/CVy5kCT
https://imgur.com/42Lk8aQ
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.45.229 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1597682509.A.A46.html ※ 編輯: livingforest (59.115.45.229 臺灣), 08/18/2020 00:46:07

08/18 18:32, 5年前 , 1F
4,6 你想想看 add 什麼時候才會寫入暫存器? 1,3 我不清
08/18 18:32, 1F

08/18 18:32, 5年前 , 2F
楚 他一個是從記憶load 我不確定是不是會比讀暫存器還快
08/18 18:32, 2F

08/18 18:34, 5年前 , 3F
老師上課說先寫後讀是針對暫存器那邊,記憶體我記得沒說
08/18 18:34, 3F

08/18 18:34, 5年前 , 4F
過誰會先 但是牽扯到記憶體應該比暫存器還慢 所以我覺得
08/18 18:34, 4F

08/18 18:34, 5年前 , 5F
他會先拿暫存器舊值,然後才會被load進新值
08/18 18:34, 5F

08/18 21:04, 5年前 , 6F
add最快在EX產生正確的值,然後到MEM forwarding給s
08/18 21:04, 6F

08/18 21:04, 5年前 , 7F
w,可是5,6遇到load use需要stall一個cycle,sw在st
08/18 21:04, 7F

08/18 21:04, 5年前 , 8F
all的那個cycle時add將正確的值寫入暫存器sw再從暫
08/18 21:04, 8F

08/18 21:04, 5年前 , 9F
存器讀出,這樣不就不需要forwarding了嗎?
08/18 21:04, 9F

09/11 14:44, 5年前 , 10F
13 46間都剛好有一個load use所以會stall一個clock
09/11 14:44, 10F

09/11 14:44, 5年前 , 11F
所以那兩個都不用fowarding就可以拿到正確的值
09/11 14:44, 11F

09/11 14:45, 5年前 , 12F
在先寫後讀的前提下
09/11 14:45, 12F
文章代碼(AID): #1VEhDDf6 (Grad-ProbAsk)