Skip to content
难度中等(★★)
建议时长90分钟
本课难点
  • 流水线周期 Tp 取最长段(不是平均值)
  • 理论公式与实践公式的适用场景区分(先理论,选项对不上再实践)
  • 吞吐率/最大吞吐率的计算与单位换算

1.6 流水线技术

本课核心知识点手绘速记(SVG)

📝 学习目标

  • 理解流水线为何能提高部件利用率(准并行)
  • 掌握三个核心量:流水线建立时间、流水线周期、总执行时间
  • 会算吞吐率(Throughput)与最大吞吐率
  • 记住做题策略:默认用理论公式,若无选项再用实践公式(课堂提示)

🎯 知识点

1) 什么是流水线

把一条指令的执行过程划分为若干段(K 段),不同指令在不同段上“交叠执行”。

常见三段:

  • 取指(Fetch)
  • 分析/译码(Decode)
  • 执行(Execute)

课堂强调:流水线不是“齐头并进的完全并行”,而是“准并行”。

2) 流水线周期(Pipeline cycle)

  • 把一条指令划分为 K 段,每段耗时分别为 t1, t2, ..., tK
  • 流水线周期 Tp = max(t1..tK)(最长段决定节拍)

3) 流水线执行时间(理论公式)

执行 N 条指令:

T = (t1 + t2 + ... + tK) + (N - 1) * Tp

含义:

  • 第一条指令要走完整 K 段(建立时间)
  • 后面每条指令“每个周期完成一条”

4) 实践公式(当题目按“统一节拍”处理时)

有些题默认每段都扩展到同样的周期 Tp(存在空耗)。

T = K * Tp + (N - 1) * Tp
  = (K + N - 1) * Tp

课堂策略:

  • 先用理论公式,若结果不在选项中,再考虑实践公式。

5) 吞吐率与最大吞吐率

  • 吞吐率:单位时间完成任务数
TP = N / T
  • 最大吞吐率(流水线稳定后):
TPmax = 1 / Tp

🧠 难点与易错点

  • 易错1:流水线周期不是平均值,是最长段
  • 易错2:把 N 条指令总时间误写成 N * Tp
  • 易错3:忽略题目段数 K(有些题分 4 段/5 段)

🔑 关键词解释

  • 建立时间:第一条指令完成所需时间(理论:sum(ti))。
  • 排空时间:最后阶段退出流水线的尾部时间(体现在 N-1 部分)。

🔍 联想扩展

  • RISC 更适合流水线:定长、单周期、控制简单。
  • 流水线题常结合“取指/译码/执行”三段来描述。

🧪 例题(按难度)

简单(3题)

单选
指令流水线划分为 K 段,各段耗时分别为 t1~tK,则流水线周期 Tp 通常取:
单选
下列关于流水线的说法正确的是:
单选
在流水线稳定后,最大吞吐率 TPmax 的典型表达式是:

中级(3题)

例题1(课堂例:理论公式)

一条指令分为 3 段:取指 3Δt、分析 2Δt、执行 4Δt。采用流水线执行 10 条指令。

求总执行时间(理论公式)。

单选
选择正确结果:

例题2(最大吞吐率)

若某流水线周期 Tp=5ms,则最大吞吐率约为:

单选
选择最大吞吐率:
单选
若题目默认各段都按同一周期 Tp 执行(存在空耗),总执行时间更常用的表达式是:

困难(1题)

填空
仍以例题1为例(3 段:3Δt、2Δt、4Δt,执行 10 条指令)。若不采用流水线,按顺序执行每条指令耗时为 `3+2+4=9Δt`,则采用理论流水线后的加速比 S 约为:

📚 本课小结

  • Tp = max(ti)
  • 理论:T = sum(ti) + (N-1)*Tp
  • 实践:T = (K+N-1)*Tp(必要时再用)
  • TP=N/T,TPmax=1/Tp