跳转至

Ascend 910B 汇编开发手册

本手册面向需要查看、编写或内联 Ascend 910B AI Core 指令的开发者,目标工具链为 bisheng,后端 triple 为 hiipu64-hisilicon-cce,处理器型号为 dav-c220-vecdav-c220-cube

文档分为三个部分:

  1. 架构与汇编基础:程序员可见的执行单元、存储层次、寄存器、机器字和同步模型。
  2. bisheng 使用指南:Ascend C 输出汇编、独立汇编、机器码、目标文件和 NPU 内联汇编。
  3. 完整指令参考:210 个机器格式、520 个已编码语法组合(覆盖 132 个指令 ID)、46 个立即数字段、逐指令周期与 185 个 SPR 编码。

五分钟开始

Ascend C 输出 Vector 汇编:

./bisheng \
  -target hiipu64-hisilicon-cce \
  -Xclang -target-cpu \
  -Xclang dav-c220-vec \
  -O2 -S kernel.c -o kernel.s

查看独立汇编的机器码:

./bisheng -cc1as \
  -triple hiipu64-hisilicon-cce \
  -target-cpu dav-c220-vec \
  -filetype asm -show-encoding \
  -o - kernel.s

典型输出:

VADD.s16 [X0], [X1], [X2], X3, MASK
// encoding: [0x0c,0x11,0x80,0x85]

字节按小端顺序显示,因此对应 32 位机器字 0x8580110c

适用范围

本手册把“c220 汇编器接受”“仅机器格式”和“设备实测”严格分开。没有公共文本形式的名称及内部保留项不能直接作为汇编源码使用;架构周期也不能冒充硬件实测值。

推荐阅读路线

  • 第一次接触:架构概览 → 汇编代码格式 → Ascend C 输出汇编。
  • 编写独立 .s:寄存器与存储空间 → 独立汇编与机器码 → 操作数与格式类。
  • 编写内联汇编:NPU 内联汇编 → 同步与内存依赖 → 对应指令族。
  • 查询指令:直接使用站点搜索,或进入相应指令族页面。