看板 Grad-ProbAsk 關於我們 聯絡資訊
剛剛在想一題 branch 指令的data forwarding問題 假設是在ID階段決定分支是否發生 假設指令執行順序如下: add $3,$2,$1 beq $2,$3,addr 那beq有2個stall的原因 如果是一般forwarding的情況 , 因為沒有支援從EX階段forwarding給ID階段的path 所以有2個stall 如果題目有說full forwarding , 表示有支援從EX階段forwarding給ID階段的path 所以只有1個stall 請問我的想法有錯嗎?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.0.42.10
christianSK:看起來沒錯, 如果沒有full forwarding 09/26 21:16
christianSK:則要到wb-stage beq才拿的到reg的值 09/26 21:16
christianSK:如果是有full forwarding 09/26 21:17
christianSK:雖然add 到exe-stage的時候 beq也在ID-stage 09/26 21:17
christianSK:但是因為要等add exe完成才拿的到所以要一個stall 09/26 21:17