問題如圖: https://i.imgur.com/MTG1Ok2.png
老師的算法是
IF stage : 15(PC) + 50(IM) = 65
ID stage : 20(Control) + 10 (Mux) + 15(Pipeline register) = 45
EX stage : 20(Forwarding unit) + 10(Mux) + 30(ALU) + 15(Pipeline register)=75
MEM stage : 50(DM) + 15(Pipeline register) = 65
WB stage : 10(Mux) + 20(Register File) + 15(Pipline Register) = 45
___________________________________________________________________________
我的寫法是說
IF stage : 15(PC) + 50(IM) + 15(Pipeline register) = 80
ID stage : 20(Control) + 10 (Mux) + 15(Pipeline register) = 45
EX stage : 20(Forwarding unit) + 10(Mux) + 30(ALU) + 15(Pipeline register)=75
MEM stage : 50(DM) + 15(Pipeline register) = 65
WB stage : 10(Mux) + 20(Register File) = 30
問題(一) : 為什麼IF stage 不用再加pipeline register的時間?
問題(二) : 關於pipeline的觀念
我印象中 每做完一個stage 會寫入Pipeline Register
所以 IF ID EX MEM 都會寫入右邊的Pipeline Register
只有WB 沒有Pipeline Register 要寫入才對
但是這題為什麼要算?!
感謝大大們QQ