PM_PME 是由请求电源管理事件的组件上行发送的(隐式路由到根复合体)。 PM_Turn_Off 是向所有端点下行发送的(从根复合体隐式广播路由)。 PME_TO_Ack 是由端点上行发送的。对于具有多个下游端口的交换机,在所有下游端口接收到此消息之前,它不会向上传递(收集并路由到Root Complex路由)。 回到顶部 Error Messages(错...
其中,PCI-Compatible PM是一种在软件上和硬件上都与PCI-PM(定义在ACPI Spec中)兼容的模式,其要求PCIe设备的每个Function都包含PCI Power Management Capability寄存器。软件可以通过配置请求(Configuration Request)的方式来切换PCIe设备的某个Function的PM状态。在PCIe Spec V2.1中,还引入了动态功耗分配(Dynamic Power Al...
PCIe PM的软件层和PCI PM是兼容的,尽管其硬件实现方式并非完全相同。 PCI PM的唤醒机制是通过一个边带信号来实现的,而PCIe PM还支持一种inband的PME消息(Power Management Event Message)来实现这一功能。 需要注意的是,PME消息本质上也是Message,也就是说PME消息也是一种TLP,因此PME消息只能在链路处于L0状态下,...
Power Management PM 除了软件与硬件上的兼容模式,更多的是硬件上管理模式。PCIe设备之间通过功耗管理事件(Power Management Event,PME)来进行通信,同时控制功耗状态的切换。规范文档就定义了PCIe 设备的PM状态: D0状态:Full-on。又分为两个状态:未初始化和活动状态。 D1状态:Light Sleep,轻睡眠状态,该状态可选。
链路唤醒机制可以让处于非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)来实现这一功能。
PCI-PM的D状态转换过程由下游组件主导,比如从D0到L1状态,上游组件通过Cfg Wr的TLP改变下游function的PMCSR中的状态,然后由下游组件启动链路状态切换。进入L1状态后,功耗管理软件通过PM_PME消息配置下游组件的PMCSR,设备收到PME_Turn_Off消息后,会停止传输并发送PME_TO_Ack Message。ASPM则在D0状态...
PCIePM的软件层和PCI PM是兼容的,尽管其硬件实现方式并非完全相同。PCI PM的唤醒机制是通过一个边带信号来实现的,而PCIePM还支持一种inband的PME消息(Power Management Event Message)来实现这一功能。需要注意的是,PME消息本质上也是Me bios由pcie设备唤醒...
读取和设置电源管理状态:通过PMCSR寄存器,驱动程序可以读取和设置PCIe设备的电源管理状态,如D0(正常工作状态)、D1(轻睡眠状态)、D2(深睡眠状态)和D3(完全断电状态)。 电源管理事件处理:PMCSR Driver还负责处理电源管理事件(PME),这些事件用于在设备进入低功耗状态时通知系统,或者请求系统唤醒设备。 PCIE Power Manag...
软件层可以通过向PMCSR(Power Mgt Control and Status Register)的PowerState位置写相关值,使得设备的某个Function进入D3 Hot状态。在D3 Hot状态下,该Function只能发送PME消息和PME_TO_ACK消息或者应答配置请求和PME_Turn_Off消息。 在进入D3状态之前,软件必须保证所有重要的Non-Posted的请求都收到了与之匹配的Compl...