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

PCIe总线的ASPM和PM机制总结

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

PCIe总线的ASPM和PM机制总结

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

PCIe(Peripheral Component Interconnect Express)总线是现代计算机系统中最重要的接口之一,广泛应用于各种高性能设备的连接。为了优化设备的电源消耗,PCIe定义了两种主要的电源管理机制:ASPM(Active State Power Management)和PM(Power Management)。本文将详细介绍这两种机制的关系和差异,帮助读者更好地理解PCIe的电源管理原理。

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号