PCIE 4.0 Power Mangement

power mangement 主要包含 “D” 状态,它主要是与一些功能绑定;“L”状态主要是和link的状态绑定。
D0 :工作状态,系统功耗较大;D1,D2:它是功耗管理的中间状态; D3_hot : 非常低的低功耗状态;D3_cold:它是一种掉电状态。
L0:工作状态; L0s,L1,L1.0,L1.1, L1.2 它是不同的低功耗状态。
组件使用power mangement event(PME) message 对系统进行唤醒,PCIE系统提供可选的辅助电源Vaux,用于主电源关闭下的唤醒工作。PCIE-PM PME 机制分为如下两种任务:
 (1). 相应资源的唤醒。(2). 向Root Complex 发送 PME Message。
 Active State Power Management(ASPM) 是一种硬件自动的调节系统功耗的机制,进入低功耗状态后,它会被链路两端的流量激活, 同时它可以被软件进行控制是否启用。

1. Link State Power Magenment

   PCIE定义了Link Power mangement states 以取代PCI Bus Power Mangement Interface Specification 中定义的bus power mangement状态。 Link statue 对于传统的pcie 软件是不可见的,但它可以通过ASPM 或者链路上组件的power magement D -state 获取。
注意这里的状态并不是跟LTSSM里的状态对应的,虽然是同名但是并不是一个状态。
L0: Active state。 ASPM and PCI-PM 功耗管理生效。
L0s: low resume latency, energy saving “standby” state。 对于ASPM是可选的。在此状态下,所有的main power,compopnent reference clocks and components’s PLL均是处于active的状态。
L1:high latency, low power “standby" state。PCI -PM生效,对于ASPM是可选的。在此状态下,所有的main power处于active的状态;若Clock Power Mangement 状态和 L1 PM状态被激活则 component reference clk 处于非active状态;内部PLL则处于关闭状态,这导致退出低功耗状态会有很大的延迟。在此阶段 TLP and DLLP是被禁止发送的。
  L1.1 状态下链路的共模电压是保持的, L1.2 状态下链路的共模电压并非是保持的 L1 PM state当识别到CLKREQ信号时,系统会退出L1 PM state
一旦DownStream Port 被配置为非D0 的D state ,则系统需要进入L1状态 (PCI-PM),同样被请求进入L1,在收到正确的响应识别信号后系统也会进入L1状态。退出低功耗则是通过USP(Upstream Port) --> DSP(Downstream Port) or DSP --> USP的数据流在数毫秒内唤醒
L2/L3 Ready: 它是一个伪状态,它对应LTSSM中的L2状态,主要应用于系统希望移除power 以及clock的场景。当PM software 配置系统进入D3状态,系统也会进入该状态。待main power移除后,如果Vaux 处于active状态则进入L2,否则进入L3。**当确认PME_Turn_Off Message有效后必须立刻计入L2/L2 Ready状态,DSP通过发送PM_Enter_L23 DLLP 启动进入L2/L3 Ready的流程。 ** 退出至L0需要经过LTSSM中的中间状态。
L2:Auxliay-powered Link, deep-energy-saving state。在该状态下仅Vaux有效,它负责给wakeup logic, PME context, any “keep alive” 逻辑供电。
L3: 没有任何power supply生效。
LDn:transitional Link Down presudo-state prior to L0。该presudo-state与 LTSSM中的detect polling configuration disable loopback hot-reset相关联。

相关推荐

  1. <span style='color:red;'>pcie</span>_TLP

    pcie_TLP

    2024-02-18 18:32:02      21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-18 18:32:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-18 18:32:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-18 18:32:02       82 阅读
  4. Python语言-面向对象

    2024-02-18 18:32:02       91 阅读

热门阅读

  1. python用socket传输图片

    2024-02-18 18:32:02       43 阅读
  2. Redis常用命令

    2024-02-18 18:32:02       47 阅读
  3. 4 存储器管理(下)

    2024-02-18 18:32:02       45 阅读
  4. 16.3 Spring框架_SpringJDBC与事务管理(❤❤❤❤)

    2024-02-18 18:32:02       54 阅读
  5. Docker-compose容器编排技术

    2024-02-18 18:32:02       40 阅读
  6. CSS的伪类选择器:nth-child()的用法示例

    2024-02-18 18:32:02       49 阅读
  7. Android13.0 系统Framework发送通知流程分析

    2024-02-18 18:32:02       50 阅读
  8. stable diffusion webui学习总结(3):参数设置

    2024-02-18 18:32:02       46 阅读