3、AI芯片架构总览:从系统视角看AI芯片的组成
AI芯片并非单一功能的计算器件,而是一个由计算、存储、互联与控制四大子系统构成的复杂片上系统。当我们从系统视角审视AI芯片时,需要理解其核心矛盾:AI计算本质上是数据密集型任务,计算单元的速度提升远快于存储带宽和互联带宽的提升,因此架构设计的核心目标就是围绕数据流动来优化能效比(TOPS/W)和利用率。本章将从系统组成出发,深入剖析计算单元、存储层次、互联结构与控制逻辑的协同机制,并对比SIMD、MIMD、数据流与脉动阵列四种典型架构风格的设计哲学与适用场景。
3.1 计算单元:AI芯片的算力引擎
核心原理:计算单元是AI芯片执行矩阵乘法、卷积、激活函数等运算的物理载体。其基本构成是乘累加单元(MAC),一个MAC执行一次 a×b+c 运算。现代AI芯片将数百至数千个MAC组织成二维阵列,配合向量单元(处理激活、归一化等非线性运算)和特殊函数单元(如Softmax、LayerNorm硬件加速)。计算单元的设计核心在于:在有限面积和功耗预算下,最大化单位功耗的算力输出(TOPS/W)。
判断方法:评估计算单元设计优劣时,需关注以下关键指标:
- 算力密度:每平方毫米硅片面积能提供的MAC数量,先进制程下典型值为0.5~2 MAC/µm²。
- 数据位宽支持:是否支持INT8、FP16、BF16、FP32等多种精度,以及混合精度训练能力。
- 利用率:实际运行时的MAC利用率,受数据供给和调度策略影响,理想值应超过80%。
- 稀疏化支持:是否支持权重/激活稀疏跳过,可带来2~4倍有效算力提升。
实战案例:某AI推理芯片设计初期,团队在16nm工艺下规划了512个MAC的计算阵列。通过RTL仿真发现,当运行ResNet-50时,由于数据加载瓶颈,MAC利用率仅62%。通过引入双缓冲机制(Double Buffering)和更细粒度的数据分发策略,利用率提升至85%,等效算力提升37%,而芯片面积仅增加4%。
3.2 存储层次:数据供给的命脉
核心原理:AI芯片的存储层次设计遵循"容量-带宽-延迟"的权衡三角。从寄存器堆(KB级,延迟<1ns)到片上SRAM(MB级,延迟2~5ns)再到外部HBM/DDR(GB级,延迟>100ns),每一级存储的带宽和能耗差异巨大。片上SRAM的读写能耗约为外部DRAM的1/20,因此数据复用策略(Data Reuse)是存储设计的核心——尽可能让数据在片上被多次使用,减少对外部存储的访问。
操作流程:存储层次设计的关键步骤包括:
- 工作负载分析:统计目标模型(如Transformer、CNN)的权重、激活、中间结果的存储需求。
- 容量规划:确定片上SRAM总容量,通常为2~8MB,需覆盖单层计算的全部中间数据。
- 带宽匹配:计算单元所需的数据带宽(MAC数×频率×字节数),设计对应的SRAM端口数和总线宽度。
- 数据流优化:选择权重固定(Weight Stationary)、激活固定(Activation Stationary)或输出固定(Output Stationary)的数据流策略。
| 存储层级 | 典型容量 | 访问延迟 | 带宽 | 能耗/访问 | 主要用途 |
|---|---|---|---|---|---|
| 寄存器堆 (RF) | 256KB~1MB | <1ns | 极高 (多端口) | ~0.1pJ | 操作数暂存、中间结果 |
| 片上SRAM | 2~8MB | 2~5ns | 1~8TB/s | ~1pJ | 权重缓存、激活缓存、DMA缓冲 |
| L2 Cache | 8~32MB | 10~20ns | 500GB/s~1TB/s | ~5pJ | 多核共享数据、调度缓冲 |
| HBM2e | 16~64GB | >100ns | 1~3.2TB/s | ~20pJ | 模型权重、大数据集 |
| DDR5/LPDDR5 | 8~128GB | >150ns | 50~100GB/s | ~30pJ | 系统内存、备用存储 |
常见误区:许多设计者过度追求片上SRAM容量,而忽视了带宽匹配。实际上,对于卷积计算,数据复用率可达10~50倍,因此容量需求远小于带宽需求。盲目增加SRAM容量会占用大量芯片面积,反而降低计算密度。正确的做法是先分析数据复用模式,再确定容量与带宽的平衡点。
3.3 互联结构:数据流动的血管
核心原理:互联结构决定了数据如何在计算单元、存储层次和外部接口之间高效流动。AI芯片的互联设计面临三大挑战:高带宽(TB/s级)、低延迟(ns级)、低功耗(<1pJ/bit)。片上网络(NoC)采用路由节点和物理链路组成网络,支持多对多通信;而Crossbar(交叉开关)提供全连接的确定性延迟,但面积随端口数平方增长。
判断方法:选择互联拓扑时,需根据通信模式决定:
- Mesh/Grid拓扑:适合PE阵列间的邻近通信,扩展性好,但多跳延迟较高。
- Crossbar拓扑:适合广播和随机访问模式,延迟确定,但端口数超过16时面积急剧膨胀。
- 环形拓扑:适合流式数据,实现简单,但带宽受限于环上最慢节点。
- 混合拓扑:实际芯片常采用层次化设计,如局部Crossbar+全局Mesh。
经验提醒:在互联设计时,务必考虑拥塞控制机制。当多个PE同时向同一存储体发起访问时,会产生热点冲突。采用虚拟通道(Virtual Channel)和自适应路由算法,可有效缓解拥塞,但会增加约10%的面积开销。建议在架构探索阶段使用SystemC/TLM模型进行流量仿真,提前识别瓶颈。
3.4 控制逻辑:芯片的指挥中枢
核心原理:控制逻辑负责指令译码、任务调度、数据搬运(DMA)和功耗管理。AI芯片的控制方式分为集中式(单控制器)和分布式(多控制器协同)。集中式控制简单但扩展性差;分布式控制灵活但需要复杂的同步机制。现代AI芯片普遍采用"主控+从控"的层次化架构:主控CPU核负责任务级调度,从控微控制器(MCU)负责PE阵列的细粒度控制。
操作流程:控制逻辑的设计需完成以下工作:
- 指令集定义:设计专用的AI指令集,包括矩阵运算指令、数据搬运指令、同步指令等。
- 调度策略:实现静态调度(编译期确定)与动态调度(运行时决策)的混合机制。
- DMA引擎设计:支持多维数据搬运(2D/3D),减少CPU干预。
- 功耗管理:实现动态电压频率调节(DVFS)、时钟门控和电源门控。
3.5 架构风格对比:SIMD、MIMD、数据流与脉动阵列
核心原理:四种架构风格代表了不同的并行计算哲学。SIMD(单指令多数据)以一条指令控制多个处理单元执行相同操作,适合数据级并行;MIMD(多指令多数据)允许每个处理单元独立执行不同指令,适合任务级并行;数据流架构由数据到达触发计算,天然支持异步并行;脉动阵列则通过数据在PE间的规律流动实现极高的数据复用和能效。
| 对比维度 | SIMD | MIMD | 数据流 | 脉动阵列 |
|---|---|---|---|---|
| 控制方式 | 单控制器 | 多控制器 | 数据驱动 | 全局时钟同步 |
| 并行粒度 | 数据级 (DLP) | 任务级 (TLP) | 指令级 (ILP) | 数据级 (DLP) |
| 数据复用 | 中等 | 低 | 高 | 极高 |
| 硬件复杂度 | 低 | 高 | 中高 | 中 |
| 编译难度 | 低 | 中 | 高 | 中 |
| 典型代表 | GPU (NVIDIA A100) | 多核CPU (ARM A78) | Wave Computing | Google TPU |
| 能效比 (TOPS/W) | 2~5 | 0.5~1 | 3~8 | 5~15 |
| 适用场景 | 矩阵乘法、卷积 | 多任务、动态分支 | 稀疏计算、图神经网络 | 固定形状的GEMM |
案例拆解:以Google TPU v4为例,其核心是2688个脉动阵列PE,每个PE包含一个MAC。在运行BERT-Large推理时,通过脉动阵列的数据流水机制,权重数据在每个PE间依次传递,激活数据从阵列顶部注入,部分和沿对角线累加。这种设计使得每个权重被复用256次(对应输出通道数),大幅减少了对片上SRAM的带宽需求。实测数据显示,TPU v4的峰值算力达到275 TOPS(INT8),能效比约6 TOPS/W,相比同代GPU提升约2倍。
实战复盘:某创业公司设计AI推理芯片时,最初选择了数据流架构以追求极致能效。但在实际部署中,发现其编译工具链无法高效处理动态形状的Transformer模型,导致实际利用率不足50%。经过架构评估,最终改为"脉动阵列+可重构数据流"的混合架构:固定形状的GEMM运算走脉动阵列,动态部分走可重构数据流。这一调整使芯片面积增加12%,但实际性能提升80%,且编译时间从小时级降至分钟级。
常见误区:不要盲目追求单一架构的极致性能。实际AI工作负载呈现多样性:卷积神经网络(CNN)适合脉动阵列,Transformer的注意力机制需要灵活的数据流,而推荐系统则包含大量稀疏查找。优秀的AI芯片设计应提供多种计算模式,并通过软件调度实现异构计算资源的协同。此外,架构选择必须与编译器协同设计,否则硬件性能无法有效发挥。
总结复盘:AI芯片架构设计的本质是在计算、存储、互联和控制之间寻找最优平衡。从系统视角看,计算单元决定了理论峰值算力,存储层次决定了实际可达算力,互联结构决定了多核扩展能力,控制逻辑决定了调度效率和易用性。四种架构风格各有优劣:SIMD适合规则并行,MIMD适合复杂任务,数据流适合稀疏计算,脉动阵列适合高密度矩阵运算。实际产品设计应基于目标工作负载的特征,选择主导架构并辅以其他架构的补充,同时确保编译器和运行时系统能够充分挖掘硬件潜力。