流水线技术(重要)
- 基本概念
- 流水线-流水线计算
- 例题:若指令流水线把一条指令分为取值、分析和执行三部分,且三部分的时间分别是取值2ns,分析2ns,执行1ns。那么流水线周期是多少?100条指令全部执行完毕需要的时间是多少?
- 流水线周期位执行时间最长的一段,为2ns
- 100条指令的全部执行完毕需要的时间为2+2+1+2 * 99 = 203;而实际的为(3+99)* 2 = 204;这两个答案没有一定的,但是大概率是理论公式;
- 流水线-流水线吞吐率计算
- 流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。计算流水线吞吐率的最基本的公式如下:
- 流水线最大吞吐率:
以上面的例题为例:TP=100/ 203; TPmax = 1/Δ t;
- 流水线-流水线的加速比
- 完成同样一批任务,不适用流水线所用的时间 与使用流水线所用的时间之比称为流水线的加速比。计算流水线加速比的基本公式如下:
同样是上面的例题为例:S= 500/203;加速比是越高越好。
- 流水线-流水线的效率
- 流水线的效率是指流水线的设备利用率,在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比。
E = (Δt + Δ tΔ + Δt + 3Δt) * 4 / (15Δt * 4 )