The Wayback Machine - https://web.archive.org/web/20040713182635/http://www.microsoft.com:80/whdc/archive/winpowmgmt.mspx
*
Microsoft.com Home|Site Map
Windows*
Search Microsoft.com for:
Windows Hardware and Driver Central *
|WHDC Site Map
WinHEC 2004: Overview

Windows Power Management

Instant PC availability and energy savings

Updated: December 4, 2001
*
On This Page
The OnNow Power-Managed PC
The OnNow Power-Managed PC
Operating System-centered Power ManagementOperating System-centered Power Management
Power Management and Energy ConservationPower Management and Energy Conservation
Windows and Power Management
Windows and Power Management
Windows�XP OnNow ImprovementsWindows�XP OnNow Improvements
Windows�XP and Mobile PC Power
Windows�XP and Mobile PC Power
Guidelines for ManufacturersGuidelines for Manufacturers

OnNow design ensures that PCs are instantly accessible to users when needed, while remaining silent and consuming the least possible power when not actively working.

In earlier laptop designs, designers tried to provide power management through BIOS control of devices. This resulted in problems such as delays while hard disks spin up, screens going blank during presentations, and low battery life due to inappropriate device usage. And previously, the only power management for desktop PCs was the power switch.

Advances in Microsoft� Windows� operating systems are built on technologies defined in the Advanced Configuration and Power Interface (ACPI) Specification and other industry standards.

With PCs designed to work with Windows power management, including good BIOS and device implementations, users can realize great power savings and take advantage of new PC usage scenarios that werent previously possible.

Home and business PCs that run Windows�XP should be evaluated against new baselines for robust performance, fast startup, and maximum power savings, as described here.

The OnNow Power-Managed PC

Most users prefer to leave PCs turned off when not in use to reduce noise and electricity use. However, for new uses at home and in business, the PC must be instantly available to answer the phone, display e-mail, or browse the Web, but be silent and use minimal energy when not in use.

To achieve this, the OnNow-capable hardware, operating system, and applications must work together in these ways:

The PC appears to be off, but is ready for use immediately when the user presses the On buttonand return to its "off but ready" state automatically when the system is idle.

Software adjusts its behavior when the PCs power state changesfor example, software does not inadvertently keep the PC busy with unnecessary background tasks.

All devices participate in power management. Any device can have its power state changed by the system.

The power-managed PC experience

The PC appears to be off but can respond to wake-up events received from an application, a modem or network connection.

Home and Business Users

Continuous availability

The PC can be available 24x7, going into sleep mode when not in active use.

Instant resume

The user can wake the PC and begin work immediatelyeven waking another PC on the network if needed. A PC that serves as the Internet Connection Sharing host or that hosts a shared printer can remain in a silent sleep state, but be instantly available if another PC needs the Internet connection or the printer.

Preserved work state

Windows saves the complete system state when the PC goes to sleep, then restores applications and network connections automatically when the system wakes.

Automated system maintenance

An application can be scheduled to wake the PC during off-peak times to perform system maintenance tasks, including connecting to the Internet to receive software updates. A remote network administration application can wake a networked PC for software updates or backup.

Web-based alerts

PC-networked devicessuch as a webcam or home security detection devicecould wake the PC to send e-mail or pager messages based on programmed events.

Mobile Users

Extended battery life

Windows provides processor performance state control to support new capabilities for optimizing CPU power utilization.

Graceful docking state changes

After removing a PC from its docking station, the user can begin working later with the entire system state preserved.

Keep applications alive when CPU�is idle

An application can keep the PC awake even if the processor is idlefor example, the PC wont go to sleep during a long pause in a Microsoft PowerPoint� presentation

Operating System-centered Power Management

OnNow capabilities are only possible when the operating system controls power management across the entire PC system. For example, only the operating system can know that an application might be playing back video, even though the processor is idle. The operating system knows that a USB modem was added after BIOS POST completed, or that an IEEE�1394 camera was attached.

The operating system can provide a command center, and it can know system parameters and states that applications and BIOS cannot know, such as:

Thermal zone conditions

Stop Clock throttling

Processor power performance capabilities and states

The sudden appearance of new devices that cause power demands or that indicate a users intention to begin certain tasks

System states that need to be saved before the PC can safely go to sleep

