数据流图与关键路径

数据流图

程序执行过程中,指令间的数据依赖关系构成了数据流图(Data Flow Graph)。这是一个有向图:

  • 节点:操作(指令)
  • :数据依赖关系

四类寄存器

类型说明特点
只读(Read-only)只作为源操作数不形成依赖链
只写(Write-only)只作为目标操作数不形成依赖链
局部(Local)循环内定义和使用每次迭代独立
循环(Loop)循环的跨迭代依赖形成关键路径

关键路径

关键路径(Critical Path)是数据流图中最长的一条路径,它:

  • 包含所有循环寄存器形成的依赖链
  • 决定了程序性能的下界
  • 对应

优化意义

  • 关键路径限制了并行度
  • 通过和可以打破关键路径限制
  • 目标是让程序接近

相关笔记:

链接到