问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

PCIe 总线的 ASPM 和 PM 机制总结

创作时间:
作者:
@小白创作中心

PCIe 总线的 ASPM 和 PM 机制总结

引用
CSDN
1.
https://blog.csdn.net/weixin_47877869/article/details/144310766

PCIe(Peripheral Component Interconnect Express)总线中的电源管理机制主要包括ASPM(Active State Power Management)和PM(Power Management)。这两种机制各自独立但又可以协同工作,以优化设备的电源消耗。本文将详细介绍这两种机制的关系和差异。

1. ASPM(Active State Power Management)

  • 作用范围:链路层(Link)。
  • 目标:在保持链路活跃状态的同时,动态调节链路电源,降低空闲时的功耗。
  • 机制
  • ASPM 提供了L0sL1两种低功耗状态:
  • L0s:单方向链路进入低功耗状态,恢复时间最短,功耗减少有限。
  • L1:双向链路均进入低功耗状态,恢复时间稍长,功耗降低显著。
  • 更高级的L1 Substates (L1.1, L1.2)能进一步降低功耗。
  • 触发条件:通过硬件自动检测链路空闲状态,无需软件干预。
  • 配置方式
  • ASPM 是链路双方(Root Complex 和 Endpoint)协商决定的。
  • 操作系统可以通过 pcie_aspm 参数影响 ASPM 设置。
  • 优点
  • 实现了透明、硬件自动化的电源管理。
  • 不中断数据传输,不需要系统进入深度休眠。

2. PM(Power Management)

  • 作用范围:设备和系统层(包括 Function 和整个链路)。
  • 目标:通过软件控制设备或整个链路进入低功耗状态。
  • 机制
  • 提供了多个电源状态(Power States),包括:
  • D0:设备完全运行。
  • D1/D2:中等功耗状态(少见)。
  • D3hot/D3cold:设备休眠或完全断电。
  • 使用PCI PM Capabilities和 ACPI 接口实现。
  • 触发条件:操作系统或设备驱动通过 ACPI 或 PM 软件接口发送命令。
  • 配置方式
  • 操作系统管理设备电源状态。
  • 通过 lspci 或设备驱动进行 PM 配置。
  • 优点
  • 功耗降低幅度大,适合设备空闲时间较长的情况。
  • 可支持设备完全断电。

3. ASPM 和 PM 的关系

特性
ASPM
PM
控制层级
硬件(链路自动)
软件(操作系统、驱动)
管理范围
PCIe 链路(Root 和 Endpoint 之间的通道)
PCIe 设备(包括整个链路)
低功耗模式
L0s, L1, L1.1, L1.2
D0, D1, D2, D3hot, D3cold
触发方式
硬件自动检测链路空闲
操作系统或驱动通过命令
适用场景
短时间空闲,快速恢复链路
长时间空闲,设备进入深度休眠或断电
功耗降低幅度
中等,适用于维持链路活跃
显著,适用于设备完全下电
恢复时间
快速(微秒级)
较慢(毫秒级,视状态而定)
实现方式
硬件协商和自动切换
软件命令和 ACPI 协同工作
依赖条件
双方链路支持 ASPM 并启用
设备和操作系统支持 PCI PM 规范
组合使用
ASPM 可与 PM 协同工作,进一步降低功耗。
ASPM 辅助 PM 机制,在链路空闲时降低功耗。

4. ASPM 和 PM 状态的关系列表

PM 状态
ASPM 状态
说明
D0
L0, L0s, L1, L1.1, L1.2
设备完全运行时,链路根据空闲时间动态进入 L0s 或 L1。可使用 L1 Substates 降低功耗。
D1/D2
L1, L1.1, L1.2
当设备处于中等低功耗状态时,链路一般进入更深的 L1 低功耗状态。
D3hot
L1, L1.1, L1.2
设备在低功耗模式,链路处于低功耗状态,但保持电源连接,便于快速恢复。
D3cold
无(链路关闭)
设备完全断电,链路关闭,ASPM 状态不适用。

4.1 ASPM 和 PM 的协同工作

  • 设备短暂空闲
  • PM 保持设备在 D0。
  • ASPM 自动调整链路到 L0s 或 L1。
  • 设备长期空闲
  • PM 将设备转入 D3hot 或 D3cold。
  • 如果是 D3hot,链路仍可能保持 L1 状态。
  • 如果是 D3cold,链路完全关闭,无 ASPM 状态。
  • 深度节能模式
  • 使用 PM 将设备设置为 D3hot 或 D3cold。
  • 如果支持 L1 Substates(L1.1, L1.2),可进一步降低链路功耗。

4.2 实际应用中的协同

  • 链路空闲时间较短(短暂数据暂停)
  • ASPM 自动激活,进入 L0s 或 L1 状态。
  • PM 保持设备在 D0 状态。
  • 链路空闲时间较长(设备休眠)
  • 操作系统通过 PM 将设备设置为 D3hot/D3cold 状态。
  • 此时,ASPM 不再工作,因为链路被完全关闭。
  • 链路复用场景
  • 如设备可能频繁进入空闲状态但需要快速恢复,ASPM 是主要机制。
  • 如设备在很长一段时间不需要活动,PM 是主要机制。

4.3 重点分析:D3cold 时 ASPM 状态

  • 状态描述
  • 设备进入 D3cold 状态时,链路被完全断电,不再存在活动的 ASPM 状态。
  • 链路无法维持低功耗状态(如 L1 或 L1.2),因为电源已被切断。
  • Vaux 的作用
  • 如果设备支持 Vaux 电源,它可以为某些逻辑(如唤醒功能)提供电力,但这不属于 ASPM 的管理范畴。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号