【《硬件架构的艺术》读书笔记】06 流水线的艺术(1)

6.1 介绍

流水线通过在较长的组合逻辑路径中插入寄存器降低了组合逻辑延迟,增加了时钟频率并提高了性能。

 图中分别为插入流水线前后的逻辑。长路径插入寄存器后最大时钟频率明显增加,但是也带来了额外的开销,并且增加了系统延迟。

6.2 影响最大时钟频率的因素

 图中电路若TCQA、TSB、THB均为0,Fmax就是组合逻辑最大路径延迟的倒数。

 6.2.1 时钟偏移(Skew)

如图6.3,时钟到达B的时间可能相对于寄存器到达A的时间有一些延迟。这种传播延迟的细小差别,可能对整个系统时序产生无法接受的影响,这种现象也叫做“时钟偏移”(Skew)。

这里感觉说反了。。时钟延迟小于数据路径延迟,才是负时钟偏移。这时,时钟先于数据到达第二个寄存器,会导致提前触发寄存器,这样对保持时间更加友好,但是会导致建立时间更严苛。

6.2.2 时钟抖动(Jitter)

到达电路某一点连续时钟边沿之间间隔的变化称为时钟抖动tjit。Skew是可预测的,Jitter是不可预测的,只能给一个范围。

如图,Jitter会影响始终占空比。

 

图中红线是关键组合电路路径。

 

 根据时序图可以计算最大周期:

 

 

 组合延迟部分可以通过添加多个触发器减少,增加了电路操作的最大频率,显著提升电路的吞吐率。

6.3 流水线

流水线通过存储器件将时钟周期内关键路径分隔开,减少了关键路径延迟并使电路能以更高频率工作。流水线增加了各时钟计算能力,但是由于使用了存储器单元也增加了负载。

 

 

 可以计算总延迟:

 在插入两级流水线后:

 插入流水线之后的延迟:

加流水线后实现8输入加法,吞吐率增加到每个时钟周期计算一次8输入之和,总延迟为3个时钟周期。(增大了延迟,提高了吞吐率)

一般来说使用并行电路比复用电路达到同样的效果在面积和功耗方面的开支更大,因为使用了更多的触发器和额外逻辑,导致了更多连线。

6.4 解释流水线----------一个真实的例子

 这个例子比较简单,就是把各个工序分开,进行流水线生产。

6.5 来自流水线的性能提升

如图两个寄存器之间有一个大规模组合逻辑矩阵。

流水线延迟是指数据进入流水线的输入端到经过处理后输出所消耗的时间。

 

 把同样的电路插入n级流水线:

单级的周期:

延迟最大的流水线决定了最小周期:

总延迟就是时钟周期的n倍

理想情况下各级流水线延迟应当相等,使流水线中最大组合逻辑延迟相同。

所以最小可能的时钟周期为:

最终延迟:

电路速度增加公式可以用插入流水线之后的最大频率除以插入流水线之前的频率得到:

 

 

 

 由6.3和6.5可以得到:

设寄存器和时钟开支占总时钟周期百分比为k

 

 代入6.8:

 

 流水线的性能增加可以定义为:

 

 所以:

 

posted @ 2022-12-15 23:51  Magnolia666  阅读(181)  评论(0编辑  收藏  举报