0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于CXL的功能与特性详解

半导体产业纵横 来源:半导体产业纵横 2023-11-22 15:43 次阅读

解决处理器与内存之间通信瓶颈之路永无止境。

几年后,服务器可能看起来与现在有所不同,那时,存储和处理器会被放在彼此独立的机箱内。一种名为 CXL(Compute Express Link)的互连技术正在使这成为可能。

CXL是由电脑科技的行业巨头组成的联盟— Compute Express Link Consortium(CXL Consortium)所开发和定义的,主要成员包括英特尔(Intel)、AMD三星(Samsung) 、SK海力士(SKHynix)、美光(Micron)、戴尔(Dell)、惠普企业(Hewlett Packard Enterprise)、Microchip Technolog等。CXL 协定发展经历过1.0、1.1、2.0、以及最新的3.0版本,如今市场上已经陆续出现支援CXL 1.1 和2.0 的产品,3.0 协定还在开发中;协定本身更是吸引了一群大型科技公司积极参与其中。

该技术的升级规范,3.1版,于本周发布。更新提供了更快、更安全的计算环境和更强大的技术基础,可将数据中心转变为巨型服务器。

新规范将支持 DDR6 内存,该内存仍在开发中。DDR 标准制定组织 JEDEC 尚未广泛讨论 DDR6。

目前,英特尔和AMD的服务器芯片支持DDR5,但尚未指导芯片组对DDR6的支持。大多数硬件和云提供商都支持 CXL。

d31ce204-8455-11ee-939d-92fbcf53809c.png

CXL 3.1 是一年多前推出的 CXL 3.0 的增量改进。CXL 协议是系统中芯片、内存和存储之间的通信链路。

CXL 3.0 规范基于 PCIe 6.0,数据传输速度高达每秒 64 千兆。它比其前身 CXL 2.0 快两倍,CXL 2.0 基于 PCIe 5.0,并且正在进入服务器系统。

随着 AI 等技术的普及,CXL 已成为芯片组的重要组成部分,机器学习应用程序需要大量内存和带宽,CXL 允许跨服务器池化存储和内存。

CXL 3.1 协议可以打开更多的点对点通信,将内存和存储分解到单独的机箱中,通过传统网络和互连技术进行分解的讨论已经讨论了10年,CXL 提供了提供各种计算资源所需的可扩展性。

首先,CXL 3.1 规范提供了一个支持新型内存的开放标准,可以更有效地将数据重新路由到内存和加速器。

一项重要的改进是将结构上的内存资源汇集到一个全局地址下,该功能称为全局集成内存,对于在内存和其它资源之间建立更快的连接非常重要。

加速器还将能够直接与内存资源通信,基于端口的路由的新功能有助于更快地访问内存资源。

CXL 3.1 还提供了在受保护环境中执行数据的指令,引入这项技术是为了支持机密计算,英特尔的 Sapphire Rapids 中已经引入了 TDX 指令,AMD的芯片中引入了 SNP-SEV 功能。

新规范定义了一种安全协议,该协议可保证数据在内存、处理器和存储之间移动时扩展安全环境。

该协议将检测需要对连接进行身份验证以打开硬件保险库,以访问代码或信息的环境。这些信息可能位于处理器、内存或存储上。英特尔、Microsoft 和其它公司有不同类型的证明方法来验证在安全环境中访问数据的连接。

CXL的功能与特性详解

CXL是一种用于加速CPU 和设备之间资料传输的协定,主要应用于人工智能和机器学习等领域,以解决在这些应用中需要高效率的资料交互的需求。随着PCIe协定的发展,到了5.0版本后,像需要大量IO 资料交互的人工智能应用,开始遇到性能瓶颈的问题。为了突破这个瓶颈,引入了CXL协定的概念。

首先,CXL 协定解决了共享RAM的问题,在支援PCIe 协定的设备中,每个设备都拥有自己的RAM,但这些RAM无法被CPU 统一编址,因此无法直接进行调用,这导致了延迟的问题;CXL协定引入了共享RAM 的概念,允许CPU 对所有设备上的RAM 进行统一编址,从而实现了彼此之间的互相调用。

