流水线设计就是将组合逻辑系统地分割,并在各个部分(分X)之间插入寄存器,
并暂存中间数据的方法。目的是提高数据吞吐率(提高处理速度)。流水线缩短了在一个时钟周期内给的那个信号必须通过的
通路长度,从而可以提高时钟频率。例如:一个2X组合逻辑,假定每X延迟相同为Tpd,
1.
无流水线的总延迟就是2Tpd,可以在一个时钟周期完成,但是时钟周期受限制在2Tpd;
2.
流水线:每一X加入寄存器(延迟为Tco)后,单X的延迟为Tpd+Tco,每X消耗一个时
钟周期,流水线需要2个时钟周期来获得X一个计算结果,称为X次延迟,它要2*(pd+Tco)
,但是执行重复操作时,只要一个时钟周期来获得X后的计算结果,称为吞吐延迟(Tpd+Tco)
;可见只要Tco小于Tpd,流水线就可以提高速度。
推论:
增加流水线长度可以节省更多延迟,流水线越长,
X次延迟越大,如果流水线反复启
动,则会损失速度。
实现流水线的代价:
1.
消耗寄存器-就是消耗硅片面积(想想20X流水线的某XCPU吧)
2.
流水线长则消耗更多时钟周期。
(如果流水线反复启动,则会损失速度,想想某
CPUX的高频率低效能吧)
深入介绍一下CPU的原理>--
流水线原理应用
流水线(Pipeline)
流水线是现代RISC核心的一个重要设计,它极大地提高了性能。