1. 总览¶
1.1 设计目标¶
PTO 虚拟 ISA 的设计目标是:
- 在硬件代际演进中提供稳定架构契约
- 以 Tile 为中心定义语义,并显式定义有效区域行为
- 明确区分“架构定义”与“实现定义”
- 在内建接口/PTO-AS/IR/后端代码生成之间建立可验证桥接
1.2 PTO 的架构特征¶
与通用 GPU ISA 写法相比,PTO 将以下概念提升为一等架构对象:
- Tile 为主计算单位:指令语义在 Tile 域上定义。
- 有效区域优先:
Rv/Cv定义架构计算覆盖。 - 位置-意图模型:
Mat/Left/Right/Acc/Bias/Scale等类型参与合法性约束。 - 双编程模型:Auto 与 Manual 都是架构层公民。
- 事件中心同步:顺序通过事件与
TSYNC显式表达。
1.3 架构边界¶
架构层定义:
- 有效区域内可观察的指令结果
- 必须满足的顺序与同步语义
- 对用户和工具链可见的合法性边界
架构层不定义:
- 微架构调度细节
- 片上布局的具体实现
- 后端特定优化策略
后端差异 MUST 以“实现定义约束”形式记录。
1.4 权威来源¶
PTO 权威来源:
- 单条指令语义:PTO ISA 参考
- 公共 API 签名:
include/pto/common/pto_instr.hpp - 汇编文法:PTO-AS 规范 与
docs/assembly/PTO-AS.bnf
本章节用于将这些来源组合为完整的虚拟 ISA 契约。
1.5 指令族分类¶
PTO 指令族按以下层次组织:
- 同步与资源绑定
- 逐元素与标量/Tile 运算
- 归约/扩展运算
- 内存搬运(
GM <-> Tile)与索引内存操作 - 矩阵/向量矩阵运算
- 布局与数据搬运变换
- 不规则与复杂操作
指令族契约在 manual/07-instructions_zh.md 定义。
逐条语义仍以 docs/isa/*_zh.md 为准。
1.6 兼容性原则¶
- SHOULD 优先采用增量演进而非破坏性变更。
- 破坏性架构行为变更 MUST 包含显式版本策略与迁移说明。
- 实现定义行为 MUST 在手册、IR、后端文档中保持一致标注。