其次,CXL 协定解决了高延迟的问题,例如:CPU 和GPU之间的资料交互,需要经过多个节点,包括CPU 缓冲(Cache)、CPU RAM、PCIe 链路、GPU RAM和GPU Cache 等,这些节点和IO 频宽限制导致了延迟的增加;为了降低延迟,我们希望CPU 能够直接存取GPU 的RAM,从而避免了繁复的资料传输过程。CXL的功能特性中,CXL 2.0 版本引入了FLIT(可变长度介面传输,Flexible-Length Interface Transport) based transfers 功能,使用544 位元的FLIT 模式进行资料传输,这种模式可以降低资料传输的延迟,类似于NVMe 协定中的队列概念。

CXL的三个子协定及其对应的三种设备

CXL有三个子协定:CXL.io、CXL.cache、CXL.memory。

CXL.io 和CXL.cache 是CXL 协定中的两个子协定,它们的功能和用途有所不同,主要是为了引入非对称的概念;CXL.io 类似于PCIe 的事件(event),主要用于初始化、链接、设备发现、列举以及寄存器(register) 的存取,从某种程度上说,它可以看作是PCIe事件的一个变种。

CXL.cache 则是用于设备去使用主机的主要RAM,这表示设备可以直接存取主机的RAM,并且需要与CPU 的Cache 保持资料一致性;如果没有有效的通讯和同步,可能会出现RAM 使用冲突或不存在的问题。

另一方面,CXL.memory则是CPU 使用设备上的RAM;在这种情况下,CPU可以直接存取设备上的RAM,而不需要与设备的Cache 进行交互;这是因为CPU 的Cache 直接使用设备上的RAM,因此可以直接进行通讯,而无需额外的同步操作。

总结来说,CXL.io 和CXL.cache 的使用方向和目的不同,因此被拆分为两个子协定;CXL.io 类似于PCIe 事件,用于设备和主机之间的通讯和初始化过程;而CXL.cache 则用于设备存取主机的RAM 并保持资料一致性;另一方面,CXL.memory 则是CPU 直接使用设备上的RAM,无需与设备的Cache 进行交互,这样的设计使得CXL 协定在不同的使用情境中更具灵活性和效能。

基于这三个子协定,衍生出三种不同的设备类型;其中,CXL.io 是所有设备都需要的协定,因为它包含了设备的列举过程,使其能够被识别和通信;另外两个协定则是进行组合以产生更具特定功能的设备。

第一种设备类型是智慧网卡,它有Cache,但没有独立的RAM;相反,它直接使用CPU 的内存,这使得在CPU 处理资料时非常迅速;由于记忆体就在设备内部,它可以直接读取和处理资料,这是它的优势。

第三种设备类型则只拥有RAM,而没有Cache;换句话说,它实际上是CPU 的一种无限扩展的内存;传统CPU 主机板上的内存插槽有限,且主机板的空间有限,即使提高单条内存的容量也有限制。

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10444

    浏览量

    206566
  • 内存
    +关注

    关注

    8

    文章

    2767

    浏览量

    72769
  • 服务器芯片
    +关注

    关注

    2

    文章

    120

    浏览量

    19179
  • 机器学习
    +关注

    关注

    66

    文章

    8124

    浏览量

    130567
  • ddr6
    +关注

    关注

    0

    文章

    5

    浏览量

    7441

原文标题:最新CXL规范支持DDR6

