Datasheet

Datasheet, Volume 1 45
Power Management
4.2.4.5 C-State Auto-Demotion
In general, deeper C-states, such as C6, have long latencies and have higher energy
entry/exit costs. The resulting performance and energy penalties become significant
when the entry/exit frequency of a deeper C-state is high.
Therefore, incorrect or inefficient usage of deeper C-states may have a negative impact
on power consumption. To increase residency and improve power consumption in
deeper C-states, the processor supports C-state auto-demotion.
There are two C-State auto-demotion options:
•C6 to C3
C6/C3 To C1
The decision to demote a core from C6 to C3 or C3/C6 to C1 is based on each core’s
residency history. Requests to deeper C-states are demoted to shallower C-states when
the original request doesn't make sense from a performance or energy perspective.
This feature is disabled by default. BIOS must enable it in the
PMG_CST_CONFIG_CONTROL register. The auto-demotion policy is also configured by
this register.
4.2.5 Package C-States
The processor supports C0, C1/C1E, C3, and C6 power states. The following is a
summary of the general rules for package C-state entry. These apply to all package C-
states unless specified otherwise:
A package C-state request is determined by the lowest numerical core C-state
amongst all cores.
A package C-state is automatically resolved by the processor depending on the
core idle power states and the status of the platform components.
Each core can be at a lower idle power state than the package if the platform
does not grant the processor permission to enter a requested package C-state.
The platform may allow additional power savings to be realized in the
processor.
For package C-states, the processor is not required to enter C0 before entering any
other C-state.
The processor exits a package C-state when a break event is detected. Depending on
the type of break event, the processor does the following:
If a core break event is received, the target core is activated and the break event
message is forwarded to the target core.
If the break event is not masked, the target core enters the core C0 state and
the processor enters package C0.
If the break event is masked, the processor attempts to re-enter its previous
package state.
If the break event was due to a memory access or snoop request.
But the platform did not request to keep the processor in a higher package C-
state, the package returns to its previous C-state.
And the platform requests a higher power C-state, the memory access or snoop
request is serviced and the package remains in the higher power C-state.