Chapter 16: Power Management
书籍 : PCI Express Technology 3.0 (MindShare Press, 2012)
页码 : Book Pages 561-600 | PDF Pages 620-660
学习日期: 2026-04-13
本章概要
本章描述 PCIe 的电源管理机制,包括链路电源状态(L0, L0s, L1, L2, L3)、ASPM (Active State Power Management)、PM 状态转换和电源管理策略。
16.1 电源状态概述
PCIe 电源状态
| 状态 | 说明 | 恢复时间 |
|---|---|---|
| L0 | 完全正常工作 | - |
| L0s | 低功耗待命 | ~1-2 μs |
| L1 | 低功耗睡眠 | ~50-100 μs |
| L2 | 深度睡眠 | ~50 ms |
| L3 | 关闭 | - |
L0 状态
- 完全工作状态
- 最高功耗
- 全带宽运行
16.2 ASPM (Active State PM)
ASPM 级别
| 级别 | 功耗降低 | 恢复时间 |
|---|---|---|
| L0s | 中等 | ~1-2 μs |
| L1 | 显著 | ~50-100 μs |
ASPM 工作原理
- 链路空闲时自动进入
- 无需软件干预
- 基于硬件检测
L0s 状态
- 发射机停止发送
- 接收机保持锁定
- 发送 FTS 有序集恢复
L1 状态
- 比 L0s 更深睡眠
- 需要更多恢复时间
- 双方协商进入
16.3链路电源状态转换
L0 → L0s
1. 链路空闲超时
2. 发射机发送 Electrical Idle
3. 双方进入 L0s
L0s → L0
1. 检测到 FTS 或非 Idle
2. 接收机恢复锁定
3. 发送 FTS 序列
4. 恢复到 L0
L0 → L1
1. 软件请求 L1
2. 完成所有事务
3. 发送 PM 消息
4. 进入 L1
L1 → L0
1. 接收非 Idle 信号
2. 重新训练链路
3. 恢复到 L0
16.4 PM 消息
PM 消息类型
| 消息 | 说明 |
|---|---|
| PM_Enter_L1 | 请求进入 L1 |
| PM_Enter_L23 | 请求进入 L2/L3 |
| PM_Request_Ack | PM 请求确认 |
| PM_Active_State_Request_L1 | 请求从 L1 返回 |
PM 序列
软件请求进入 L1
↓
发送 PM_Enter_L1
↓
对方确认 (PM_Request_Ack)
↓
进入 L1
16.5 L2 状态
L2 特点
- 主电源关闭
- 仅保留辅助电源
- 唤醒时间较长
L2 唤醒
- 发送 WAKE# 信号 (可选)
-Beaconing (差分信号) - 需要完整链路训练
16.6 电源策略
电源管理策略
- ASPM: 硬件自动管理
- OSPM: 操作系统控制
- 软件驱动: 驱动请求
电源预算
- 系统分配电源预算
- 设备不能超过预算
- 插槽功率限制
16.7 电源管理和热管理
热管理
- 过温保护
- 热节流
- 散热管理
功率限制
- Slot Power Limit
- 设备功率限制
- 防止过载
关键知识点速记
- L0 = 全速,L0s = 待命,L1 = 睡眠,L2/L3 = 关闭
- ASPM 是硬件自动管理
- L0s 恢复 ~1-2μs,L1 恢复 ~50-100μs
- PM 消息用于状态转换协商
- L2 需要完整链路训练恢复
- PM_Request_Ack 确认 PM 请求
笔记结束