[理工] [計組]-Pipeline

看板Grad-ProbAsk作者 (生人勿近)時間16年前 (2009/10/17 17:49), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/2 (看更多)
從張凡老師的講義看到的 第二本的第21頁 MIPS code為 lw $1, 40($6) beq $2, $0, Label ;Assume $2=$0 sw $6, 50($2) Label: add $2, $3, $4 sw $3, 50($4) 在只有一個memory的five-stage pipeline 計算執行時間 答案給 Instruction | Pipeline stage -------------------------------------------------------------------------- lw $1, 40($6) | IF ID EXE ME WB beq $2, $0, Lbl | IF ID EXE ME WB add $2, $3, $4 | IF ID EXE ME WB sw $3, 50($4) | ** IF ID EXE ME WB 我想問的是 在pipeline的架構下 R-type指令應該不需要做memory access的動作 所以應該不用經過ME這個階段不是嗎? 或著sw應該也不用write back所以不會有WB吧? 那為什麼每個指令在計算的時候都是以五個階段做計算呢? 沒有使用到的階段為什麼不能夠跳過? 請板上大大指正一下我的盲點 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.118.136 ※ 編輯: quts 來自: 163.25.118.136 (10/17 17:49)

10/17 18:07, , 1F
pipeline沒有不使用的stage喔 那是multicycle
10/17 18:07, 1F

10/17 18:31, , 2F
沒有使用的話就bypass掉了, 但為了讓pipeline能夠繼續運作
10/17 18:31, 2F

10/17 18:33, , 3F
bypass不會影響其餘指令的運行
10/17 18:33, 3F

10/17 20:42, , 4F
所以即使我沒有使用那個stage我還是要有那段時間嗎?
10/17 20:42, 4F

10/17 20:43, , 5F
如果是這樣的話我大概知道我觀念錯在哪裡了
10/17 20:43, 5F

10/17 20:43, , 6F
謝謝各位
10/17 20:43, 6F

10/18 10:00, , 7F
Pipeline 不是以single cycle 基礎做的嗎 有兩個mem耶...
10/18 10:00, 7F

10/18 10:03, , 8F
而 multicycle 只有一個 menory
10/18 10:03, 8F
文章代碼(AID): #1AsPCCGu (Grad-ProbAsk)
文章代碼(AID): #1AsPCCGu (Grad-ProbAsk)