In an OnNow system, Windows directs power management, integrates the activities of other components, and administers power policy. The power policiesthat is, the collection of decisions that determine how to save energy and when to go to sleepare based on end-user preferences, application needs, and system hardware capabilities.

The operating system is responsible for the policy of when to go to sleep and how deep a sleep to go into, as well as how to operate the processor to obtain energy conservation and to meet thermal goals. Other components in the system are responsible for other aspects of power policy.

Power Management and Energy Conservation

Energy shortages in the Western U.S. have focused public, government, and industry attention on the amount of power consumed by computers and related equipment. It is clear that further efforts are required to reduce the power consumption of PCs.

Windows and Power Management

System manufacturers, firmware developers, chipset designers, and many other members of the PC industry worked with Microsoft to develop the combination of hardware, firmware, and operating system support for a new power management model:

The ACPI Specification, together with industry-defined bus-class and device-class standards, define control interfaces and power state definitions.

Core operating system functionality coordinates power management at all levels and defines power-state transitions for the entire PC system.

Windows driver architecture and sample driver code from Microsoft support device power management and Plug and Play.

Win32� API delivers capabilities for applications that want to participate in OnNow power management.

Power States

To the user, the PC is either on or off, and other conditions are not visible. However, the ACPI specification defines a number of different power states that are supported by Windows operating systems.

System power state definitions

Corresponding power states are also defined in the ACPI specification for devices, buses, and processors

StateDescription

S0/Working

On. The CPU is fully up and running; power conservation is on a per-device basis.

S1 Sleep

Appears off. The CPU is stopped; RAM is refreshed; the system is running in a low power mode.

S2 Sleep

Appears off. The CPU has no power; RAM is refreshed; the system is in a lower power mode than S1.

S3 Sleep

Appears off. The CPU has no power; RAM is in slow refresh; the power supply is in a reduced power mode.

S4 Hibernate

Appears off. The hardware is completely off, but system memory has been saved to disk.

S5/Off

Off. The hardware is completely off, the operating system has shut down; nothing has been saved. Requires a complete reboot to return to the Working state.

System Wakeup and Devices

The OnNow power management architecture in Windows supports a wide range of wake-up devices. However, wake-up features are enabled for a device only when requested by an application or when an application performs an action that implies wake-up, such as using the Telephony API (TAPI) to await an incoming phone call.

When a device is enabled for wake-up, the combined capabilities of that device and the operating system dictate which sleeping states (S1S4) are available. The operating system policy is to put the system into the lowest power sleeping state that can support all enabled wake-up devices.

Wake-up signals from devices on peripheral buses, USB devices, PCI add-on cards, and CardBus devices come through their host bus.

Device Support for Power Management

Each device in the system must implement power management in its driver and as required for the bus that it uses to attach to the PC. Each bus and each device class has a specification for how power management is to be enabled, and that defines the degree to which the device can participate in system-wide power management.

USB devices, for example, can be especially good members of a power-managed PC. The USB specifications define device-specific power management, and the Windows�XP operating system can selectively suspend USB devices and the USB host controller, which allows the system to switch more often to a lower CPU power state.

Windows Drivers and Power Management

All driver sample and driver models for Windows�XP, Windows�2000, and Windows�Me implement power management support, without the driver developer having to apply special concern for the details of power control. Windows driver support provides an interface for drivers to perform these power management functions:

Get a devices power-related capabilities

Query, set, or get a devices power state

Enable a device to wake the system

Get battery status

Applications and Power Management

Windows provides an architecture for applications to participate in power management. Although Windows performs most power management tasks, applications can be designed specifically to handle power management functions.

Application developers can integrate certain power management functions through system messages and APIs that provide mechanisms for:

Allowing an application to inform the operating system about its processing state and devices in use, to avoid disruptions by changes in the power state

Giving applications more knowledge of and control over the power state of specific devices

For information, application developers can refer to the "Power Management" topic in the Microsoft Platform SDK.

Win32 APIs for Power Management
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/power/power_3v6t.asp

Windows�XP OnNow Improvements

Microsoft first delivered OnNow power management and ACPI support in Windows�98 and extended that support in Windows�2000 and Windows�Me. Windows�XP delivers new benefits and usage scenarios for end users, in addition to cost and environmental savings:

The fastest resume time of any PC operating system

