→ lingege32: 有data harzard一定停。而且你的圖中的forwarding錯了 01/12 23:58
→ lingege32: ,是sub的EXE結果forward給beq的ID使用 01/12 23:58
→ joeboy: 嗯那個地方我可能畫錯,可是為什麼答案給的時候第四個cyc 01/13 00:08
→ joeboy: le不用插入stall呢?這樣有什麼方法可以達成? 01/13 00:08
→ k2shouai: 題目一開始有跟你講上面那圖是cycle3的狀況 01/13 00:19
推 Astar5566: 他應該是問說 第三個週期實際上是stall吧? 01/13 00:53
→ aa06697: 題目有說在branch之後哪個cycle有stall cycle4的時候還在 01/13 01:18
→ aa06697: 決定要不要跳而已 另外那題沒答案 應該要是8 01/13 01:18
→ aa06697: 啊 我好像誤會你想問的了 請忽略我的留言 01/13 01:20
→ aa06697: cycle3的時候就是圖這樣 然後下一個cycle4的時候 stall前 01/13 01:21
→ aa06697: 兩個指令 為了forwarding給id stage的beq 01/13 01:21
推 Astar5566: 想請問 3 4 cycle算是真的stall嗎? 因為beq要到ID階 01/13 01:53
→ Astar5566: 段才會發現自己跟前一個R type有dependency 要多等一 01/13 01:53
→ Astar5566: 個 cycle 下一個cycle時候再比較rs跟rt. 這樣要說第 01/13 01:53
→ Astar5566: 三個cycle是stall似乎不太對(畢竟題目都畫出來了) 01/13 01:53
→ lingege32: 原po右下角的圖是對的,在第3 cycle時大家正常運作, 01/13 09:42
→ lingege32: 但是第四cycle時beq and收到命令不要往前(beq指令因 01/13 09:42
→ lingege32: 為hazard錯掉)所以第四個cycle是stall。stall是暫停 01/13 09:42
→ lingege32: 的意思,所以不會有插入stall這種詞 01/13 09:42
→ aa06697: 是stall第四個cycle 01/13 10:08
推 Astar5566: 可是第四個cycle有工作要作啊 怎麼能說是stall呢? 感 01/13 12:13
→ Astar5566: 覺像是一樣的指令跑了兩個周期 01/13 12:13