11. 内存顺序与一致性

11.1 范围

本章定义 PTO 虚拟 ISA 操作的架构可见内存顺序与可见性保证。

11.2 内存对象与顺序域

架构可见内存域包括:

  • Tile 本地值
  • 通过内存操作访问的全局内存视图
  • 影响可见性边界的同步状态

后端私有缓存/缓冲属于实现定义,但 MUST 满足架构可见顺序结果。

11.3 一致性基线

基线模型为“依赖有序一致性”:

  • 数据依赖与显式同步定义必须满足的可见顺序
  • 相互独立操作在内部 MAY 重排
  • 必需同步点 MUST 建立定义的可见性关系

11.4 顺序保证

一致性实现 MUST 保证:

  • 在必需同步/顺序点之后,生产者写入对依赖消费者可见
  • 显式依赖链中的内存操作保持链路顺序
  • TSYNC 与事件依赖定义的顺序在内存可见性上得到体现

11.5 未指定与实现定义行为

以下行为受架构限制:

  • 在定义域外访问或解释数据可能为未指定
  • 时序与缓存策略细节属于实现定义
  • 后端内存优化仅在不破坏可见顺序语义时允许

11.6 编程要求

程序 SHOULD:

  • 在生产者/消费者边界使用显式同步
  • 在无定义依赖时避免假设隐式全局顺序
  • 避免依赖未指定域外值

在非工具自动同步场景下,Manual 模式程序员 MUST 显式确保顺序。

11.7 诊断与一致性测试

后端 SHOULD 提供以下诊断:

  • 非法上下文中的顺序假设缺失
  • 不支持的内存顺序形式
  • 后端画像特定限制

一致性测试 SHOULD 覆盖代表性依赖模式下的有序可见性场景。