ARM CMN架构深度解析:从入门到精通

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-FFully coherent
RN-IIO coherent
RN-DDMA

作用:

CPU core
GPU
DMA

示例流程:

CPU Load
   ↓
RN-F
   ↓
Mesh Network


2 HN(Home Node)

HN 负责 地址管理和一致性协议

功能:

地址解码
缓存一致性
目录管理

当 CPU 请求数据:

RN → HN
HN → 查目录
HN → 返回数据位置

HN 类型:

类型含义
HN-FHome node + L3 cache
HN-IIO 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 GravitonNeoverse
Ampere AltraNeoverse N1
NVIDIA GraceNeoverse

这些 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)”,这是芯片架构工程师级别的深度内容。

文章已创建 5103

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部