当流水线中各段的执行时间不完全相等时,流水线中就存在有"瓶颈"流水段。如图5.8(a)所示,在一条4段流水线中,第2段的执行时间是其它各段执行时间的3倍,即。在这种情况下的流水线时空图如图5.8(b)所示,图中的阴影部分表示该段流水线在这一段时间内是空闲的。因此,流水线存在有"瓶颈"流水段情况下的实际吞吐率为:
(5.10)
图5.8 各段延迟时间不相等的流水线
分母中的第一部分是流水线完成第一个任务所用时间,第二部分是完成其余n-1个任务所用的时间。
这时候流水线的最大吞吐率为:
(5.11)
对于图5.8所示的例子,流水线的最大吞吐率为:
(5.12)
从关系式(5.10)和(5.11)中看到,当流水线中各个流水段的执行时间不完全相等时,流水线的最大吞吐率与实际吞吐率主要是由流水线中执行时间最长的那个流水段决定的,这个流水段就成了整个流水线的"瓶颈"。从图5.8(b)中也可以看到,除了流水线中的"瓶颈"流水段一直处与忙碌状态外,其余各段有许多时间是空闲的,这实际上是一种资源的浪费。