AI 芯片 ISA
AI 芯片又称 AI 加速器、NPU、TPU 等的指令集架构Instruction Set Architecture, ISA与传统通用 CPU如 x86、ARM或 GPU 的指令集存在本质区别。传统 CPU 针对复杂的标量分支逻辑设计GPU 针对大规模并发的矢量/并行计算设计而 AI 芯片的 ISA 则专门围绕大吞吐量矩阵运算、低精度算术INT8/FP16/BF16/FP8以及高带宽数据搬运进行深度定制。1. AI 芯片 ISA 的核心分类与设计范式根据指令执行与控制流的复杂程度AI 芯片的指令集主要分为以下几种主流范式① VLIWVery Long Instruction Word超长指令字代表架构Google TPU (v1~v4/v5)、寒武纪 Bang ISA、Habana Gaudi。核心思想将控制逻辑从硬件转移到编译器。一条极其庞大的指令如 128~512 位同时包含多个子操作指令如1 个矩阵计算 1 个向量计算 2 个数据搬运 1 个标量分支。优势消除了复杂的硬件指令译码器与乱序执行逻辑芯片面积和功耗极低计算密度极高。劣势对编译器要求苛刻。若编译器无法填满超长指令的所有槽位硬件就会产生 NOP空指令造成算力浪费。② DSA / CISC 风格的域专用指令集Domain-Specific ISA代表架构Google TPU 脉动阵列指令、华为 Ascend升腾DaVinci 架构。核心思想针对 Deep Learning 中的常见算子如MatMul、Conv2D、Softmax、LayerNorm直接设计粗粒度宏指令Macro-instructions。典型指令示例LOAD_WEIGHT从 HBM/DRAM 搬运权重到片上 Buffer。MATRIX_MUL触发硬件脉动阵列Systolic Array完成一个128×128128 \times 128128×128的矩阵乘法。VECTOR_ACT对输出矩阵应用 GELU/ReLU 激活函数。优势指令密度极高代码体积小大幅降低译码开销和指令发射频次。③ SIMD / SIMT 风格的扩展指令集代表架构NVIDIA CUDA PTX伪汇编/中语言、AMD CDNA (ROCm/GCN ISA)。核心思想继承 GPU 的单指令多线程SIMT模型但在传统矢量/标量指令集的基础上加入了专用的张量指令Tensor Core Instructions。典型代表PTXmma.sync.aligned.m16n8k16.row.col一条指令指挥一个 Warp32 个线程协同完成一个16×8×1616 \times 8 \times 1616×8×16的半精度矩阵乘累加。④ 开源扩展RISC-V Vector AI Extensions代表架构Esperanto (ET-SoC-1)、Tenstorrent (Wormhole/Blackhole)、平头哥玄铁。核心思想基于基础 RISC-V 标量指令集结合RVVRISC-V Vector Extension并扩充自定义的Matrix/Tensor Custom Instructions。优势开源自由无专利限制非常适合特定领域定制如端侧/边缘 AI 芯片。2. AI 芯片指令集与传统 CPU/GPU 的区别维度通用 CPU ISA (如 x86/ARM)通用 GPU ISA (如 NVIDIA SMM/SOT)AI 芯片 ISA (如 TPU/Ascend/Tenstorrent)操作数粒度标量 / 短向量(32/64 bit, SIMD 256/512 bit)矢量 / Warp 级矩阵张量 / 二维矩阵 / 块Tile控制流支持极强复杂分支预测、乱序执行中等Warp Divergence 串行化极弱或无依赖主机 CPU 调度专注于数据流内存访问机制硬件自动管理 Cache 隐式加载显式 Shared Memory 全局 L2 Cache显式 DMA 搬运与 SPMScratchpad Memory指令解码与发射极其复杂超标量、动态调度较复杂Warp Scheduler 轮询极简VLIW 静态调度或硬件队列推导3. AI 芯片 ISA 的关键硬件指令模块一套完整的 AI 芯片指令集通常划分为以下 4 个功能模块┌────────────────────────┐ │ AI Accelerator │ └───────────┬────────────┘ │ ┌────────────────────┬───────────────┴───────────────┬────────────────────┐ ▼ ▼ ▼ ▼ [ Compute - Matrix ] [ Compute - Vector ] [ Data Movement ] [ Control Sync ] • MatMul (GEMM) • Element-wise • DMA Load/Store • Event Wait/Notify • Conv2D • Reduction (Sum/Max) • Tensor Transpose • Barrier Sync • Systolic Push • Activation (GELU/Softmax)• Cross-Core Interconnect矩阵计算指令Matrix Compute直接驱动片上的 2D 脉动阵列或 Tensor Engine支持低精度输入如FP8/INT8/BF16与高精度累加如FP32。矢量/标量计算指令Vector/Scalar Compute用于处理无法归并为大矩阵的非线性算子如Softmax、LayerNorm、RoPE位置编码、Element-wise Add。数据搬运指令Data Movement / DMA由于 AI 芯片普遍采用SPMScratchpad Memory如 SRAM而非传统 Cache数据在 HBM/DRAM 和片上 Buffer 之间的流动必须由指令显式控制如异步 DMA 通信、Tensor 步长重排/Padding 挂载。同步与控制指令Synchronization Control负责计算单元与 DMA 搬运单元之间的Double Buffering双缓冲/乒乓机制同步如设置信号量Semaphore Wait/Post或流水线 Barrier。4. 软件栈与 AI 指令集的关系为什么程序员很少直接写 AI 汇编与 CPU/GPU 类似AI 芯片的 ISA 也是硬件与软件的界面。但在实际大模型开发中工程师很少手写 AI 芯片的汇编代码[ AI 框架 ] PyTorch / TensorFlow / JAX │ ▼ (Graph Level IR) [ AI 编译器前端 ] TorchDynamo / StableHLO / ONNX / MLIR │ ▼ (Kernel/Loop Level IR) [ AI 编译器后端 ] Triton / TVM / Halide / NVCC (PTX) / CISA / LLVM │ ▼ (Hardware ISA) [ AI 芯片硬件 ] NVIDIA Tensor Core / Google TPU VLIW / Ascend DaVinci ISA编译器的重度依赖AI 模型的算子形态变化极快。通常由MLIR、Triton、TVM或OpenXLA等 AI 编译器生成对应的 AI 芯片指令。硬件隐秘性除了 CUDA PTX 和开源 RISC-V 厂商外大部分商用 NPU/TPU 厂商的底层底层 ISA 并不对外公开属于 Non-public ISA开发者仅能通过厂商提供的C/C 风格算子库如 cuDNN、CANN、Ascend C或 AI 编译器接口进行交互。5. 总结与未来趋势随着大语言模型LLM与 Transformer 架构成为主导AI 芯片指令集正在朝着以下方向演进FlashAttention / PagedAttention 硬件级支持指令集开始显式支持融合 Attention 算子、Tile 级的 KV Cache 寻址与流水线。FP8 / FP4 稀疏化指令引入对 4-bit 浮点数以及 2:4 结构化稀疏矩阵计算的硬件指令支持。存算一体CIM指令直接在 Memory Array 内部触发计算进一步消除数据搬运的指令开销。