侧边栏壁纸
博主头像
jack

日拱一卒无有尽,功不唐捐终入海

  • 累计撰写 25 篇文章
  • 累计创建 13 个标签
  • 累计收到 6 条评论

目 录CONTENT

文章目录

软考之系统架构师重点知识点梳理——流水线

jack
2023-08-09 / 0 评论 / 0 点赞 / 1,015 阅读 / 582 字 / 正在检测是否收录...

关键词

  1. 流水线周期
  2. 流水线执行时间
  3. 任务数量
  4. 吞吐率
  5. 加速比

流水线周期和执行时间的计算

定义:流水线周期 选择流水线执行 时间最长 的那个作为流水线周期

  1. 流水线执行时间如何计算?
    (1)理论公式(80%考试用这个):
    指令全部的执行时间 + (N - 1)x 流水线周期
    (2)实践公式:
    (K + N - 1) x 流水线周期,其中 k 指的是工序数,题目中工序为取址、分析、执行,工序数为 3
  2. 案例
    如果有 100 条执行需要执行,每条指令取值 3 纳秒,分析 4 纳秒,执行 1 纳秒,那么使用流水线后需要多少时间?
    解法1-理论公式:
    (3+4+1)+(100-1)x 4= 404
    解法2-实践公式:
    (3+100-1)x 4 = 408

流水线吞吐率计算

定义:流水线 吞吐率 指的是单位时间内,流水线所完成的指令数量。

  1. 如何计算吞吐率?
    公式:吞吐率 = 指令条数 / 流水线执行时间
  2. 最大吞吐率如何计算?
    公式:最大吞吐率 = 1 / 流水线周期
    3.** 案例**
    如果有 100 条执行需要执行,每条指令取值 3 纳秒,分析 4 纳秒,执行 1 纳秒,那么流水线吞吐率?最大吞吐率分别为多少?
    (1)吞吐率 = 100 / [ (3+4+1)+(100-1)x4]
    (2)最大吞吐率 = 1 / 4

流水线加速比

流水线加速比 = 不使用流水线执行时间 / 使用流水线执行时间

  1. 案例:如上
    [(3 + 4 + 1) x 100] / (3+4+1)+(100-1)x 4

流水线效率计算

公式:流水线的效率 = 被占用的时空格 / 总的时空格

  1. 案例:
    有 100 条执行需要执行,每条指令取值 3 纳秒,分析 4 纳秒,执行 1 纳秒。
    总的时空格 = 指令工序数 x 指令全部的执行时间 = 3 x 404 = 1212。
    被占用的时空格 = (3 + 4 + 1) * 100 = 800。
    所以流水线效率 = 800 / 1212
0

评论区