There's no free lunch in electronics right? If your embedded application is demanding from a performance perspective, then you probably can't optimize the system for low-power. Or can you? In actuality, a lot of applications need bursts of compute-intensive activity with substantial periods of inactivity. And power management technology has advanced to the point that systems can hibernate to extremely low-power states. The Advanced Configuration & Power Interface (ACPI) industry standard formalizes an operating-system-controlled power-management scheme to slash power at the system, processor, and device levels. And processors such as the Intel® Atom™ Z Series include a revolutionary new C6 sleep state that reduces idle power to the 80mW range.
It turns out that many applications need a relatively powerful processor and miserly power-consumption budgets. Consider portable data acquisition systems. Such a system might need to acquire bursts of real-time data and apply math functions, or a DSP algorithm such as a discrete cosine transform, to the acquired data. There are ongoing applications in the communications field for such test gear and it must be battery powered and feature relatively long battery life.
Intel® Architecture (IA) processors are far more capable than most other general-purpose processors when it comes to math and DSP functions. Architecture extensions such as the Streaming SIMD Extensions (SSE) afford the range of IA processors considerable DSP capabilities and even the extremely-low-power Atom family supports SSE3. Check this SSE post for more information.
The Atom family generally targets low-power applications. The combination of Atom with an ACPI-capable operating system can further reduce system power for portable applications.
ACPI relies on a technique called Operating-System directed configuration and Power Management (OSPM) that provides software control of the operational state of the processor, devices such as disk drives, and system. For example, D0 would imply a device like a disk drives is fully operational, while D3 implies that the device is turned off and unresponsive to its interface. For the processor, C0 implies a fully operational processor and the progression from C1 through C6 trades progressively lower power consumption for progressively longer wakeup times.
Support for C0 through C3 states is fairly common throughout the processor industry. But Intel broke new ground with the C6 state. When the operating system commands the processor to the C6 states, the system flushes all caches, and drops the processor voltage to near zero. To enable the C6 functionality, Intel's processor designers added a small SRAM array to the processor to store the processor state. A dedicated power plane keeps the SRAM alive during C6, and still the processor consumes only 80mW.
You will find support for C6 in both the Atom family and in processors such as the Intel® Xeon 5500 based on the new microarchitecture code named Nehalem.
ACPI-enabled hardware and software products are readily available from members of the Intel® Embedded Alliance. RadiSys, a Premier member of the Alliance, offers several board-level products with C6 support. The Procelerant PicoZ500 board integrates an Atom Z510 processor, and a full complement of memory and I/O, in the 100mm-by-72mm Pico-ITX form factor that's perfect for portable systems.
Operating-system vendor MontaVista, an Associate member of the Alliance, also supports the C6 state. The company has an excellent presentation entitled "Embedded Linux Power Management on the Intel Atom Processor" that provides welcome ACPI background material and precisely describes the procedures needed to utilize the C6 state.
There are several other links that you might find both interesting and educational. On the Intel® Software Network, you will find power efficiency guidelines for Atom systems. And to show just how low you can go with Atom, check out the whitepaper on a solar-powered Atom system.
I'll close with a few other words about the applicability of ACPI and related technologies such as Intel® SpeedStep® Technology that's used to dynamically adjust clock speed and power consumption based on performance demands. These technologies certainly apply to portable systems, but also are a fit for consumer applications in the living room where you need to control heat dissipation in fan-less devices.
Have you applied ACPI in an embedded system? Please share you experience via a comment so that fellow followers of the Intel® Embedded Community can learn from your experience. Also, are you contemplating a design that will use the C6 state?
Roving Reporter (Intel Contractor)
Intel® Embedded Alliance