点击查看精选 CXL 系列文章
点击进入【芯片设计验证】社区,查看更多精彩内容
声明:
- 作者主页:【MangoPapa的CSDN主页】。
- ⚠️ 本文首发于CSDN,转载或引用请注明出处【https://mangopapa.blog.csdn.net/article/details/132647111】。
- ⚠️ 本文目的为 个人学习记录 及 知识分享。因个人能力受限,存在协议解读不正确的可能。若您参考本文进行产品设计或进行其他事项并造成了不良后果,本人不承担相关法律责任。
- ⚠️ 若本文所采用图片或相关引用侵犯了您的合法权益,请联系我进行删除。
- 欢迎大家指出文章错误,欢迎同行与我交流 ~
- 邮箱:[email protected]
- 直达博主:loveic_lovelife 。(搜索或点击扫码)
S2M 方向有 NDR、DRS、BISnp 三个 Channel。S2M 没有独立的 Data Channel,而是跟 Rsp 合并到一起了。本文对 M2S 方向各 Channel 的 Message 进行释义。
NDR 为不携带 Data 的 Response,主要为 Completion 消息,此外还有对冲突指示消息的响应。
NDR 包含以下 Message:
跟 Req 相比,Rsp 多了 DevLoad,用来指示 Device 当前的工作负载轻重。更多 DevLoad 的用法可参考《CXL QoS Telemetry 介绍》。
DRS 可以理解为 Memory Read 的 CplD,携带有读回来的数据。
DRS 有以下 Message:
BISnp 由 S 发出,用于改变 Host 的 Cache 状态,通过实现 Inclusive Snoop Filter 来对 Host Cache 进行 Track。BISnp 仅工作于 256B Flit Mode。
BISnp 包含以下 Message:
对于 Outstanding S2M BISnp,Device 需要在 BISnp 完成之前 Block 住相同地址的 M2S Req。
为什么 Device 不直接来 Host Cache 取数据?
CXL Device 的 Cache 位于 CPU LLC 下,Device 可以采用 CXL.cahce 直接来 Host Cache 取数据。
Host 能直接把 Host Cache 内的数据 Flush 到 Device Memory 吗?就是说,能否绕过 Host Memory 的中转,让 Host Processor/Cache 直接跟 Device Memory 接上头?
能。CXL.mem 不就是干这个的么,比如 M2S MemRd、MemWr。
Meta 是什么?
Host 给 Device 的暗示信息,告知 Device 该 CacheLine 在 Host 侧的 Cache 状态,而非 Device 内的状态,便于 DCOH 进行一致性相关操作。
错误认知: 对于 HDM-H 区域,Host 不能发任何有效的 SnpType 给 Device,因为 Device 里没有备份,没有还 Snoop 啥????可以发!看附件 A-3 表格!
BI 能用于 Host Memory 区域吗?
不能。Host Memory 直接用.cache 啊。用 BI 的场景:HDM-DB 区域,Device 想把 Device Memory 在 Host 侧 Cacheline 内的数据给处理掉。
|
精选往期 CXL 协议系列文章,请查看【 CXL 专栏】
⬆️ 返回顶部 ⬆️