文章出处:【微信号:ICViews,微信公众号:半导体产业纵横】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详解CXL系统架构

    CXL设备扩展限制只允许每个VH(Virtual Hierarchy)启用一个Type 1或Type 2设备。
    的头像 发表于 09-14 09:10 5757次阅读
    先<b class='flag-5'>详解</b><b class='flag-5'>CXL</b>系统架构

    CXL内存基于微基准的特性研究和最佳实践

    随着线程数的增加,在每个方案上运行DLRM推理都是线性的,并且斜率不同。DDR5-R1和CXL存储器的总体趋势相似,这与第4.3.2节中的观察结果一致
    发表于 04-12 14:07 321次阅读

    萌新求助,关于H桥驱动电机STM32 PWM互补输出功能误用分析求详解

    萌新求助,关于H桥驱动电机STM32 PWM互补输出功能误用分析求详解
    发表于 10-18 08:33

    一窥CXL协议

    现在已经有几十家的会员。目前CXL协议共有个版本,分别是1.0,1.1,2.0和刚刚发布的3.0,协议规范可以在官网上下载。关于CXL,协议里面是这样说的“CXL is a low-l
    发表于 09-09 15:03

    一文解析CXL系统架构

    不需要CXL提供的高级功能,而传统PCIe足以作为加速器连接介质。  插播一句,生产者-消费者模型是一种为了加快系统响应数据的异步模型,系统中一些慢速操作(例如网络I/O,数据统计等)会阻塞主进
    发表于 09-14 14:24

    CXL事务层的结构是由哪些部分组成的

    如下。3.1.4 CXL所需的可选PCIe功能3.1.5 错误传播设备检测到的CXL.cache和CXL.mem错误通过CXL.io通信流传
    发表于 10-08 15:21

    CXL内存协议介绍

    在源位置预先分配在CXL.mem上,只有在写入完成后,写入数据才能保证对以后的访问可见CXL.mem请求需要在设备上进行转发,而不依赖于任何设备启动请求缓存行的M2S和S2M数据传输不能与其它缓存行
    发表于 11-01 15:08

    一文详解CXL链路层格式的定义

    。4.2.9 毒药(Poison)和病毒(Viral)4.2.9.1 病毒病毒(viral)是章节12.4“CXL病毒处理”中的一个功能。当一个CPU socket处于“中毒”时,它需要通知其它
    发表于 02-21 14:27

    VB中关于MSComm控件使用详解

    VB中关于MSComm控件使用详解
    发表于 12-16 15:35 18次下载

    关于CXL的一些基础知识 CXL将一统CPU互连标准

    作为一种开放式互连新标准,CXL面向 CPU 和专用加速器的密集型工作负载,这些负载都需要在主机和设备之间实现高效稳定的存储器访问。
    发表于 08-09 12:36 2762次阅读

    CXL事务层详解

    CXL.io为IO设备提供非一致性的load/strore接口。事务类型、事务数据包格式、信用流量控制、虚拟通道管理、事务顺序的规则等遵循PCIe协议。CXL.io的事务层如下图中的黄色部分所示。
    的头像 发表于 10-10 16:02 2257次阅读

    CXL协议和标准介绍, CXL2.0和3.0有什么新功能

    CXL通过一个叫做CXL 联盟的开放行业标准组织开发技术规范,促进新兴使用模型的性能突破,同时支持数据中心加速器和其他高速增强功能的开放生态系统。
    发表于 03-15 11:30 4077次阅读

    CXL 2.0设备发现的迷人路径

    CXL 2.0 规范在 PCIe 配置空间映射寄存器中定义了多个新的 PCIe 指定供应商特定扩展功能 (DVSEC)。以下是 CXL 2.0 设备的一些强制性 DVSEC。
    的头像 发表于 05-25 17:22 1036次阅读
    <b class='flag-5'>CXL</b> 2.0设备发现的迷人路径

    澜起科技MXC芯片成功通过CXL联盟组织的CXL1.1合规测试

    近日,澜起科技的CXL内存扩展控制器(MXC)芯片成功通过了CXL联盟组织的CXL1.1合规测试,被列入CXL官网的合规供应商清单。澜起科技是全球首家进入
    的头像 发表于 08-18 09:14 758次阅读

    什么是CXL技术?CXL的三种模式、类型、应用

    CXL的目标:解决CPU和设备、设备和设备之间的内存鸿沟。服务器有巨大的内存池和数量庞大的基于PCIe运算加速器,每个上面都有很大的内存。内存的分割已经造成巨大的浪费、不便和性能下降。CXL就是为解决这个问题而诞生。
    的头像 发表于 01-11 16:53 662次阅读
    什么是<b class='flag-5'>CXL</b>技术?<b class='flag-5'>CXL</b>的三种模式、类型、应用