流水线的效率(Efficiency)是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比。因此,流水线的效率包含有时间和空间两方面的因素。实际上,n个任务占用的时空区就是顺序执行n个任务所使用的总的时间T0。而用一条k段流水线完成n个任务的总的时空区为k Tk,其中,Tk是流水线完成n个任务所使用的总时间。则一条k段流水线的效率可以表示为:
    
它是计算流水线效率的一般公式。
  如果流水线的各段执行时间均相等,而且输入的n个任务是连续的,则一条k段流水线的效率为:
    
  从流水线的时空图中看,上式的分母部分是完成n个任务所用的时间与k个流水段所围成的总面积,而分子部分是n个任务实际上占用的有效面积。因此,通过时空图来计算流水线的效率非常方便。
  在流水线的各段执行时间均相等,输入给流水线的任务是连续的情况下,流水线的最高效率为:
    
  从这个关系式中可以看出,当n》k时,流水线的效率达到最大值1。这时,流水线的各段均处于忙碌状态。从时空图中看,每一块都是有效的。
从上面两个关系式中,很容易得出:
    
  当时钟周期Dt不变时,流水线的效率与吞吐率成正比。这就是说,为了提高流水线的效率而采取的措施,同时也提高了流水线的吞吐率。
同时可以得出:
    
  流水线的效率是流水线实际加速比S与它的最大加速比k之比。只有当流水线的效率达到其最大值,即E=1时,才能使实际加速比达到最大,即S=k。
如果流水线的各段执行时间不相等,连续执行n个任务时的流水线效率为:
    
  在这种情况下,流水线中除了瓶颈流水段之外,其它各个流水段都有空闲时间,这些流水段的效率没有得到充分发挥;因此,整个流水线的效率E也比较低。在图8.16和图8.17中采用的两种提高流水线吞吐率的方法,由于能够使流水线中的各个流水段始终处于忙碌状态,没有空闲时间。这一点从流水线的时空图中可以清楚地看到。因此,流水线的效率E也就显著提高了。
  在计算一条实际流水线的效率时,往往还要考虑流水线各段所使用的设备量不相等,或者流水线各段的价格不相等的情况。在上面给出的所有流水线时空图中,都默认每一个流水段的设备量或设备的价格都是相等的,因此,在纵坐标上每一个流水段都占有一个相等的长度单位。对于可能出现的每一个流水段的设备量或流水段的价格不等的情况,应该根据各个流水段所用的设备量或设备价格在流水线总设备中所占的比例,分别赋予不同的"权"值ai。在绘制流水线时空图时,要根据各流水段权值ai的大小,确定每个流水段在纵坐标上所占的长度,在这种情况下流水线的效率为:
    
即为: 
其中,

  上面给出了计算流水线吞吐率、加速比和效率的许多个公式,在实际分析一条流水线的性能时,要特别注意这些公式所适用的场合。其中,计算吞吐率、加速比和计算效率的最基本的公式是适合于各种流水线的。