Compute Express Link(CXL)是 2019 年由 Intel 牵头、联合多家厂商发布的开源高速互连协议,目标是在 PCIe 物理层之上建立“缓存一致、内存语义”的统一链路,把 CPU、加速器、内存、存储乃至交换网络整合进同一地址空间。CXL 2.0 于 2020 年 11 月定稿,CXL 3.0 于 2022 年 8 月发布,二者在带宽、拓扑、池化、可组合性与 Fabric 能力上呈现阶梯式跃升。以下从协议栈、关键特性、系统拓扑、应用场景与生态展望五个维度对 CXL 2.0/3.0 进行系统梳理。
---
### 一、协议栈回顾:三种子协议协同
CXL 在链路训练阶段通过 Flex Bus 机制与 PCIe 做双向协商:若双方均支持 CXL,则切换到三条子协议并行运行;否则退守为纯 PCIe 设备,保证向后兼容。
1. **CXL.io**
本质是对 PCIe 5.0/6.0 事务层的复用,负责设备发现、配置、中断、错误报告与标准 I/O DMA,是“必须存在”的控制平面。
2. **CXL.cache**
定义主机与设备间的缓存一致性事务,允许加速器、智能网卡等 Type 1 设备以 64 B Cacheline 粒度读写主机内存,同时维持 MESI 协议扩展,延迟约 20 ns,远低于传统 DMA。
3. **CXL.mem**
提供“内存语义”访问,主机可通过加载/存储指令直接寻址设备端内存(Type 3),或把远端持久内存映射到本地 NUMA 节点,实现字节级、低时延的大容量内存扩展。
---
### 二、CXL 2.0:单级交换与资源池化
CXL 2.0 基于 PCIe 5.0,单通道 32 GT/s,x16 双向理论带宽 64 GB/s。其核心突破在于“把点对点链路变成可共享的拓扑”。
1. **单级 CXL Switch**
功能类似 PCIe Switch,但额外识别 CXL.mem 地址区间,并在下游端口引入 HDM(Host-managed Device Memory)解码器,实现多主机、多设备的解耦。交换机为每个主机维护独立的“虚拟层级结构”(Virtual Hierarchy,VH),单物理拓扑可同时支持 16 个 VH,实现多租户隔离。
2. **Multi-Logical Device(MLD)**
一颗 Type 3 内存扩展卡可被划分为最多 16 个逻辑设备,各自由不同主机独占,粒度 256 MB,解决“单一大设备只能绑定一台服务器”造成的资源搁浅。
3. **内存池化与 QoS**
通过池化,机架内若干 CPU 可动态申请/释放远端 PMem,操作系统视其为可热插拔的 NUMA 节点;CXL 2.0 还定义内存带宽与容量遥测,配合 QoS 寄存器实现带宽限速与优先级抢占。
4. **安全与热插拔**
引入 IDE(Integrity and Data Encryption)引擎,对链路层数据做 AES-GCM 256 在线加密;热插拔遵循 PCIe 标准,结合 GPF(Global Persistent Flush)确保掉电时未持久化数据及时刷回。
---
### 三、CXL 3.0:带宽翻倍与 Fabric 化
CXL 3.0 升级至 PCIe 6.0 物理层,单通道 64 GT/s,x16 双向 128 GB/s;协议层则通过新 Flit 格式与 FEC 前向纠错实现零额外延迟。更重要的是,它把“单级树”拓展为“多级 Fabric”,正式迈入机柜级可组合互连。
1. **多级 CXL Switch & Fabric**
支持任意级联,形成非树形拓扑(mesh、torus、Fat-Tree);引入 Port-Based Routing(PBR)与 32-bit Fabric ID,交换机可基于端口+ID 做逐跳寻址,解决 2.0 时代“单路径”限制,实现多路径负载均衡与故障冗余。
2. **多主机一致性域**
CXL 3.0 定义 Host-Coherent Domain,允许多颗 CPU 与加速器位于同一一致性岛,设备缓存行可在多主机间迁移;配合 Back-Invalidate 与 Unordered I/O(UIO)事务,显著降低多节点共享内存的 snoop 风暴。
3. **增强内存池化**
支持“全局地址空间”——主机的系统物理地址与设备内存可在 64-bit 空间任意编排,CPU 可把远端 3D XPoint、DRAM、加速器 HBM 视为统一 NUMA 域,硬件自动完成地址转换与带宽聚合,单条链路理论可寻址 4 TB,整机可达数十 TB。
4. **低延迟 P2P**
Type 2/3 设备之间可通过 CXL.mem 事务直接访问对方内存,无需主机代理,适合 GPU-to-NIC、DPU-to-SSD 等零拷贝场景,延迟降至 50 ns 级。
5. **可组合服务器(Composable Disaggregated Infrastructure, CDI)**
基于 CXL 3.0 的机柜级交换背板,CPU、GPU、FPGA、PMem、NVMe 可被池化成独立“刀片”,通过软件 API 动态装配成不同规格的虚拟服务器,实现“秒级重构”,为云厂商提供硬件级弹性。
---
### 四、应用场景对比
| 场景 | CXL 2.0 价值 | CXL 3.0 新增价值 |
|---|---|---|
| 内存扩展 | 单主机 2~4 TB 透明扩容 | 多主机共享 10+ TB,带宽聚合 |
| 加速器缓存一致性 | GPU/ASIC 直接缓存主机内存 | 多 GPU 跨节点共享 HBM |
| 分布式数据库 | 远端 PMem 作 NUMA 节点 | 全局地址空间,单映像数据库 |
| 云原生虚拟化 | 热插拔内存、MLD 分片 | 机柜级 CDI,秒级弹性伸缩 |
| HPC 互连 | 替代 QDR InfiniBand 做内存通道 | 与 IB/RoCE 融合,形成“内存+网络”统一 Fabric |
---
### 五、生态与展望
Intel Sapphire Rapids、AMD Genoa 已原生支持 CXL 1.1/2.0;CXL 3.0 控制器预计 2025 年随 PCIe 6.0 平台规模上市。交换芯片方面,Astera Labs、Broadcom、Microchip 已演示 32-Port 56 G SerDes Switch;三星、SK 海力士、美光推出带 CXL.mem 的 DRAM/3D XPoint 扩展条,单条 512 GB–1 TB。Linux 内核从 5.16 起支持 CXL 2.0 端口驱动,6.5 版已合入 3.0 初始补丁;UEFI、ACPI 新增 CEDT、CHBS、CFWS 表,描述交换机与端口拓扑。展望 2026,CXL 将与 PCIe 6.0、800 G Ethernet 共同构成“计算-内存-网络”三位一体的机柜级 Fabric,推动 AI、HPC、云原生数据库走向真正的“内存池化”与“硬件可组合”时代。
---
### 参考文献
知乎专栏《CXL&PCIe》,2024-05
Serverparts.pl《CXL 1.0, 1.1. 2.0 3.0》,2023-09
Synopsys《CXL 2.0 and 3.0 for Storage and Memory Applications》,2025-02
知乎专栏《一文了解高速互联技术 CXL》,2024-03
微信公众号《CXL 协议 -- 总体架构介绍》,2025-06
CSDN《CXL 概述(二)》,2023-11
知乎专栏《CXL 1.x,2.0,3.0 区别》,2023-10
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




