9.1 cxl启动和复位概览9.1.1 总体cxl设备的三种复位:
hot reset:通过链路触发warm reset:通过外部信号触发cold reset:通过外部信号触发,并伴随电源开关这三种复位被归纳为传统(conventional)复位。function级复位和cxl复位不是传统复位。
9.1.2 对比cxl和pcie行为
warning:即将到来的事件的早期通知signaling:实际启动状态转换9.2 cxl设备启动流程cxl设备将沿用pcie的warm reset和cold reset。
9.3 cxl系统复位进入流程在系统复位过程中,主机发送下列cxl pm vdm给cxl设备。
•pm logical opcode[7:0]=resetprep
•parameter[15:0]=request
•resettype = warm reset
•preptype = general prep
cxl设备应向主机刷新任何相关上下文,清理为主机服务的数据,并将连接到cxl设备的内存置于安全状态。所有复位准备完成后,cxl设备发出下列cxl pm vdm给主机。
•pm logical opcode[7:0]=resetprep
•parameter[15:0]=response
•resettype = warm reset
•preptype = general prep
9.4 cxl设备睡眠状态进入流程
9.5 function-level复位(flr)pcie的flr机制使软件能够以function-level粒度停止和复位endpoint硬件。cxl设备向主机软件公开一个或多个pcie function。这些function可以向主机呈现flr能力,从而现有的pcie兼容软件可以向这些function发出flr。
9.6 缓存管理旧有的操作系统或旧有的pcie总线驱动程序不知道cxl.cache功能。所以,设备驱动程序应该提供cxl.cache功能的支持,以管理cxl缓存。
系统软件可能希望在不复位系统或整个设备的情况下,确保支持cxlcache的设备不包含任何有效的缓存行。由于不需要设备通过flr清除缓存内容,因此为此定义了单独的控制位和状态位。此功能对于所有支持cxl 2.0 cxlcache的设备都是必需的。软件通过下面的步骤保证设备内没有有效的缓存行:
9.7 cxl复位9.7.1 对易失性hdm的影响由于易失性hdm(host-managed device memory)范围的所有权可能在cxl复位后发生变化,因此必须确保cxl复位之前存在的易失性内存内容没有泄漏。
两种情况需要考虑:
设备继续绑定到同一主机,但是系统软件将易失性hdm分配给其它的软件实体。设备被迁移到另外一个主机。9.7.2 软件动作在执行cxl复位时,系统软件应遵循以下步骤:
重新初始化和联机设备时,系统软件应遵循以下步骤:
9.8 全局持久刷新(global persistent flush,gpf)全局持久性刷新(gpf)是一种基于硬件的机制,用于将缓存和内存缓冲区刷新到持久性域(persistent domain)。持久性域定义为一个位置,用于保证重新启动设备时保留其数据内容,而不是丢弃数据。比如,当发生突然断电,主机可以启动gpf以确保未完成的数据被写回持久介质中。
9.8.1 主机和交换机职责所有支持cxl 2.0的主机和交换机都需要支持gpf。gpf流程包含两个阶段:gpf phase 1和gpf phase 2。在phase 1,设备停止新的传输,写回缓存;在phase 2,持久性设备刷新本地的写缓冲区里的数据到持久性域。在两个阶段之间,主机必须确保停止注入新的cxl.cache事务,并在进入phase 2之前写回到本地缓存。
9.8.2 设备职责所有cxl 2.0及更高版本的设备都需要支持gpf,且应在其agent_info响应中设置capability_vector字段的第1个bit。
收到gpf phase 1请求消息后,cxl设备应按指定顺序执行以下步骤:
收到gpf phase 2请求消息后,cxl设备应按指定顺序执行以下步骤:
9.8.3 能量预算通常有必要评估系统是否有足够的能量在断电情况下处理gpf。系统软件可能会通过使用各种cxl dvsec寄存器中的可用信息,和系统其余部分的信息来确定。
9.9 热插拔cxl 1.1主机和cxl 1.1设备不支持热插拔。cxl 2.0根端口、cxl 2.0设备和cxl交换机需要支持hot-add和hot-remove。
支持热插拔需要什么流程?需要看pcie协议。
9.10 软件枚举cxl 2.0设备呈现给主机软件的是一个或多个pcie endpoint。cxl 1.1设备则呈现为rciep(root complex integrated endpoints)。cxl设备的发现遵循pcie规范,但cxl 1.1层次结构和cxl 2.0虚拟层次结构之间存在一些差异。
9.11 cxl 1.1 层次暂时略过。
9.12 cxl 2.0 枚举支持cxl 2.0的主机可以在系统软件中表示为零个或多个cxl 2.0主机桥(host bridge),零个或多个cxl 1.1主机桥,零个或多个pcie主机桥。主机桥是一种软件概念,它表示根端口的集合。
9.12.1 cxl 2.0根端口(root port)每个cxl 2.0主机桥与基本总线号(base bus number)关联,该总线号应包含一个或多个支持cxl 2.0的根端口。这些根端口显示在pcie配置空间中。根端口可以处于以下四种状态之一:
1.断开连接2.连接到cxl 2.0设备/交换机3.连接到cxl 1.1设备4.连接到pcie设备/交换机9.12.2 cxl 2.0虚拟层次在cxl 2.0模式下运行的根端口可以直接连接到cxl 2.0设备或cxl交换机。这些根端口形成cxl 2.0虚拟层次结构(virtual hierarchy,vh)。
9.12.3 枚举支持cxl 2.0的下游端口软件可以使用下游端口配置空间中的link status寄存器和cxl dvsec id 7结构的组合来确定具有cxl 2.0功能的下游端口处于哪个状态。
其它内容暂时略。
9.13 hdm的软件视图hdm作为正常存储呈现给os/vmm,但是与主机内存相比,hdm可能具有不同的性能/延迟属性。因此,具有cxl.mem设备的系统可以被视为异构存储器系统。acpi hmat表是为此类系统引入的,可以报告不同内存范围的延迟和带宽特性。
9.13.1 内存交织内存交织允许以统一的间隔将连续的内存地址映射到不同的cxl设备。
9.13.2 cxl内存设备标签存储区暂时略过。
9.14 cxl os固件接口扩展9.14.1 cxl early discovery table (cedt)cxl早期发现表(cxl early discovery table)使操作系统能够在启动期间的早期,即在分析acpi命名空间之前,找到cxl主机桥和主机桥寄存器的位置。此表中的信息可由早期启动代码用于执行cxl主机的预初始化,例如配置cxlcache和cxlmem。
9.14.2 cxl_osc暂时略过
9.15 cxl设备可操作性模型(manageability model)可管理性是被管理实体向管理实体公开的一组功能。cxl设备是被管理实体。这些能力通常分为sensor和effector。性能计数器是sensor的一个示例,而更新设备固件的能力是effector的一个示例。sensor和effector可以在带内(即通过驻留os/vmm的软件)访问,也可以在带外(即通过运行在独立于os的管理控制器上的固件)访问。
带内软件可以通过发出pcie配置读/写或mmio读/写事务来访问cxl设备的可管理性功能。s0状态下的带外可管理性可以在pci express基础架构上利用mctp。
今日看点丨传江淮汽车拟45亿元转让蔚来工厂资产?蔚来回应;vivo 产品经理称年底各家旗舰新机无缘卫星通讯
水银温度计甩不下去怎么办_如何判断水银温度计是否损坏
【虹科新品】10 GSample/s速率、12位分辨率和12.8 GByte/s——虹科全新PCIe数字化仪
雷蛇发布Blade 游戏笔记本电脑 是德科技交付5G毫米波无线测试系统
采用调频发射方式的无线发射器
CXL系统启动和复位流程概览
SRAM是什么存储器,它的作用又是什么
保速捷A2 AR超清记录仪评测
一篇读懂 如何正确选择行车记录仪存储卡?
PCBA加工生产和报价需要提供哪些资料?
智能路灯杆网关如何定制 智慧杆网关设计方法
电梯光幕隐藏的关键之红外传感器
PCIe6.0助力AI人工智能应用
撤稿观察和Science合作,推出了系列重磅报道
263运营级云视频平台搭建的技术迭代历程
广和通顺利完成锐凌无线 51%股权收购
大家一起体验AI和群如何改变一个大学新生!
小米mix2最新消息:小米mix2配置确认,6寸2K屏+8G+256G,全面屏幕超高配逆袭?
浅析薄膜电容器在电磁加热设备中的应用
制作芯片需要什么设备