[理工] 103中山計組 Flush指令數

看板Grad-ProbAsk作者 (Deron)時間7年前 (2017/01/10 00:31), 編輯推噓3(308)
留言11則, 3人參與, 最新討論串1/1
http://i.imgur.com/vRxS5K2.png
http://i.imgur.com/Y5qzt2D.png
想請問一下,第(1)小題的解答中 計算total cycle數 49 * (指令個數 + stall個數 + 沖刷個數) 這邊的沖刷個數為何是1? 題目給的條件: branches are resolved in MEM. branch is handled by predicting it has not taken. 我的理解是 在loop過程中 branch都是taken 那應該要等到MEM階段他才會發現猜錯了 這樣不是應該要沖刷前三個指令嗎? 照解答的意思 只沖刷一個指令的話 變成branch在ID階段就知道要不要跳了 這樣又跟題目給的 在MEM階段處理 矛盾... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.143.207.158 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1483979477.A.755.html

01/10 02:14, , 1F
大膽假設解答錯了@@
01/10 02:14, 1F

01/10 20:25, , 2F
這個問題我也問過,後來就...
01/10 20:25, 2F

01/10 20:25, , 3F
現在還是不太清楚,不過MEM階段決定還是stall 1 cycle吧
01/10 20:25, 3F

01/10 20:43, , 4F
我自己的理解是在MEM階段決定如果前面那個是R-type
01/10 20:43, 4F

01/10 20:43, , 5F
就不用stall,如果是lw就要stall一個cycle
01/10 20:43, 5F

01/10 20:44, , 6F
這題感覺題目出錯的機率比較大,因為在MEM階段決定的話
01/10 20:44, 6F

01/10 20:44, , 7F
dalayed branch slot要放三個指令耶...
01/10 20:44, 7F

01/10 20:47, , 8F
這題如果在MEM階段決定的話我算出來的總cycle數是501
01/10 20:47, 8F

01/10 20:47, , 9F
我也沒有很確定,但想看看有沒有人跟我算一樣的
01/10 20:47, 9F

01/10 20:53, , 10F
我的想法是在MEM階段決定的話,stall就只剩一開始的
01/10 20:53, 10F

01/10 20:54, , 11F
load-use,沖刷個數為3
01/10 20:54, 11F
文章代碼(AID): #1OSxhLTL (Grad-ProbAsk)