计算计算机的流水线执行时间
1.什么是流水线周期流水线应用过程中,会将需要处理的工作分为 N 个阶段,最耗时的那一段所消耗的时间为流水线周期。如:使用流水线技术执行100条指令,每条指令取指2ms,分析4ms,执行1ms,则流水线周期为4ms。2.计算流水线执行时间延续上面的场景,将 1 个任务的执行过程可分成 N 个阶段,假设每个阶段完成时间为 t,则完成该任务所需的时间即为 Nt。若以传统的方式,则完成 k 个任务所需的
1.什么是流水线周期
流水线应用过程中,会将需要处理的工作分为 N 个阶段,最耗时的那一段所消耗的时间为流水线周期。如:使用流水线技术执行100条指令,每条指令取指2ms,分析4ms,执行1ms,则流水线周期为4ms。
2.计算流水线执行时间
延续上面的场景,将 1 个任务的执行过程可分成 N 个阶段,假设每个阶段完成时间为 t,则完成该任务所需的时间即为 Nt。若以传统的方式,则完成 k 个任务所需的时间是 kNt;而使用流水线技术执行,且花费的时间是Nt+(k-1)t。也就是说,除了第 1 个任务需要完整的时间外,其他都通过并行,节省下了大量的时间。所以流水线的执行时间可通俗的表达为:
*流水线执行时间=第1条指令的执行时间+(n-1)流水线周期
注:n 代表需要处理的任务数量。
在考试时,又需要特别注意一个细节问题,流水线的执行时间计算,其实进一步可以分理论情况与实践情况两种不同的处理方式。下面以实例进行说明。
例:某计算机系统,一条指令的执行需要经历取指(2ms)、分析(4ms)、执行(1ms)三个阶段,现要执行 100 条指令,利用流水线技术需要多长时间?
理论上来说,1条指令的执行时间为:2ms+4ms+1ms=7ms。
所以:理论流水线执行时间=2ms+4ms+1ms+(100-1)*4=403ms。
而实际上,真正做流水线处理时,考虑到处理的复杂性,会将指令的每个执行阶段的时间都统一为流水线周期,即1条指令的执行时间为:4ms+4ms+4ms=12ms。 所以:实际流水线执行时间=4ms+4ms+4ms+(100-1)*4=408ms。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)