跳转至

指令级并行

流水线也是一种指令级并行的形式,指令级并行(ILP)指的就是指令之间存在的潜在并行性

流水线和指令级并行的关系?

流水线的指令级并行方式是他们的执行过程重叠起来了

ILP则要在流水线的基础上进一步讨论:

  • 如何让更多指令同时推进
  • 如何减少冒险带来的停顿
  • 如何突破单发射流水线的性能上限

目录:

  • 动态调度
  • Tomasulo算法
  • 动态分支预测
  • 转移历史表
  • 转移目标缓冲器
  • 基于硬件的前瞻执行
  • 多指令流出技术
  • 基于静态调度的多流出
  • 基于动态调度的多流出
  • 超长指令字技术
  • ...
  • 循环展开和指令调度
名相关 name dependence

WAR: Write After Read (指应该先读后写)

WAW: Write After Write

寄存器重命名来消除
I1: add r1, r2, r3
I2: sub r1, r4, r5

内部重命名为

I1: add p10, r2, r3
I2: sub p11, r4, r5

看习题中、、、