流水线

流水线的定义:

是指在执行多条指令重叠进行操作的一种准并行处理实现技术,各种部件同时处理时针对不同的指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。

流水线的周期、计算:

流水线周期:为执行时间最长的一段

流水线的计算公式为:

1条指令的执行时间 +(指令条数-1)×流水线周期

①理论公式:(t1+t2+.....tk)+(n-1)×▲t

②实践公式:(k+n-1)×▲t

流水线的计算公式为:

例:若指令流水线把一条指令分为:取指、分析和执行三个部分,且三部分的时间分别是取指2ns、分析2ns、执行1ns。那么流水线周期是多少?100条指令全部执行完毕需要的时间是多少?

答:流水线周期为:2ns

100条指令全部执行完毕需要的时间为(即流水线执行时间):

①理论公式:2ns+2ns+1ns+(100-1)×2ns=203ns;

②实践公式:(2ns+2ns+2ns+100-1)×2ns=204ns;

流水线--吞吐率(TP)的计算

是指在单位时间内流水线所完成的任务数量或输出的结果数量。计算公式如下:

TP=指令条数/流水线执行时间          如上的举例:TP=100/203

流水线最大吞吐率为:

TP最大值=lim(n/(k+n-1)▲t)=1/▲t    (▲t   流水线周期)    如上的举例:TP最大值=100/200=1/2

流水线的加速比

完成同样一批任务,不使用流水线所用的时间 与 使用流水线所用的时间 之比 称为 流水线的加速比。计算流水线加速比的公式如下:

S=不使用流水线执行时间/使用流水线执行时间    如上的举例:S=500/203    即 不使用流水线执行时间=(2+2+1)×100=500ns

流水线的效率

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

公式为:E= n个任务占用的时空区 / k个流水线的总的时空区 = T / KT

n个任务占用的时空区::(S1+S2+S3+S4)× 4个任务 =  (▲t + ▲t + ▲t + 3▲t)×4=24▲t 

k个流水线的总的时空区::15▲t ×4 = 60▲t 

你可能感兴趣的:(流水线)