CXL_System_Architecture

一、CXL 核心概念与设备类型

CXL(Compute Express Link)是一种用于互联外设的高性能 I/O 总线架构。它可以连接传统 I/O 设备、内存设备或具有额外能力的加速器。

CXL 设备的三种类型

  1. Type 1 设备(缓存设备 - CXL Device w/o Memory)
    • 核心特征:内部拥有与主机一致的缓存,但不带自己的内存。
    • 协议:使用 CXL.cacheCXL.io
    • 应用场景:用于需要执行复杂原子操作或自定义排序模型的加速器,标准的生产者 - 消费者模型已无法满足需求。其缓存容量受限于主机的窥探过滤能力。
  1. Type 2 设备(带内存的缓存设备 - CXL Device w/ Memory)
    • 核心特征:同时拥有与主机一致的缓存和自己附加的内存(如 DDR,HBM)。
    • 协议:唯一一种协商并使用全部三种协议的设备:CXL.cacheCXL.memCXL.io
    • 应用场景:需要在自身附加内存和主机之间进行高带宽、低延迟数据交换的加速器,如 GPGPU。
  1. Type 3 设备(内存设备 - CXL Memory Expander/Accelerator)
    • 核心特征:拥有自己附加的内存,但没有与主机一致的缓存。
    • 协议:使用 CXL.memCXL.io
    • 应用场景:作为主机的内存扩展器,或者在特定模式下作为存内计算等类型的加速器。

二、主机管理设备内存(HDM)与一致性模型

当 Type 2 和 Type 3 设备的内存暴露给主机时,被称为主机管理设备内存(Host-managed Device Memory,HDM)。HDM 的一致性管理有三种模式:

  1. HDM-D:基于偏置的一致性模型

这是一种性能优化模型,通过切换内存的“偏置”状态,来决定在某一时刻优先满足主机还是设备的访问性能。

  1. HDM-DB:基于反向无效化侦测的一致性

三、高级设备配置与扩展

  1. 多逻辑设备(Multi-Logical Device - MLD)

  1. 多头设备(Multi-Headed Device)

四、CXL Fabric 与可扩展内存架构

  1. CXL Fabric

  1. Fabric 附加内存(Fabric-Attached Memory - FAM)

  1. 共享 FAM 的一致性模型

当多个主机共享 FAM 时,由 FM 指定一致性模型。

五、可管理性(Manageability)

CXL 采用一个分层、多标准的管理框架。

zood