加深流水线有什么影响?
正面影响:流水线的级数越多,意味着流水线被切得越细,每一级流水线内容纳硬件逻辑越少,意味着运行更高的主频。主频越高,流水线的吞吐率越高。
负面影响:
(1)每一级流水线都由寄存器组成,更多的流水线级数意味着消耗更多的寄存器,产生更大的面积开销,功耗也会增大。
(2)每一级流水线需要握手,流水线的最后一级反压信号可能会一直串扰到最前一级造成严重的时序问题。
(3)流水线的取指阶段得知条件跳转的结果是到底跳还是不跳,因此只能进行预测,而到了流水线的末端才能通过实际运算得知该分支是真的该跳还是不该跳。如果发现真实的结果与预期的结果不一致,意味着预测失败,需要将所有的预取指令全部丢失。流水线越深,则意味着浪费和损失越严重;流水线越浅,则浪费和损失越少。