1. Arm C1-SME2架构深度解析:矩阵计算与流式SVE模式
在人工智能和高性能计算领域,矩阵运算已成为核心计算范式。Arm最新推出的C1-Scalable Matrix Extension 2(SME2)架构,通过硬件级矩阵运算加速,为现代计算负载提供了突破性的性能提升。本文将深入剖析SME2的关键技术实现,包括其流式SVE执行模式、矩阵累加阵列设计以及多核资源共享机制。
1.1 SME2架构概览
SME2是Armv9.3-A架构的重要扩展,作为共享计算单元集成在C1-DynamIQ共享单元(DSU)集群中。其核心设计目标是解决传统SIMD架构在矩阵运算中的局限性:
- 可扩展矩阵存储:引入ZA二维累加阵列和ZT0查找表寄存器,单个ZA阵列可存储多达16x16的矩阵数据
- 混合精度支持:支持从8位整型到BF16浮点的混合精度计算,满足AI推理的多样化需求
- 多核共享架构:单个DSU集群可配置1-2个SME2单元,支持最多14个核心共享使用
典型配置如下图所示(以4核集群为例):
code复制[DynamIQ集群]
├── Core 0
├── Core 1
├── Core 2
├── Core 3
└── SME2单元
├── 矩阵执行单元
├── ZA累加阵列
└── L1数据缓存
关键提示:SME2单元通过AXI-Stream通道与核心通信,包括CMEREQTX/CMEREQRX(流式请求通道)和CMETLBTX/CMETLBRX(TLB转换请求通道)
1.2 流式SVE(SSVE)执行模式
流式SVE模式是SME2的核心创新之一,其技术特点包括:
1.2.1 执行模式切换
- SSVE模式:当PSTATE.SM=1时启用,执行SVE指令使用固定512位向量长度(SVL)
- 非SSVE模式:PSTATE.SM=0时,SVE指令在核心执行,使用128位向量长度(VL)
assembly复制SMSTART // 进入SSVE模式
... // 执行SVE/SME指令
SMSTOP // 退出SSVE模式
1.2.2 指令集支持
在SSVE模式下支持三类指令:
- SME专属指令:如
