Arm CoreLink CMN(CMN) 是 Arm Ltd. 为高性能 SoC(如服务器 CPU、AI 加速器和数据中心芯片)设计的 一致性 Mesh 互连架构。
它用于连接 CPU 核心、缓存、内存控制器、IO、加速器 等模块,并提供 缓存一致性(Cache Coherency)。
下面是一个 从入门到精通的 ARM CMN 架构解析。
一、什么是 ARM CMN
CMN(Coherent Mesh Network)是一种 片上网络(NoC)。
它的作用:
CPU核心
│
L3 Cache
│
Mesh Network (CMN)
│
Memory / IO / Accelerator
核心特点:
| 特性 | 说明 |
|---|---|
| Mesh 拓扑 | 网格互连 |
| Cache Coherency | 缓存一致性 |
| 高带宽 | 支持服务器级流量 |
| 可扩展 | 数十到数百节点 |
CMN 是 ARM Neoverse 平台的重要组件。
常见版本:
| 架构 | 发布时间 |
|---|---|
| CMN-600 | 第一代服务器互连 |
| CMN-650 | 改进带宽 |
| CMN-700 | 新一代数据中心 |
二、CMN 架构整体结构
CMN 是一个 二维 Mesh 网络:
RN-F ---- RN-F
│ │
HN-F ---- HN-F
│ │
SN-F ---- SN-F
Mesh 节点之间通过 双向链路通信。
网络组件主要包括:
Request Node (RN)
Home Node (HN)
Slave Node (SN)
Crosspoint (XP)
Directory
三、CMN 的核心节点
1 RN(Request Node)
RN 是 发起请求的节点。
常见类型:
| 类型 | 含义 |
|---|---|
| RN-F | Fully coherent |
| RN-I | IO coherent |
| RN-D | DMA |
作用:
CPU core
GPU
DMA
示例流程:
CPU Load
↓
RN-F
↓
Mesh Network
2 HN(Home Node)
HN 负责 地址管理和一致性协议。
功能:
地址解码
缓存一致性
目录管理
当 CPU 请求数据:
RN → HN
HN → 查目录
HN → 返回数据位置
HN 类型:
| 类型 | 含义 |
|---|---|
| HN-F | Home node + L3 cache |
| HN-I | IO home node |
3 SN(Slave Node)
SN 连接 外部资源:
Memory Controller
PCIe
IO devices
示例:
HN → SN → DDR Memory
4 XP(Crosspoint)
XP 是 Mesh Router。
负责:
数据路由
流量调度
链路控制
Mesh 结构示例:
XP --- XP --- XP
| | |
XP --- XP --- XP
每个 XP:
- 连接多个节点
- 转发数据包
四、CMN 数据流
典型 读请求流程:
CPU Core
↓
RN-F
↓
XP Router
↓
HN-F
↓
Directory Check
↓
Memory / Cache
如果数据在缓存:
Remote CPU Cache
如果没有:
DRAM
五、缓存一致性协议
CMN 支持 ACE / CHI 协议。
1 ACE
AMBA ACE
特点:
缓存一致性
共享缓存
Snoop机制
2 CHI
AMBA CHI
CHI 是 ARM 新一代一致性协议。
优势:
| 特性 | 说明 |
|---|---|
| 高带宽 | 数据中心级 |
| 多通道 | Request / Response |
| 低延迟 | 优化拓扑 |
CHI 消息类型:
REQ
RSP
DAT
SNP
六、CMN Mesh 拓扑
CMN 使用 2D Mesh。
示例:
XP --- XP --- XP
| | |
XP --- XP --- XP
| | |
XP --- XP --- XP
优点:
| 优势 | 说明 |
|---|---|
| 高扩展性 | 节点可扩展 |
| 高带宽 | 多路径 |
| 容错 | 备用路径 |
七、CMN 目录(Directory)
目录用于记录 缓存行位置。
示例:
Address 0x1000
↓
Directory
↓
Core3 Cache
当其他 CPU 请求:
Snoop Core3
这样避免 广播 snoop。
优势:
减少网络流量
降低延迟
八、CMN QoS 与流控
CMN 提供:
1 QoS
流量优先级:
CPU
GPU
IO
DMA
避免 IO 占满带宽。
2 Flow Control
机制:
Credit-based flow control
防止:
Buffer overflow
九、CMN 性能优化
关键优化参数:
1 Mesh 大小
4x4
8x8
更大 Mesh:
更高带宽
更高延迟
2 缓存分布
L3 Cache 通常分布在 HN-F。
CPU → nearest HN-F
减少访问延迟。
3 Directory
使用 directory-based coherence:
减少 snoop
降低流量
十、CMN 在服务器 CPU 中的应用
CMN 常见于 Arm Neoverse。
例如:
| CPU | 架构 |
|---|---|
| AWS Graviton | Neoverse |
| Ampere Altra | Neoverse N1 |
| NVIDIA Grace | Neoverse |
这些 CPU 都使用 CMN Mesh。
十一、CMN vs Ring Bus
传统 CPU:
Ring Bus
现代服务器:
Mesh Network
对比:
| 架构 | 优势 |
|---|---|
| Ring | 延迟低 |
| Mesh | 扩展性强 |
当核心数:
> 32 cores
Mesh 更适合。
十二、CMN 架构总结
CMN 的核心组件:
RN Request Node
HN Home Node
SN Slave Node
XP Router
Directory
数据路径:
CPU → RN → XP → HN → Memory
核心技术:
Mesh Network
Cache Coherency
Directory Protocol
CHI Interconnect
✅ 一句话总结
ARM CMN 是 面向服务器级 SoC 的一致性 Mesh 互连架构,用于连接 CPU、缓存、内存和加速器,并通过 CHI 协议和目录机制实现高性能缓存一致性通信。
如果你愿意,我可以再深入讲一个 “ARM CMN-700 微架构内部结构(XP router pipeline、CHI packet flow、snoop filter)”,这是芯片架构工程师级别的深度内容。