流水线
流水线的基本概念
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度。
流水线计算
-
流水线周期为执行时间最长的一段 ;
-
流水线计算公式为:
1条指令执行时间+(指令条数-1)*流水线周期 (1)理论公式:(t1+t2+..+tk)+(n-1)*△t(使用概率80%) (2) 实践公式:(k+n-1)*△t 默认情况下优先考虑理论公式,如选择题,使用理论公式没有相应选项则在考虑实践公式。
例题:若指令流水线把一条指令分为取值,分析和执行三部分,且三部分的时间分别是取值 2ns,分析2ns,执行1s。那么,流水线周期是多少?100条指令全部执行完毕需要的时间是多少?
答: 流水线周期为执行时间最长的一段 由题意知三部分时间分别是取值 2ns,分析2ns,执行1s 其中时间最长的是2s,即流水线周期为2s。 100条指令全部执行完毕需要的时间: 理论公式:(t1+t2+..+tk)+(n-1)*△t 其中t1,t2..代表每段所用时间,n代表指令条数,△t代表周期 (2+2+1)+(100-1)*2=203s 实践公式:(k+ n-1)*△t 其中k代表段数,在此题中分为取值,分析,执行三段。 (3+100-1)*2=204s
流水线吞吐率计算
流水线的吞吐率(Though Put rate,TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。计算流水线吞吐率 的最基本的公式如下:
T
P
=
指
令
条
数
/
流
水
线
执
行
时
间
TP=指令条数/流水线执行时间
TP=指令条数/流水线执行时间
- 流水线最大吞吐率:
流水线的加速比
完成同样一批任务,不使用流水线所用的时间与使用流水线所用的时间之比称为流水线的加速比。计算流水线的加速比的基本公式如下:
S
=
不
使
用
流
水
线
执
行
时
间
/
使
用
流
水
线
执
行
时
间
S=不使用流水线执行时间/使用流水线执行时间
S=不使用流水线执行时间/使用流水线执行时间
流水线的效率
流水线的效率是指流水线的设备利用率。在时空图上,流水线的效率定义为n个任务占用的时空区与k个流水段总的时空区之比。
- 计算流水线效率的公式为:
E = n 个 任 务 占 用 的 时 空 区 / k 个 流 水 段 的 总 的 时 空 区 = T 0 / k T k E=n个任务占用的时空区/k个流水段的总的时空区=T~0/kT~k E=n个任务占用的时空区/k个流水段的总的时空区=T 0/kT k
致谢
感谢您阅读我的文章,如果我的文章对您有所帮助,请分享出去让更多的小伙伴知道;如果我的文章有误导或是存在错误,请指点更正,大家一起共同进步。谢谢!