CXL
文章平均质量分 91
攻城狮Adam
这个作者很懒,什么都没留下…
展开
-
CXL事务层
参考下图,第一条消息,PM2IP.CREDIT_RTN(Target_Agent_ID,Num_Credits=1) ,这个消息里面包含了2个内容,一个是Target_Agent_ID,另一个是主机给了设备1个信用值。在初始化的时候,设备必须先等待接受来自主机的CREDIT_RTN消息,而不能先向主机发送消息。设备和主机之间通过CXL.io通道发送的消息类型主要涉及两种,分别是CREDIT_RTN和AGENT_INFO,其中PM2IP是主机发给设备的电源管理消息,而IP2PM是设备发给主机的电源管理消息。原创 2024-03-29 11:13:05 · 642 阅读 · 0 评论 -
CXL事务层(续)
当主机向设备发送监听请求时,要求在主机收到监听响应并收到所有隐式写回(implicit writeback,IWB)数据之前,不会向设备中含有该地址的任何请求发送GO响应。当主机向设备返回数据,并且该请求的GO尚未发送到设备时,主机可能在发送GO消息之前不会向该地址发送监听请求。一旦设备发起了这样的一个请求,并且在设备接收到GO-WritePul或GO-WritePullDrop响应消息前,访问的缓存地址已经被监听了,这时候,设备需要设置数据消息的Bogus字段,用来指示这个数据也许不是最新的。原创 2024-03-29 11:43:35 · 916 阅读 · 0 评论 -
CXL2.0简介
本章总结:这一章介绍了CXL的基本概念,CXL协议可以分为三个部分,分别是CXL.io,CXL.cache和CXL.mem。但是和CCIX不同,CXL为CXL.cache和CXL.mem增添了新的事务层(Transaction Layer)和链路层(Link Layer),所以也可以认为CXL.cache和CXL.mem是两个全新的协议。如下图所示,CXL.io近似PCIe协议的事务层和链路层,但是CXL.cache和CXL.mem走的是自己单独的事务层与链路层(这是CXL延迟低的原因之一)。原创 2024-03-28 17:51:08 · 832 阅读 · 0 评论 -
CXL系统架构
CXL支持三种设备类型,如下图。Type 1支持CXL.cache和CXL.io;Type 2支持CXL.cache,CXL.mem和CXL.io;Type 3支持CXL.mem和CXL.io。无论哪种类型,CXL.io都是不可缺少的,因为设备的发现,枚举,配置等都是由CXL.io来负责。传统的非一致I/O设备主要依赖于标准的生产者-消费者订单模型(Producer-Consumer Ordering Model),并针对主机连接的内存执行。原创 2024-03-28 17:43:58 · 846 阅读 · 0 评论