Instruction-Level Parallelism(指令级并行)

ILP = 单指令流中可并行执行的指令数。超标量处理器每周期发射多条指令,突破流水线 CPI = 1 下限(→ IPC > 1)。

依赖类型

类型别名可否消除
真依赖 (RAW)Read After Write不可 — 必须等待
反依赖 (WAR)Anti-dependence可 — 寄存器重命名
输出依赖 (WAW)Output dependence可 — 寄存器重命名

ILP 上限受 程序依赖图硬件资源(功能单元、寄存器端口、发射宽度)双重约束。

静态 vs 动态多发射

VLIW/EPIC (静态)Superscalar (动态)
调度者编译器硬件
硬件复杂度
编译器复杂度
代表ItaniumIntel Core, Apple M
弱点Cache miss、分支不可编译时预测面积/功耗

VLIW 未统治通用计算:动态事件(Cache miss、分支)使编译期调度信息不完整。

动态调度概述

与 AI 基础设施

路径ILP 策略
通用 CPU硬件开采 ILP,功耗高
GPU线程级并行 (TLP) 为主,warp 内 SIMT — 见 GPU SIMT Architecture
WSE/LPU编译器/spatial 调度,不依赖 OoO ILP

相关页面

Citations

[1] arch-study-30d-day-09.md — H&P Ch.3 ILP 入门(Day 9)