摘要:衡量流水线性能的主要指标有吞吐率、加速比和效率。另外,在流水线设计中,如何选择流水线的最佳段数也是一个非常重要的问题。
2.1.5【网络工程师考试知识点】流水线与并行处理
3.流水线性能
衡量流水线性能的主要指标有吞吐率、加速比和效率。另外,在流水线设计中,如何选择流水线的最佳段数也是一个非常重要的问题。
流水线的吞吐率:
吞吐率是指在单位时间内流水线所完成的任务数量或输出的结果数量。
公式中,n为任务数,Tk是处理完成n个任务所用的时间。它是计算流水线吞吐率的最基本公式。以下讨论满足某种特殊情况的流水线吞吐率。
在流水线各段的执行时间均相等,输入到流水线中的任务是连续的理想情况下,一条k段线性流水线完成n个任务需要的总时间为:
Tk=(k+n-1)△t
加速比:
完成一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。如果不使用流水线,即顺序执行所用的时间为T0,使用流水线的执行时间为Tk,则流水线的加速比为:
这是计算流水线加速比的基本公式。 如果流水线各个流水段的执行时间都相等,则一条k段流水线完成n个连续任务所需要的时间如上式所示。如果不使用流水线,即顺序执行这n个任务,则所需要的时间为:n · k · △t.因此,各个流水段执行时间均相等的一条k段流水线完成n个连续任务时的实际加速比为:
流水线效率:
流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比。因此,流水线的效率包含有时间和空间两方面的因素。实际上,n个任务占用的时空区就是顺序执行n个任务所使用的总的时间T0.而用一条k段流水线完成n个任务的总的时空区为k Tk,其中,Tk是流水线完成n个任务所使用的总时间。则一条k段流水线的效率可以表示为:
该式是计算流水线效率的一般公式。 如果流水线的各段执行时间均相等,而且输入的n个任务是连续的,则一条k段流水线的效率为:
流水线最佳段数:
从上面的分析中可以清楚地看到,增加流水线的段数,流水线的吞吐率和加速比都能提高;但是,用于在每一个流水段的输出端都必须设置一个锁存器(或称缓冲寄存器、闸门寄存器等);如果流水线段数过多,时钟周期很小,以至于与时钟偏移和锁存器的附加开销相当,会导致在一个时钟周期内没有足够时间用于有效工作,流水线也就失去了作用。
目前,一般处理机中的流水线段数在2段至10段之间,极少有超过15段的流水线。一般把8段或超过8段的流水线称为超流水线,采用8段以上流水线的处理机称为超流水线处理机。
编辑推荐:
2013年软考网络工程师考前试题及答案汇总
2013年计算机软考网络工程师基础知识讲义
软考备考资料免费领取
去领取