3. 状态与类型¶
3.1 范围¶
本章定义 PTO 虚拟 ISA 操作可见的架构状态模型以及类型契约。
3.2 架构状态模型¶
架构层抽象以下概念状态:
- Tile 值及其元数据(包含有效区域元数据)
- 标量值与立即数属性
- 全局内存视图与地址
- 同步/事件相关的可见顺序状态
后端内部临时状态不在本章范围内,除非其影响架构可观察行为。
3.3 类型类别¶
PTO 虚拟 ISA 的类型类别包括:
- Tile 类值(
!pto.tile<...>) - 内存/全局视图(
!pto.memref<...>或等价类) - 标量整型/浮点/index 类
- 用于同步依赖的事件/token 类
每个指令族 MUST 定义每个操作数/结果位置可接受的类型类别。
3.4 Tile 合法性维度¶
Tile 合法性受以下维度约束:
- 元素类型(
dtype) - 形状与有效区域兼容性
- 位置-意图角色(
Mat/Left/Right/Acc/Bias/Scale等) - 布局与对齐约束(后端支持子集)
虚拟 ISA 定义合法性接口,具体支持集合由后端画像定义。
3.5 有效区域语义¶
有效区域是架构一等语义:
- 语义定义仅作用于声明的有效域索引
- 有效域之外值在未明确说明时为未指定
- 多输入操作 MUST 定义域兼容规则
标准记号使用 Rv 与 Cv 表示有效行/有效列。
3.6 属性契约¶
指令属性(例如比较模式、舍入模式、变换模式)MUST 定义:
- 类型与取值域约束
- 默认行为(如存在)
- 对语义与合法性检查的影响
- 无效取值的诊断要求
3.7 诊断要求¶
类型/状态验证诊断 SHOULD 包含:
- 操作数位置
- 期望类型类别与实际类型类别
- 相关合法性维度(dtype/layout/location/shape)
- 面向 CI 稳定性的确定性错误标识