PM_PME 是由请求电源管理事件的组件上行发送的(隐式路由到根复合体)。 PM_Turn_Off 是向所有端点下行发送的(从根复合体隐式广播路由)。 PME_TO_Ack 是由端点上行发送的。对于具有多个下游端口的交换机,在所有下游端口接收到此消息之前,它不会向上传递(收集并路由到Root Complex路由)。 回到顶部 Error Messages(错...
此时Function的内容(寄存器中的数据等)将会丢失,但是PCIe设备必须要保证PME的相关内容不受影响,这样才能在D3 Hot状态下产生PME消息。 注:虽然是对PCIe设备的某一个Function进行的PM操作,但是PM操作会影响到电源状态和链路状态,进而影响到同一个设备的其他Function(如果是Multi-Function设备的话)。 当PCIe设备的电源(...
PCIe PM的软件层和PCI PM是兼容的,尽管其硬件实现方式并非完全相同。 PCI PM的唤醒机制是通过一个边带信号来实现的,而PCIe PM还支持一种inband的PME消息(Power Management Event Message)来实现这一功能。 需要注意的是,PME消息本质上也是Message,也就是说PME消息也是一种TLP,因此PME消息只能在链路处于L0状态下,...
作用:指向下一个相关Capability结构的位置,便于系统遍历所有Capability结构。PMCR寄存器:性质:16位只读寄存器。包含信息:版本号:指示电源管理功能的版本。未使用的PME Clock:指示未使用的电源管理事件时钟。DSI:允许设备自定义电源模式。AUX Current:表示设备在节能状态下使用辅助电源的电流范围。PMCSR...
读取和设置电源管理状态:通过PMCSR寄存器,驱动程序可以读取和设置PCIe设备的电源管理状态,如D0(正常工作状态)、D1(轻睡眠状态)、D2(深睡眠状态)和D3(完全断电状态)。 电源管理事件处理:PMCSR Driver还负责处理电源管理事件(PME),这些事件用于在设备进入低功耗状态时通知系统,或者请求系统唤醒设备。 PCIE Power Manag...
链路唤醒机制可以让处于非D0状态的Endpoint,通过唤醒来请求Root(软件层)让其返回D0状态。PCIe PM的软件层和PCI PM是兼容的,尽管其硬件实现方式并非完全相同。PCI PM的唤醒机制是通过一个边带信号来实现的,而PCIe PM还支持一种inband的PME消息(Power Management Event Message)来实现这一功能。
链路唤醒机制可以让处于非D0状态的Endpoint,通过唤醒来请求Root(软件层)让其返回D0状态。PCIe PM的软件层和PCI PM是兼容的,尽管其硬件实现方式并非完全相同。PCI PM的唤醒机制是通过一个边带信号来实现的,而PCIe PM还支持一种inband的PME消息(Power Management Event Message)来实现这一功能。
PMCR寄存器,16位只读,包含设备物理属性信息,如版本号、未使用的PME Clock、预留字段DSI(设备特定初始化)、辅助电源电流需求和电源状态支持。其中,DSI允许自定义电源模式,而AUX Current表示设备在节能状态下使用辅助电源的电流范围。PMCSR寄存器更为关键,用于控制设备的电源状态迁移。它包括Power State...
该模式定义了一个基于硬件的,自发的链路功耗状态管理单元(Active State Power Management for the Link,ASPM),以及相关的唤醒机制(后面会详细讲)。PCIe设备之间通过功耗管理事件(Power Management Event,PME)来进行相互通信,并控制功耗状态的切换。而功耗管理事件(PME)本质上是一种Message。
PCI-PM的D状态转换过程由下游组件主导,比如从D0到L1状态,上游组件通过Cfg Wr的TLP改变下游function的PMCSR中的状态,然后由下游组件启动链路状态切换。进入L1状态后,功耗管理软件通过PM_PME消息配置下游组件的PMCSR,设备收到PME_Turn_Off消息后,会停止传输并发送PME_TO_Ack Message。ASPM则在D0状态...