关键词
- 流水线周期
- 流水线执行时间
- 任务数量
- 吞吐率
- 加速比
流水线周期和执行时间的计算
定义:流水线周期 选择流水线执行 时间最长 的那个作为流水线周期
- 流水线执行时间如何计算?
(1)理论公式(80%考试用这个):
指令全部的执行时间 + (N - 1)x 流水线周期
(2)实践公式:
(K + N - 1) x 流水线周期,其中 k 指的是工序数,题目中工序为取址、分析、执行,工序数为 3 - 案例
如果有 100 条执行需要执行,每条指令取值 3 纳秒,分析 4 纳秒,执行 1 纳秒,那么使用流水线后需要多少时间?
解法1-理论公式:
(3+4+1)+(100-1)x 4= 404
解法2-实践公式:
(3+100-1)x 4 = 408
流水线吞吐率计算
定义:流水线 吞吐率 指的是单位时间内,流水线所完成的指令数量。
- 如何计算吞吐率?
公式:吞吐率 = 指令条数 / 流水线执行时间 - 最大吞吐率如何计算?
公式:最大吞吐率 = 1 / 流水线周期
3.** 案例**
如果有 100 条执行需要执行,每条指令取值 3 纳秒,分析 4 纳秒,执行 1 纳秒,那么流水线吞吐率?最大吞吐率分别为多少?
(1)吞吐率 = 100 / [ (3+4+1)+(100-1)x4]
(2)最大吞吐率 = 1 / 4
流水线加速比
流水线加速比 = 不使用流水线执行时间 / 使用流水线执行时间
- 案例:如上
[(3 + 4 + 1) x 100] / (3+4+1)+(100-1)x 4
流水线效率计算
公式:流水线的效率 = 被占用的时空格 / 总的时空格
- 案例:
有 100 条执行需要执行,每条指令取值 3 纳秒,分析 4 纳秒,执行 1 纳秒。
总的时空格 = 指令工序数 x 指令全部的执行时间 = 3 x 404 = 1212。
被占用的时空格 = (3 + 4 + 1) * 100 = 800。
所以流水线效率 = 800 / 1212
评论区