Improved support for processor C-state control

Native processor performance control for mobile PC processors such as Intel SpeedStep, AMD PowerNow, and Transmeta Longrun

Improved power management of USB devices

The Windows development team took bold steps in making fast resume times a reality for PCs running Windows�XP. Heres a summary of key changes.

Support for BIOS Improvements. Windows�XP supports the Simple Boot Flag specification, which can result in reduced time spent in BIOS self tests if the previous system boot was successful.

Simple Boot Flag Specification
http://www.microsoft.com/ whdc/ hwdev/ resources/ specs/ simp_boot.mspx

Boot Loader Improvements. The Windows�XP boot loader caches file and directory metadata in large chunks in a "most recently used" manner, dramatically reducing time spent seeking data on hard disks. Each system file is now read with a single I/O operation. The result is that the boot loader is about 4 to 5 times faster than in Windows�2000, with similar improvements in hibernation resume times.

Windows Boot Improvements. Optimizations include overlapping device initialization with the required disk I/Os, and removing or delaying the loading of processes and services that are unnecessary at boot time.

Windows Hibernation Improvements. Before Windows�XP writes to the hibernation file, all memory pages on the zero, free, and standby lists are freed, so these are not written to disk. Memory pages are also compressed before being written.

Windows Standby Resume Improvements. Many changes were made to the mechanisms by which Windows�XP components manage the resume processes.

Technical details about these changes and evaluation tools are provided on the FastBoot/Fast Resume web site.

Fast Resume Tools and Guidelines
http://www.microsoft.com/ whdc/ hwdev/ platform/ performance/ fastboot/default.mspx

Windows�XP and Mobile PC Power

Windows�XP Optimizations for Mobile PCs. The most radical behavior enhancement that mobile PC users will recognize when running Windows�XP come from the optimizations for resume state performances described in the previous section. The mobile PC user can close the lid while working, then open it hours later and begin working in the same place immediately.

Windows�XP also includes optimizations for C-state performancethat is, the ability to run the processor in lower power states when the PC is idle. To do this, Windows developers made it possible for system manufacturers to program the C-state behavior for the specific processor used in a new mobile unit.

Windows�XP and Processor Control. Today’s mobile PC users want to play DVD titles and games. This introduces new high-CPU-utilization demands to add to the problems that designers have struggled with in working to conserve battery life. To solve some of this problem, CPU manufacturers have introduced microprocessors that employ different performance states:

High voltage/high frequency states for use when processor utilization is high

Low voltage/low frequency states to conserve battery life

To support these new processors, Windows�XP has implemented native processor performance control and new processor performance control policies.

Processor control policy types

In Windows�XP, the processor performance control policy is linked to the Power Scheme setting in the standard Power Options control panel applet.

PolicyDescription

None

Highest performance state

Constant

Lowest Performance state

Adaptive

Performance state chosen according to demand

Degrade

Lowest performance state + additional linear performance reduction as battery discharges

Windows�XP supports processor performance control using the Processor Objects defined in the ACPI Version 2.0 specification and the legacy SMI interface defined by Intel. Microsoft defines functionality, policy, and implementation details for each CPU vendor in a white paper.

Windows�XP Native Processor Performance Control
http://www.microsoft.com/whdc/hwdev/tech/onnow/default.mspx

The Windows�XP developers implemented support for the individual technologies from different CPU vendors to provide key advances for processor performance control:

New processor driver architecture

New APIs provided to control C-state behavior

All processor control moved from the hardware abstraction layer (HAL) to the processor driver, which provides:

C-state control

Throttling control

Added performance control

Windows�XP processor control policy

The user selects the Power Scheme to be used, and Windows�XP matches it with a processor control policy.

Power schemeAC powerDC power

Home/Office Desktop

None

Adaptive

Portable/Laptop

Adaptive

Adaptive

Minimal Power Management

Adaptive

Adaptive

Maximize Battery Life

Adaptive

Degrade

Presentation

Adaptive

Degrade

Always On

None

None

Recommendations to Mobile PC Manufacturers.

Support processor control as defined in Section 8.3.3 of ACPI 2.0, following the guidelines from Microsoft.

Do not provide CPU performance state control through any means other than the operating system when running Windows�XP.

The "Designed for Windows" logo requires use of operating system native processor performance state control.

