CXL.mem S2M Message 释义

这篇具有很好参考价值的文章主要介绍了CXL.mem S2M Message 释义。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。



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


📢 声明

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




0. 前言

  S2M 方向有 NDR、DRS、BISnp 三个 Channel。S2M 没有独立的 Data Channel,而是跟 Rsp 合并到一起了。本文对 M2S 方向各 Channel 的 Message 进行释义。

CXL.mem S2M Message 释义,CXL 协议,CXL



1. NDR

  NDR 为不携带 Data 的 Response,主要为 Completion 消息,此外还有对冲突指示消息的响应。

  NDR 包含以下 Message:

  • Cmp ,WriteBack、Read、Invalidation 等请求的 Completion;
  • Cmp-S ,DCOH 指示 Host 当前 Cacheline 为 S 状态;
  • Cmp-E ,DCOH 指示 Host 当前 Cacheline 为 E 状态;
  • BI-ConflictAck ,BIConflict 的 Ack。

  跟 Req 相比,Rsp 多了 DevLoad,用来指示 Device 当前的工作负载轻重。更多 DevLoad 的用法可参考《CXL QoS Telemetry 介绍》。



2. DRS

  DRS 可以理解为 Memory Read 的 CplD,携带有读回来的数据。

  DRS 有以下 Message:

  • MemData ,读回的数据
  • MemData-NXM ,NFX 是指 Not Existed Memory,地址指向的 Memory 区域不存在,Data Payload 全为 1。


3. BISnp

  BISnp 由 S 发出,用于改变 Host 的 Cache 状态,通过实现 Inclusive Snoop Filter 来对 Host Cache 进行 Track。BISnp 仅工作于 256B Flit Mode。

  BISnp 包含以下 Message:

  • BISnpCur ,Device 请求 Host 侧该 Cacheline 的数据副本,但不改变 Host Cacheline 状态。这么说吧,当 Device 想要一份数据但 Device Cache 没有(I),通过该请求来探察一下 Host Cache 有没有,Host 返回 BIRsp*来告诉 Device 探察结果。SnpCur 是不希望读回会的数据被 Cache 的,所有取回来之后 Device 该 Cacheline 还是 I。
  • BISnpData ,Device 请求 Host 侧该 Cacheline 的 S 或 E 数据副本。当 Device 想要请求某 Cacheline 独享/共享权限时,向 Host 发送 BISnpData,Host 返回 BIRspI/S。如果返回的 BIRspI,表示 Host 已经将该 Cacheline Invalid 了,Device 可以将该 Cacheline 置为 E 或保持 S;若 Host 返回的 BIRspS,说明 Host 没同意,Device 不能独享该 Cacheline,仍为 S。Host 不能返回 BIRspE(发起 BISnpData 的前提是 Device 有该 cacheline 且非 I,I 就发 BISnpCur 了,Device 有,那么 Host 就不能是 E,当然也不会返回 E)。跟 BISnpCur 比,该请求读回来的数据是能够 Cache 的(很显然,都请求 SE 了,再不给 Cache 权限就说不过去了)。
  • BISnpInv ,Device 请求 Host 侧该 Cacheline 的 E 数据副本,Device 想要独享,Host 只得 I,数据回到 Device 后能进行 Cache。跟 BISnpData 比,BISnpInv 要的权限更具体,Host 只能回复 BIRspI。获得权限后,Device 可以不要该权限,仍保持 S。
  • BISnpCurBlk ,可以指定 2 或 4 条连续 Cacheline 的 Block。
  • BISnpDataBlk ,同上。
  • BISnpInvBlk ,同上。

  对于 Outstanding S2M BISnp,Device 需要在 BISnp 完成之前 Block 住相同地址的 M2S Req。



4. Q&A

  1. 为什么 Device 不直接来 Host Cache 取数据?
    CXL Device 的 Cache 位于 CPU LLC 下,Device 可以采用 CXL.cahce 直接来 Host Cache 取数据。

  2. Host 能直接把 Host Cache 内的数据 Flush 到 Device Memory 吗?就是说,能否绕过 Host Memory 的中转,让 Host Processor/Cache 直接跟 Device Memory 接上头?
    能。CXL.mem 不就是干这个的么,比如 M2S MemRd、MemWr。

  3. Meta 是什么?
    Host 给 Device 的暗示信息,告知 Device 该 CacheLine 在 Host 侧的 Cache 状态,而非 Device 内的状态,便于 DCOH 进行一致性相关操作。

  4. 错误认知: 对于 HDM-H 区域,Host 不能发任何有效的 SnpType 给 Device,因为 Device 里没有备份,没有还 Snoop 啥????可以发!看附件 A-3 表格!

  5. BI 能用于 Host Memory 区域吗?
    不能。Host Memory 直接用.cache 啊。用 BI 的场景:HDM-DB 区域,Device 想把 Device Memory 在 Host 侧 Cacheline 内的数据给处理掉。


