Processor power management in Windows 7 and Windows Server 2008 R2

Updated: October 19, 2012

Windows 7 and Windows Server 2008 R2 include updated support for ACPI processor power management (PPM) features, including support for processor performance states and processor idle sleep states on multiprocessor systems. This topic provides details of the support in Windows 7 and Windows Server 2008 R2, describes how PPM functions with the Windows 7 and Windows Server 2008 R2 power policy store, and provides guidelines for firmware developers and system designers.

Windows 7 includes expanded support for the processor objects that are defined in the ACPI 2.0 and ACPI 3.0 specifications. Several of the processor objects are required for Windows 7 to support processor performance states, whereas other processor objects are optional and can be leveraged at the discretion of the system firmware engineer.

Core Parking is a Windows kernel power manager and kernel scheduler technology that helps improve the energy efficiency of a system by dynamically scaling the number of logical processors that are in use based on workload. Similar to how processor performance states help scale the performance of a single processor, Core Parking is designed to help scale the performance and energy efficiency across the set of logical processors in the system.

Processor Clocking Control (PCC) is a feature for Windows Server 2008 R2 where the operating system and the underlying platform hardware cooperatively manage processor power management (PPM). With PCC, Windows continues to direct the processor performance according to the system workload and communicates the ideal amount of processor performance to another hardware entity in the system through a firmware-described interface.

Microsoft provides several software tools to help you test and verify system Processor Power Management (PPM) support. These tools allow you to view, change, or record the system’s use of PPM technologies.

Windows 7 and Windows Server 2008 R2 include a rich set of power policy settings that can influence and control the Windows kernel power manager algorithms for choosing target Processor Power Management (PPM) states. This topic describes these PPM policy settings and their effect on Windows kernel power manager behavior and use of PPM features.

Introduction

Saving power in today’s computers is a primary design goal, whether to prolong battery life and manage system thermals in portable computers or to address growing energy consumption in desktop and server systems. The processors in today's computers represent a significant portion of the overall system power budget, while also providing a rich set of power management controls that offer significant power-saving opportunities.

Windows 7 and Windows Server 2008 R2 include updated and enhanced support for processor power management (PPM) technologies, including Core Parking, improvements to PPM policy configuration, and cooperative processor performance control with the underlying hardware. This paper provides details about the PPM implementation in Windows 7 and Windows Server 2008 R2 that are useful for system designers, firmware engineers, and test engineers.

PPM changes in Windows 7

Windows 7 includes the following PPM changes and enhancements:

Discrete PPM policies

Each configuration option for PPM has its own independent power policy setting. All PPM power policy settings use the same framework and the same PowerCfg utility interface options for configuration. The grouping of PPM power policy settings into collections of settings and the /ppmperf, /ppmidle, /encode, and /decode PowerCfg options are not supported in Windows 7.

Core Parking

The Windows kernel power manager cooperates with the kernel scheduler to intelligently target work to a subset of all logical processors in the system to help improve energy efficiency. On systems that have processors that include Intel Hyper-Threading Technology, Core Parking also helps improve system performance and responsiveness.

Improved diagnostic utilities

The PowerCfg utility has been enhanced with the /energy option to diagnose common power management problems, including errors in the firmware that describe a computer's PPM capabilities.

Processor Clocking Control (PCC)

PCC enables cooperative processor performance and throttle state management with the underlying platform firmware. PCC helps the platform enable the underlying power management features, such as fan speed control, while the processor remains within a range of performance states. PPC is supported only on Windows Server 2008 R2.

Intelligent Timer Tick Distribution (ITTD)

ITTD helps to extend the amount of time that processor cores remain in the idle state by not interrupting all cores in the system when the periodic timer interrupt is delivered. Only the base service processor (BSP) receives every timer tick interrupt, which it optionally delivers to secondary processor cores. When ITTD is combined with Core Parking, it helps systems that have Hyper-V installed realize reduced interrupt traffic and longer idle periods.

Updated PPM policies

The default PPM policies in Windows 7 have been updated to improve energy efficiency and to balance system performance with power savings. When a computer is running on battery power, the High Performance power plan uses multiple processor performance states. Similarly, the Power Saver plan uses multiple processor performance states and is no longer capped at the lowest supported performance state. These improvements help balance the power savings with overall system performance.

Next steps

After reading this topic, system designers, firmware developers, and OEMs are encouraged to:

Carefully implement the ACPI processor objects in the system firmware on capable systems as described in this topic to ensure proper support for PPM when running Windows.

Leverage the Pwrtest tool in the WDK and the tools that are included with Windows, including PowerCfg, to help you test and validate PPM support in Windows 7 and Windows Server 2008 R2.