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 覆盖代表性依赖模式下的有序可见性场景。