第一部分:架构与汇编基础¶
这一部分介绍汇编程序员可见的 Ascend 910B 结构、配置字、数值边界、掩码/地址语义和架构周期模型。周期表用于排布分析,不等同于芯片实测性能。
目标名称¶
| 项目 | 值 |
|---|---|
| LLVM/Clang triple | hiipu64-hisilicon-cce |
| Vector 代码目标 | dav-c220-vec |
| Cube 代码目标 | dav-c220-cube |
| 通用架构代号 | dav-c220 / V220 |
| 指令宽度 | 32 bit |
| 指令对齐 | 4 byte |
| 目标文件字节序 | little-endian |
dav-c220-vec 面向 Vector/AIV 代码生成,dav-c220-cube 面向 Cube/AIC 代码生成。二者共享 Scalar、控制流和部分搬运能力,但可用 builtin、指令后缀及调度路径并不完全相同。
程序员需要掌握的五件事¶
- Scalar 负责地址、循环、条件和控制寄存器。
- Vector 主要在 UB 上进行逐 lane 运算。
- Cube 从 L0A/L0B 读取矩阵块并向 L0C 累加。
- MTE 在 GM、L1、L0 与 UB 之间异步搬运和转换布局。
- 跨流水线的数据依赖必须由事件或屏障明确表达。
建议依次阅读 架构与执行模型、Xs/描述字/Cube shape、数值语义、MASK/VA 与访存、地址与数据对齐和周期与冲突。