CPU Pipeline Fundamentals(CPU 流水线基础)

流水线通过指令级重叠将理想 CPI 从多周期的 ~5 降至 1,是现代 GHz 处理器的根基。

经典五级流水线

指令 k:   | IF | ID | EX | MEM | WB |
指令 k+1:     | IF | ID | EX  | MEM | WB |
功能
IF取指,PC+4
ID译码、读寄存器、冒险检测
EXALU、地址计算、分支决策
MEMLoad/Store
WB写回寄存器
实际 CPI = 1 + 结构冒险停顿 + 数据冒险停顿 + 控制冒险停顿

理想加速比 ≈ 级数 n;实际 < n(冒险 + 流水线寄存器开销)。

三大冒险 (Hazards)

类型原因典型对策
结构硬件资源冲突资源复制、stall
数据 (RAW)真依赖,后续需前序结果Forwarding/bypass;Load-use 仍须 1 stall
控制分支改变 PC分支预测、延迟槽、flush

Forwarding

将 EX/MEM 阶段结果前递到 EX 输入,消除多数 RAW stall。例外:lw 后立即使用仍须 stall(数据晚到)。

控制冒险

分支在 EX 才确定 → 错误路径指令需 flush。分支惩罚 ≈ 错误预测次数 × (流水线深度 − 1) → 驱动 Branch Prediction 投资。

与 AI 加速器的对比

相关页面

Citations

[1] arch-study-30d-day-08.md — RISC-V Ch.4 流水线(Day 8)