CXL RCD/VH Mode

2023-12-01 19:10
文章标签 mode vh rcd cxl

本文主要是介绍CXL RCD/VH Mode,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



🔥点击查看精选 CXL 系列文章🔥
🔥点击进入【芯片设计验证】社区,查看更多精彩内容🔥


📢 声明

  • 🥭 作者主页:【MangoPapa的CSDN主页】。
  • ⚠️ 本文首发于CSDN,转载或引用请注明出处【https://mangopapa.blog.csdn.net/article/details/132332485】。
  • ⚠️ 本文目的为 个人学习记录知识分享。因个人能力受限,存在协议解读不正确的可能。若您参考本文进行产品设计或进行其他事项并造成了不良后果,本人不承担相关法律责任。
  • ⚠️ 若本文所采用图片或相关引用侵犯了您的合法权益,请联系我进行删除。
  • 😄 欢迎大家指出文章错误,欢迎同行与我交流 ~
  • 📧 邮箱:mangopapa@yeah.net
  • 💬 直达博主:loveic_lovelife 。(搜索或点击扫码)

文章目录

  • RCD Mode
  • VH Mode
  • PCIe/VH/RCD Mode 举例
  • RCD 与 VH Mode 协商
  • 如何防止 Hot-Plug 场景下训练到 RCD Mode?
  • 参考


  Flex Bus 可以工作在 PCIe Mode 或 CXL Mode,CXL Mode 又可以进一步细分为 RCD ModeVH Mode ,其中 RCD Mode 仅支持 CXL 1.1 相关特性,不支持 CXL 2.0 及以上新出现的 CXL 特性。

  CXL 协议更迭较快,每一代都有较多新的特性引入。当不同 CXL 版本的 Upstream Port (UP)及 Downstream Port (DP) 出现在同一 CXL 链路上时,为了避免非预期的软件行为,链路两端的组件需协商工作在同一 Link Mode 下。



RCD Mode

  RCD Mode,全称 Restricted CXL Device Mode,是一种功能有限的 CXL Mode。RCD Mode 可认为是工作在 CXL 1.1 下的 CXL 链路。

  RCD 对外显示为 RCiEP,其存在以下约束:

  • 不支持 Hot-Plug;
  • 不支持 68B Flit Mode 之外的其他 Flit Mode;
  • 不支持基于 PBR (Hierarchy Based Routing) 之外的其他路由方式;
  • 链路对 CXL-unaware 软件不可见。


VH Mode

  VH Mode,全称 Virtual Hierarchy Mode,可认为是工作在 CXL 2.0 或更高版本的 CXL 链路。

  有别于 RCD Mode,VH Mode 支持以下特性:

  • VH-capable Device 支持 Hot-Add 及 Switching 功能;
  • 支持 68B Flit Mode、256B Flit Mode 及 Latency-Optimized 256B Flit Mode;
  • 支持 PBR (Port Based Routing)、HBR 等路由方式;
  • 链路对 CXL-unaware 软件可见。


PCIe/VH/RCD Mode 举例

  CXL VH 是一个虚拟的层级,是软件视角的层级,不一定跟物理拓扑完全一致(物理拓扑中的 eRCD 独立于该 VH)。CXL VH 内既可以包含 CXL 组件也可以包含 PCIe 组件。在 CXL VH 内,CXL RP 是 VH 的根节点, 至少应包含 1 个非 eRCD 的 CXL Device ,此外还可以包含 0 到多个 CXL Switch、0 到多个 PCIe Switch 或 0 到多个 PCIe Device。

在这里插入图片描述

  上图中,Host 内有 4 个 RP,其中 RP1(不存在 CXL Device)、RP2(不存在 Device)、RP4(不存在 Non-RCD Device)均不符合 CXL VH 定义要求的条件,只有 RP3 作为 Root 物理拓扑可以形成 VH。RP3 作为 Root 的物理拓扑内,DSP1 下的 eRCD 对软件不可见,将其扣除后所形成的 Hierarchy 即为 RP3 作为 Root 的 VH。

  按照工作模式进行分类,上图所示物理拓扑中链路分类如下:

  • PCIe Mode: RP1-PCIe Device1、DSP3-PCIe Device2
  • RCD Mode: DSP1-eRCD1、RP4-eRCD2
  • VH Mode: RP3-USP、DSP2-CXL_Device


RCD 与 VH Mode 协商

  CXL 链路训练期间 UP 及 DP 通过 Modified TS 进行 Link Mode 的协商,若 UP 及 DP 无法就链路工作模式达成一致,则 CXL 链路训练失败。

  对于只支持 CXL 1.1 的 Host 及 Device 称为 eRCH、eRCD,其通过 Modified TS 中的 Alternate Protocol ID/Vendor ID=0x8086 来指示当前为 CXL 1.1;对于 CXL 2.0 及以上版本的 CXL Component,其 Modified TS 中的 Alternate Protocol ID/Vendor ID=0x1e98,同时有相关字段指示 VH Capable。

  UP 及 DP 支持的能力及 Link Mode 协商结果如下表所示。(TODO:下表 UP/DP 有误,写反了。)

在这里插入图片描述

  从上表可见:

  • 只有 CXL 链路两端的 UP 及 DP 均为 VH Capable 时才为 VH Mode;
  • 若 Device 为 eRCD 且在初始上电前就已与 CXL Host 硬件连接则为 RCD Mode,通过 Hot-Plug 上接 Host-VH 或 CXL Switch 时,链路训练失败;
  • EP-VH 上接 eRCH 则为 RCD Mode,上接 Host-VH 或 Switch 则为 VH Mode;
  • Switch 上接 Host-VH 则为 VH Mode,上接 eRCH 则训练失败,上接 Switch 不会独立触发链路训练。

  以上 CXL Link Mode 协商过程中,Link Mode 协商失败即意味着 Flex Bus CXL Mode 训练失败,不能直接切换到 PCIe Mode。若想重新针对 PCIe Mode 进行训练,需要关闭 APN 机制后重新触发链路训练。



