Re: [理工] 計組 branch stall的位置
※ 引述《sate1128 (小夯夯)》之銘言:
: 我最近在做題目的時候有個疑問
: Branch在ID判斷時
: 要和前面的R-type空一格 lw空兩格
: 但是詳細來看的話空的那個stall應該放在哪?
: 我舉一個例子:
: add後接bne 接下來bne predict 錯誤
: 我的想法是branch的stall接在它的IF之後
: http://i.imgur.com/Lsm84Xw.jpg
: 如此一來bne的ID有在add的EX後 拿到正確的值
: 之後的add(correct)的IF也接在bne的ID後 也很合理
: 但是有些題目好像把stall放在branch的ID後
: http://i.imgur.com/IV611EN.jpg
: 這樣add的EX的結果沒辦法給bne做判斷啊?
: 難道bne在stall還可以拿add的結果做運算?
: 但是這樣就沒有stall吧(暫停)
: 後面的add(correct)這樣接也蠻詭異
: 請問各位哪種才是對的?
: 如果是下面那種該怎麼解釋?
想問最後Ken大你畫的那張圖,為什麼第五個指令add 是從第九個cycle開始IF, 不是從第
18個cycle呀?同理還有最後一個指令add 為什麼是從cycle14 , 不是從cycle 13呢?
另外如果像答案(第(2)小題)所說的stall cycle 是 c4,c7,c8,c13, 那麼total number of cycles 不
應該是(5-1)+8+1+2+1+1=16 嗎?為什麼後面還要+兩個1 呢?
以上疑問
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.25.105
※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1482842981.A.3F0.html
→
12/27 21:08, , 1F
12/27 21:08, 1F
→
12/27 21:09, , 2F
12/27 21:09, 2F
→
12/27 21:10, , 3F
12/27 21:10, 3F
→
12/27 21:10, , 4F
12/27 21:10, 4F
→
12/27 21:11, , 5F
12/27 21:11, 5F
→
12/27 21:15, , 6F
12/27 21:15, 6F
→
12/27 21:15, , 7F
12/27 21:15, 7F
→
12/27 21:15, , 8F
12/27 21:15, 8F
→
12/27 21:17, , 9F
12/27 21:17, 9F
→
12/27 21:17, , 10F
12/27 21:17, 10F
推
12/27 21:18, , 11F
12/27 21:18, 11F
→
12/27 21:19, , 12F
12/27 21:19, 12F
→
12/27 21:20, , 13F
12/27 21:20, 13F
→
12/27 21:21, , 14F
12/27 21:21, 14F
→
12/27 21:22, , 15F
12/27 21:22, 15F
→
12/27 21:22, , 16F
12/27 21:22, 16F
→
12/27 21:23, , 17F
12/27 21:23, 17F
→
12/27 21:23, , 18F
12/27 21:23, 18F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):