目录
1、概念
2、图解
3、算法
3.1、时间算法
3.2、吞吐率
1、概念
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。
各种部件同时处理是针对不同指令而言的,它们可以同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的执行速度。
相关参数:
- 流水线执行时间计算
- 流水线吞吐率
2、图解
比如三条指令,执行三次,依照人类的执行顺序应该是
实际上,计算机会将一类的命令归集,指令1三次,指令2三次,指令3三次
计算机实际执行过程中,因为三条指令调用的部件并不相同,因此它们实际上是留有空闲时间的
在流水线规划中,不同部件虽然并非真正并行,只是在部件1执行第二次指令1时,让部件2执行第一次指令2,减少了部件的空余时间,减少整体消耗的时长
3、算法
3.1、时间算法
流水线技术是有时间算法的。
流水线的周期,是执行时间最长的一段,视为t。
举例说明,指令1时长为1ms,指令2时长为9ms,指令3时长为4ms,则流水线周期即为9ms。
由此可知,理论上,可以将流水线技术的时间计算分为两部分,第一部分即是全部指令第一次执行完毕的时间,即t1+t2+t3(全部指令的首次执行时间)的时间和后面(n-1)*t(后续以周期计算的剩余时间)。
流水线计算公式为:
- 理论公式:(t1+t2+t3......+tk)+(n-1)*t,k为指令总数,t为流水线周期
- 实践公式:k*t +(n-1)*t,k为指令总数,t为流水线周期
- 若是理论公式结果选项没有,才用实际公式计算
3.2、吞吐率
流水线的吞吐率是指(TP)在单位时间内流水线所完成的任务数量或输出的结果数量。
公式如下:
TP=指令条数÷流水线时间
最大吞吐率为:流水线周期的倒数