Device power requirements, slot power limits, and dynamic power allocation
Power Budgeting allows PCIe devices to report their power requirements to system software, enabling proper power allocation and preventing slot/system power overload.
| Rail | Typical Max | Usage |
|---|---|---|
| +3.3V | 25W | Legacy I/O, auxiliary |
| +3.3V Aux | 375 mW | Standby power (PME) |
| +12V | 75W (x16 slot) | Main power |
| Auxiliary Power | Varies | External connectors |
| Slot Type | Max Power |
|---|---|
| x1 | 10W |
| x4 | 25W |
| x8 | 50W |
| x16 | 75W |
| x16 (high power) | 300W+ (with aux) |
Downstream Port sends this message to inform device of available power:
Set_Slot_Power_Limit Message:
┌──────────────────────────────────────────────────────────────┐
│ Message Type: 0x50 (Slot Power Limit) │
├──────────────────────────────────────────────────────────────┤
│ Data Payload: │
│ ├── Slot Power Limit Value (8 bits) │
│ └── Slot Power Limit Scale (2 bits) │
└──────────────────────────────────────────────────────────────┘
Scale Values:
- 00: 1.0x (value in watts)
- 01: 0.1x (value * 0.1 watts)
- 10: 0.01x (value * 0.01 watts)
- 11: 0.001x (value * 0.001 watts)
| Offset | Register | Description |
|---|---|---|
| 00h | Extended Cap Header | ID = 0004h |
| 04h | Data Select | Select which data to read |
| 08h | Data | Power requirement data |
| 0Ch | Capability | System/Bus allocated |
Power Budget Data Register (32 bits):
┌──────────────────────────────────────────────────────────────┐
│ Bits │ Field │
├──────────────────────────────────────────────────────────────┤
│ 7:0 │ Base Power (units depend on scale) │
│ 9:8 │ Data Scale (same as slot power) │
│ 12:10 │ PM Sub State │
│ 14:13 │ PM State (D0, D1, D2, D3) │
│ 17:15 │ Type (PME Aux, Aux, Max, Sustained) │
│ 20:18 │ Power Rail (12V, 3.3V, etc.) │
│ 31:21 │ Reserved │
└──────────────────────────────────────────────────────────────┘
Device can operate at different power levels (substates) and dynamically switch:
| Offset | Register |
|---|---|
| 00h | Extended Cap Header (ID = 0016h) |
| 04h | DPA Capability |
| 08h | DPA Latency Indicator |
| 0Ch | DPA Status |
| 0Eh | DPA Control |
| 10h | DPA Power Allocation Array |
System can request immediate power reduction from devices:
1. System determines slot power limit
│
2. Send Set_Slot_Power_Limit message
│
3. Device reads power budget data
│
4. Software verifies device within budget
│
5. Software may limit device via DPA
│
6. Monitor actual power consumption