跳转至

指令流水线

概述

指令流水线

将指令执行过程分解为多个子过程,并行执行,提高CPU吞吐率。

流水线基本原理

流水线原理

多条指令在不同阶段同时执行。

流水线阶段

经典5级流水线

  • IF(取指): 从存储器取指令
  • ID(译码): 指令译码,读寄存器
  • EX(执行): 执行运算
  • MEM(访存): 访问存储器
  • WB(写回): 结果写回寄存器

流水线性能

性能指标

吞吐率

公式: TP = n / T

加速比

加速比

S = T串行 / T流水线

效率

效率

E = 有效时空区数 / 总时空区数

流水线相关

流水线相关

引起流水线停顿的因素。

结构相关

  • 多条指令同时使用同一资源
  • 解决: 资源重复设置

数据相关

数据相关

后续指令依赖前面指令的结果。

  • RAW(写后读)
  • 解决: 数据前递、暂停流水线

控制相关

控制相关

分支指令引起流水线断流。

  • 解决: 分支预测、延迟槽

参考资料