[理工] 95台大計組!

看板Grad-ProbAsk作者 (andrew)時間6年前 (2019/11/19 07:52), 6年前編輯推噓4(403)
留言7則, 3人參與, 6年前最新討論串1/1
https://i.imgur.com/dHBtdRG.jpg
這題想好久還是卡卡的,能夠forwarding代表只有load-use需要stall,後面提到branch 在ID決定,所以也要stall,這我也認同,可是應該要stall兩個吧? bne和subi差一個指令,stall一個的結果,一個在Mem一個在ID,連暫存器都還沒讀取, 應該不可能救吧? 那唯一做法不是stall兩個,等到WB寫回嗎? 不知道我是否理解有誤? 然後我真的想不通為什麼BNE下面還要塞一個stall.....沒有data dependency吧? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.8.13.63 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1574121120.A.314.html

11/19 08:19, 6年前 , 1F
1.subi在ex就做完結果,但是到了mem才有forwarding unit
11/19 08:19, 1F

11/19 08:19, 6年前 , 2F
可以救,這之間需要stall一個cycle
11/19 08:19, 2F

11/19 08:21, 6年前 , 3F
bne後面還有一個IF抓進來的指令被flush掉也算一個stall
11/19 08:21, 3F

11/19 09:57, 6年前 , 4F
是只要bne放在最後一行,都要多一個stall嗎?
11/19 09:57, 4F

可是這樣不就是Mem forward ID,但forwarding應該無法在ID stage做吧, , 5F
可是這樣不就是Mem forward ID,但forwarding應該無法在ID stage做吧, 5F
※ 編輯: Aa841018 (39.8.13.63 臺灣), 11/19/2019 15:35:57

11/19 17:00, 6年前 , 6F
所以張凡有講在MEM到ID有再拉一條線去拯救在ID的分支指令
11/19 17:00, 6F

11/19 17:00, 6年前 , 7F
,不過我找不到電路圖
11/19 17:00, 7F
文章代碼(AID): #1TqowWCK (Grad-ProbAsk)