[理工] 104交大 計組題組C

看板Grad-ProbAsk作者 (揪立)時間7年前 (2017/01/12 23:51), 編輯推噓3(3019)
留言22則, 5人參與, 最新討論串1/1
http://i.imgur.com/orFCKwm.jpg
小弟想問一下 第三個cycle跟第四個cycle要怎麼在不插stall 跟執行NOP的情況下 讓beq 跟and指令分別都是執行IF 跟 ID呢? 圖的下面有寫到cycle圖 跟同學討論之後還是不知道有什麼方法可以不用stall 再麻煩各位大大幫忙解釋 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.203.74 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1484236282.A.46D.html

01/12 23:58, , 1F
有data harzard一定停。而且你的圖中的forwarding錯了
01/12 23:58, 1F

01/12 23:58, , 2F
,是sub的EXE結果forward給beq的ID使用
01/12 23:58, 2F

01/13 00:08, , 3F
嗯那個地方我可能畫錯,可是為什麼答案給的時候第四個cyc
01/13 00:08, 3F

01/13 00:08, , 4F
le不用插入stall呢?這樣有什麼方法可以達成?
01/13 00:08, 4F

01/13 00:19, , 5F
題目一開始有跟你講上面那圖是cycle3的狀況
01/13 00:19, 5F

01/13 00:53, , 6F
他應該是問說 第三個週期實際上是stall吧?
01/13 00:53, 6F

01/13 01:18, , 7F
題目有說在branch之後哪個cycle有stall cycle4的時候還在
01/13 01:18, 7F

01/13 01:18, , 8F
決定要不要跳而已 另外那題沒答案 應該要是8
01/13 01:18, 8F

01/13 01:20, , 9F
啊 我好像誤會你想問的了 請忽略我的留言
01/13 01:20, 9F

01/13 01:21, , 10F
cycle3的時候就是圖這樣 然後下一個cycle4的時候 stall前
01/13 01:21, 10F

01/13 01:21, , 11F
兩個指令 為了forwarding給id stage的beq
01/13 01:21, 11F

01/13 01:53, , 12F
想請問 3 4 cycle算是真的stall嗎? 因為beq要到ID階
01/13 01:53, 12F

01/13 01:53, , 13F
段才會發現自己跟前一個R type有dependency 要多等一
01/13 01:53, 13F

01/13 01:53, , 14F
個 cycle 下一個cycle時候再比較rs跟rt. 這樣要說第
01/13 01:53, 14F

01/13 01:53, , 15F
三個cycle是stall似乎不太對(畢竟題目都畫出來了)
01/13 01:53, 15F

01/13 09:42, , 16F
原po右下角的圖是對的,在第3 cycle時大家正常運作,
01/13 09:42, 16F

01/13 09:42, , 17F
但是第四cycle時beq and收到命令不要往前(beq指令因
01/13 09:42, 17F

01/13 09:42, , 18F
為hazard錯掉)所以第四個cycle是stall。stall是暫停
01/13 09:42, 18F

01/13 09:42, , 19F
的意思,所以不會有插入stall這種詞
01/13 09:42, 19F

01/13 10:08, , 20F
是stall第四個cycle
01/13 10:08, 20F

01/13 12:13, , 21F
可是第四個cycle有工作要作啊 怎麼能說是stall呢? 感
01/13 12:13, 21F

01/13 12:13, , 22F
覺像是一樣的指令跑了兩個周期
01/13 12:13, 22F
文章代碼(AID): #1OTwNwHj (Grad-ProbAsk)