最近又重复习了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
这样想上面的理由好像不太合理呀
还请大大们不吝指教