Use tools from the Windows DDK to optimize systems C-state utilization:

Use Idlemon and Procmon to evaluate C-state behavior

Use Dumppo to change values

Test multiple-performance processor systems with Windows�XP.

Guidelines for Manufacturers

Prepare for the "Designed for Windows" Logo: Support S3 State.Windows Logo Program System and Device Requirements, Version 2.0, requires support for power management for x86-based PC client systems and devices, based on ACPI and other industry specifications. In particular, the baseline requirement for the "Designed for Windows" logo is:


System ensures optimal user experience for suspend and hibernate, including correct BIOS support for the supported sleep states plus a Fast POST implementation.


Target goals for fast system startup and resume times are required for x86-based client systems by January 1, 2002. (Note, however, that the initial release of the 64-bit Windows operating system will not include support for power management sleep states.)

Windows Logo Program Requirements
http://www.microsoft.com/whdc/winlogo/downloads.mspx

BIOS Setup. For PCs designed to run Windows 2000 and Windows XP:

The default BIOS settings should be:

Video Re-POST disabled

HD Reset disabled

S3 enabled

Optimize your BIOS code for S3 Resume:

Do not include code that overlaps Windows

The S3 path in the BIOS should not look like an APM resume path

Implement the Simple Boot Specification.

Chip Support. Take advantage of CPU and chipset power management features:

Get register-specific information from your vendors

Ensure proper register programming

Ensure correct ACPI reporting

Probe boards to ensure they are working

Design for Fast Resume. The recommended performance guidelines for a consumer PC running Windows XP are:

Boot to a useable state in a total of 30 seconds

Resume from Hibernate (S4) in a total of 20 seconds

Resume from Standby (S3) in a total of 5 seconds

Boot and resume times are measured from the time the power switch is pressed to being able to start a program from a desktop shortcut.

Test and Evaluate. Thorough power management testing should begin with Windows XP. Microsoft provides the Bootvis tool for manufacturers who want to improve boot and resume times for new PCs.

Use Bootvis to:

Measure BIOS times

Measure driver times

Evaluate hardware and drivers during development and qualification

Use Windows�XP HCT 10.0 to test power management capabilities of systems and devices, to ensure robust performance.

Windows HCT 10.0 from WHQL
http://www.microsoft.com/whdc/hwtest/default.mspx

Industry Specifications

ACPI Specification, Revisions 1.0b and 2.0�This specification defines an interface to the system board that enables the operating system to implement directed power management and system configuration. ACPI allows system manufacturers to build OnNow-capable systems. See
http://www.acpi.info/This link leaves the Microsoft.com site

Device Class Power Management Reference Specifications
http://www.microsoft.com/ whdc/ hwdev/ resources/ specs/ PMref/default.mspx

1394 Trade Association Power Specification, Part 1: Cable Power Distribution; Part 3:�Power State Management
http://www.1394ta.org/ Technology/ Specifications/ specifications.htm/This link leaves the Microsoft.com site

PCI Bus Power Management Interface (PCI-PM) Specification, 1.1 This is the only specification that ensures PCI compatibility with Windows�2000/Windows�XP power management, which use PME# as the wake-up signal. See the PCI SIG web site at
http://www.pcisig.comThis link leaves the Microsoft.com site

Simple Boot Flag Specification This specification defines a mechanism for Windows, the system BIOS, and option ROM BIOSes to work together to optimize the boot process. See
http://www.microsoft.com/ whdc/ hwdev/ resources/ specs/ simp_boot.mspx

USB 1.1 Specification and USB device class specifications These specifications define bus class and device class power management implementations. See the USB Implementers Forum web site at
http://www.usb.org/developers/This link leaves the Microsoft.com site

Microsoft Resources

OnNow InitiativeImplementation Guidelines
http://www.microsoft.com/whdc/hwdev/tech/onnow/default.mspx

Fast startup/fast resume and Bootvis tool for Windows�XP
http://www.microsoft.com/ whdc/ hwdev/ platform/ performance/ fastboot/default.mspx

Windows Logo Program for Hardware
http://www.microsoft.com/whdc/winlogo/default.mspx

Windows�XP HCT 10.0 from WHQL
http://www.microsoft.com/whdc/hwtest/default.mspx



©2004 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement
Microsoft