— END —

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

⬆️ 返回顶部 ⬆️文章来源地址https://www.toymoban.com/news/detail-691858.html

到了这里,关于CXL.mem S2M Message 释义的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全基础词汇释义

    资产,宽泛的理解是对组织具有价值的任何东西。在安全领域,通常说的保护信息资产,所指的更多是IT信息系统,也包括IT基础设施、网络、软硬件、数据等。 威胁,是指对资产或组织可能导致负面结果的一个事件的潜在源。威胁的分类方法很多,有直接威胁,如黑客攻击

    2024年02月11日
    浏览(39)
  • 工业相机的基础参数释义

    视场 : FOV 相机可见的视野范围 景深: DOF 可以清晰拍摄被测物的距离范围。 工作距离: WD 相机镜头至被测物的距离。 物像距离: 被测物至芯片靶面的距离。 像元尺寸: 一个像素在长和宽方向上所代表的实际大小,单位通常为微米。像元尺寸越大,分辨率越低。 像元深度

    2024年02月16日
    浏览(33)
  • 【CXL】学习资源整理

    🔥 点击查看精选 PCIe 系列文章 🔥 🔥 点击进入【芯片设计验证】社区,查看更多精彩内容 🔥 📢  声明 : 作者主页:【MangoPapa的CSDN主页】。 本文首发于CSDN,转载或引用请注明出处【https://mangopapa.blog.csdn.net/article/details/131338871】。 本文目的为 个人学习记录 及 知识分享

    2024年02月10日
    浏览(38)
  • Linux常用命令及其参数释义

    本文基于内核版本Cent OS 7.6 做阐述。 ls:列出当前目录中的文件和子目录。参数:-l 列出详细信息,-a 列出所有文件,包括隐藏文件,-h 以易读格式列出文件大小。 cd:改变当前目录。参数:目录名。 mkdir:创建新目录。参数:目录名。 rm:删除文件或目录。参数:-r 以递归

    2024年02月05日
    浏览(32)
  • HAL库函数中的HAL_I2C_Mem_Write /HAL_I2C_Mem_Read中的DevAddress解析

    在HAL库函数中的HAL_I2C_Mem_Write /HAL_I2C_Mem_Read两个函数的作用就是玩IIC设备中写入/读取多个直接的数据, 函数原型: 两个函传入的参数中都需要DevAddress, 以AT24C02为例, 上面的这个是EEPROM设备的写地址和读地址,,一般是这种定义的,但是在野火的HAL案例中 这个是写地址,为什么不定义

    2024年02月11日
    浏览(52)
  • transpileDependencies与babel编译顺序释义

    如果transpileDependencies为true或为正则, 接着看package.json里的browserslist是否处在低级浏览器范围, 如果处在低级浏览器范围内,那么会把node_modules里用得到的高级语法进行babel编译 如果transpileDependencies为false,则会把node_modules里用到的高级语法原封不动的打包(无视browserslist范围

    2024年02月16日
    浏览(25)
  • CXL论文阅读笔记整理(持续更新)

    arXiv Paper 对CXL技术进行介绍,包括CXL 1.0、CXL 2.0、CXL 3.0,对各规范的提升做介绍。整理了现有的CXL实现方法,延迟测试结果,对未来发展进行展望。 Queue 2023 Paper 泛读笔记 CXL提供的是粗力度的内存共享,没有提供细粒度的内存保护功能,作者提出用针对特定领域优化的去中心

    2024年04月15日
    浏览(50)
  • Linux中的Swap和Mem:有什么区别?

    在Linux系统中,内存管理是操作系统的重要部分。在内存管理方面,Swap和Mem是两种不同的内存类型,它们在Linux系统中发挥着不同的作用。本文将解释Swap和Mem的区别以及它们在Linux系统中的作用。 一、Swap Swap是Linux系统中的交换分区,它本质上是磁盘上的一个区域。当系统的

    2024年01月17日
    浏览(34)
  • 2023年浙大MEM考前80天上岸经验分享

    nbsp; nbsp; nbsp; nbsp;时间过得真快,转眼间已经是十月份了。回想起去年这个时候,我还在为考研而感到焦虑不安。然而,如今我已经在浙大MEM项目学习了一个多月的时间了。在这一个月的学习过程中,我不仅学到了许多专业知识,还结识了很多志同道合的朋友。我还记得当初

    2024年02月08日
    浏览(36)
  • ARM的cache和mem零散记录(属性)

    5.由于core改写了数据,就导致cache的一致性问题,怎么解决?什么时候解决? 6.是不是先通知其他core数据或指令被修改了,然后过一段时间数据才能更新?就是先发现数据更新了,等一段这个更新才能传过来 9.Instruction cache speculative memory accesses 什么是预测存取?对cache有什么

    2024年03月14日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包