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、后端文档中保持一致标注。