最近又重複習了pipeline部分
突然冒出一個疑問
可能是問題太蠢了所以爬不到有人問過的文章
只好上來請各位專家釋疑
問題:
pipeline架構下
WB階段會回寫Register File所用到的register number
其決定來源為
Instruction的[20:16]rt與[15:11]rd,
以及
Control讀入[31:26]op後所產生的RegDst控制信號
這三者在ID階段都已經產生出來
為何還要都pass到EX階段才決定出最後的register number
若在ID階段就先產生出來 那ID/EX register就可以省下 5+1 bits
粗略看起來會在Control產生信號後多一個Mux的時間
難道是因為Control+Mux的時間會>Register File access time
所以才捨棄的嘛@@?
但pipeline架構裡通常是由其他存取時間更長的stage來決定cycle time
這樣想上面的理由好像不太合理呀
還請大大們不吝指教