看板 Grad-ProbAsk 關於我們 聯絡資訊
從張凡老師的講義看到的 第二本的第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)
nowar100:pipeline沒有不使用的stage喔 那是multicycle 10/17 18:07
bennylu:沒有使用的話就bypass掉了, 但為了讓pipeline能夠繼續運作 10/17 18:31
bennylu:bypass不會影響其餘指令的運行 10/17 18:33
quts:所以即使我沒有使用那個stage我還是要有那段時間嗎? 10/17 20:42
quts:如果是這樣的話我大概知道我觀念錯在哪裡了 10/17 20:43
quts:謝謝各位 10/17 20:43
yesa315:Pipeline 不是以single cycle 基礎做的嗎 有兩個mem耶... 10/18 10:00
yesa315:而 multicycle 只有一個 menory 10/18 10:03