There are many non-standard but important power-saving features in PC today. Especially, different VGA and chipset vendors have proprietary designs to take advantages over their competitors. In addition, OEM/ODM can only fine-tune their systems based on their designs.
As the features are not standardized, this blog will only cover what they might be and how to identify them.
Graphic Processor Unit (GPU)
To provide extensive 2D and 3D acceleration to end-users, GPU has become the component that consumes equal or more power than CPU; however, daily uses such as office tasks and Internet browsing do not require such high graphic performance.
Similar to P-State for CPU, GPU vendors implement a method to dynamically control the core frequency and voltage. The implementation varies with the GPU vendors, such as AMD/ATI PowerPlay and nVidia PowerMizer
Neither Powerplay nor PowerMizer is standardized in any industrial specification. Enabling them depends on the system design, especially hardware and video firmware, i.e. VBIOS (or the coming GOP drivers). Proprietary drivers from AMD and nVidia contain a page to configure this power-saving features. If such GPUs are included in the system, it is important to confirm Powerplay or PowerMizer are in action.
Chipset
Each chipset has its own special power-saving features. As there are so many different chipsets, it is difficult to talk them in general. Luckily, chipset vendors provides tools to make BIOS engineers' life easier.
Intel: Selftest
AMD: BIOS Test Suite (BTS)
It should be, however, noted that these tools make mistakes, too. They should be used as a checklist, and manually comparison with databook is necessary - unless you are too lazy to do it.
CPU
Starting from the i-core CPU, Intel introduced a technology called "Turbo Boost" that increases frequency of some CPU cores while other cores are idling - this technology increase the throughput of tasks that does not maximize the utilization of multi-core technology.
When the frequency is boosted, the current used by CPU also increases dynamically. Based on my experience, disabling turbo boost on SandyBridge (i5/i7) can increase up to 30 minutes battery life (measured by MobileMark) on a regular laptop PC at the cost of some performance. This may change in the future hardware but it is a good try when it is necessary when you measure the performance by battery life instead of by horse-power.
Thermal Policy
Thermal control is a big topic for laptop PC. Spinning the fan at full speed not only generates noise but also consumes powers. It is also a complex topic as it involves mechanical, electrical, and thermal module designs. Carefully optimizing thermal policy can result significant improvement.
To reduce the fan speed but also prevent a system from overheating, a "thermal policy" is usually implemented in a laptop. However, a non-optimal thermal policy may use more power than necessary.
ACPI defines two modes - passive mode and active mode. Passive mode is defined as "reduce power-consumption in order to low the temperature". This is a preferable mode when a laptop is consuming power form a battery.
Misc
There are some other small improvement that can also add up significantly, including but not limited to
1. Disabling unused device
2. Disabling unused clocks in clockgen or Intel ME.
3. Set clocks to stoppable instead of free-running
4. Powering off internal USB/PCIe devices when they are not used, i.e. disabled by hotkey.
It is also important to minimize the number of interrupts generated as interrupts are expensive in terms of power consumption. Interrupts will not only wake-up the idling CPU cores and the waking-up much more power.
Both Windows and Linux provide tools to check the number of generated interrupts. Windbg (Windows only) with kernel debug can also monitor BIOS AML execution in run-time. BIOS engineers can take good uses of Windbg to fine-tune and remove unnecessary execution.
No comments:
Post a Comment