流水线的概念

流水线是指在程序执行时,多条指令重叠进行操作的一种并行处理实现技术。

  • 各种部件同时处理是针对不同指令而言的。
  • 同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。

流水线 - 图1 image.png
注意:

  • 运用流水线并不能提高单条指令的运行速度
  • 流水线提高设备的利用率,而不是提高指令执行速度

流水线分类

指令流水线

计算机中一条指令的执行需要若干步,通常采用流水线技术实现指令的执行,以提高CPU性能。如上图所示。

运算操作流水线

计算机在执行各种运算操作时也可以应用流水线技术来提高运算速度

流水线 - 图3

流水线计算

流水线指令运行时间

image.png

image.png

image.png

流水线吞吐率

流水线的吞吐率(Though Put rate, TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。

计算流水线吞吐率的基本公式:
流水线 - 图7
其中:

  • n 为任务数
  • 流水线 - 图8 是处理完成 n 个任务所用的时间

![image.png](https://cdn.nlark.com/yuque/0/2020/png/561286/1579048547619-383ab835-3f31-4b6d-bf73-fd05355bac73.png#align=left&display=inline&height=103&name=image.png&originHeight=206&originWidth=750&size=65445&status=done&style=none&width=375)
答案:C

流水线的加速比

完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。

计算加速比的基本公式如下:
流水线 - 图9

:::success 流水线的加速比一般为大于1的数。 :::

image.png

流水线的效率

流水线的效率是指流水线的设备利用率。 在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比。

计算流水线效率的一般公式为:
流水线 - 图11

效率、吞吐率、加速比之间的关系

流水线 - 图12