如何防止 Hot-Plug 场景下训练到 RCD Mode?

  RCD Mode 不支持 Hot-Plug,准确说是不支持 Hot-Plug 后链路训练到 RCD Mode。为了防止 Hot-Plug 后训练到 RCD Mode,有以下两者途径:

  • 对于 eRCH,无论 Device 是否为 RCD 该链路都不支持 Hot-Add。BISO 会在上电后 RCD Mode 训练成功之后关闭 CXL APN 协商,以阻止 CXL Hot-Add。
  • 对于支持 VH 的 DP,不支持 RCD 的 Hot-Plug。BIOS 会在上电后初次 VH/RCD Mode 训练成功之后把 DP DVSEC Flex Bus Port Control 寄存器里的 Disable_RCD_Training Bit 置一。Host 在启动链路训练前依据该字段来判断当前是否为初始上电状态,若非初始上电则为 Hot-Add 进来的,一次关闭后续 RCD Mode 的训练。Disable_RCD_Training 对后续 Non-RCD 的 Hot-Plug 无影响。


参考

  1. CXL Base Spec, r3.0

— END —


🔥 精选往期 CXL 协议系列文章,请查看【 CXL 专栏】🔥

⬆️ 返回顶部 ⬆️

这篇关于CXL RCD/VH Mode的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/442359

相关文章

Unstructured cannot write mode RGBA as JPEG 错误解决

Unstructured cannot write mode RGBA as JPEG 错误解决 0. 错误详细1. 解决方法 0. 错误详细 Image Extraction Error: Skipping the failed imageTraceback (most recent call last):File "/root/miniconda3/envs/learn-y

混合模式属性background-blend-mode

background-blend-mode 是 CSS 中的一个属性,它允许你将背景图像与背景颜色或背景图像之间以一种特定的混合模式进行混合。这个属性为网页设计师提供了一种强大的方式来创建视觉上吸引人的背景效果,无需使用图像编辑软件或额外的图像文件。 background-blend-mode 可以应用于单个背景图像与背景颜色之间,或者当设置多个背景图像时,应用于这些图像之间。混合模式包括了许多

【Mysql】系统服务启动访问报错问题处理:this is incompatible with sql_mode=only_full_group_by

一、背景: 本来已经正常运行的平台,突然有一天由于对服务器进行部分操作迁移,发现jar可以正常启动,但是访问功能一直报错,监控后台日志后,发现了问题: 报错的具体信息如下: Caused by: java.sql.SQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and conta

Hugging Face Offline Mode 离线模式

Hugging Face Offline Mode 离线模式 1. 缓存管理2. 遥测日志 在使用 Hugging Face 的库时,缓存和遥测日志是两个重要的功能。本文将介绍如何管理缓存、启用离线模式以及如何关闭遥测日志。 1. 缓存管理 在使用 Hugging Face 模型时,权重和文件通常会从 Hub 下载并存储在默认的缓存目录中,这个目录通常位于用户的主目录。如果

关闭qcom soc系列手机的ramdump mode

在 kernel/msm-3.10 / arch/arm64/configs/ze550kl_user_defconfig中 将CONFIG_MSM_DLOAD_MODE=y改成 #CONFIG_MSM_DLOAD_MODE is not set 然后在/ drivers/power/reset/msm-poweroff.c中将 if (!in_panic) { // Normal re

CUDA-MODE课程笔记 第9课: 归约(也对应PMPP的第10章)

我的课程笔记,欢迎关注:https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/cuda-mode CUDA-MODE课程笔记 第9课: 归约(也对应PMPP的第10章) 课程笔记 本节课的题目。 这节课的内容主要是 Chapter 10 of PMPP book ,Slides里面还给出了本节课的

初探UML(User-Mode-Linux)

由标题我们已经知道这里要说的UML不是“统一建模语言”,而是“用户模式的Linux”,使用它有什么好处呢?让我们先保留点神秘感,一步一步学习,通过实践来感悟它的魅力。 实验环境:电脑一台(装有Ubuntu13.10系统,Kernel版本为3.11.0-12-generic,64位) 下面将通过UML环境的搭建、GDB调试、网络测试这3个方面来了解下UML: 一.搭建UML实验环境 1.下载

MySQL 主从幂等复制slave_exec_mode=IDEMPOTENT

MySQL slave_exec_mode 参数用于控制主从复制数据冲突时的处理策略,可选值有STRICT和IDEMPOTENT,分别代表严格模式和幂等模式,默认值为STRICT,该参数可动态调整。 原文地址: https://mytecdb.com/blogDetail.php?id=76 STRICT,严格模式IDEMPOTENT,幂等模式 默认STRICT模式下,从库复制过程中

MYSQL5.7版本sql_mode=only_full_group_by问题,重启有效的方法

1./etc/mysql/mysql.conf.d/mysqld.cnf 或者my.cnf   总之就是mysql的配置文件 2.查看当前的sql模式 select @@sql_mode; 3.添加语句 sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CR

SK Hynix明年将开发基于96/128 GB DDR5的CXL 2.0内存解决方案

SK Hynix 正致力于为人工智能领域开发基于 DDR5 的 CXL 2.0 内存解决方案,尤其是针对"内存饥渴型"LLM。CXL 指的是 Compute Express Link,这是一种互联技术,可以在 CPU 和 GPU 之间实现更快的数据传输,但在人工智能领域,它实际上是 CPU 和加速器之间的数据传输。 与传统的 PCIe 接口相比,CXL 的优势在于它能让 GPU 直接访问系统内