x86 Everywhere: Intel Announces Medfield Phones
Power Gating, Power/Performance Scaling
Intel has sunk an enormous amount of effort into optimizing and improving Medfield's power consumption and frequency scaling. In order to understand why this matters, it helps to examine the relationship between voltage, frequency, and power consumption.
The graph above is for demonstration purposes only. It illustrates the relationship between CPU performance and total power consumption. At the lower end of the graph, CPU clock speeds increase much more rapidly than the chip's total power consumption. As voltage climbs, however, the graph flattens. At the right-hand side of the graph, power consumption increases more quickly than performance.
Saltwell is designed to take advantage of this curve. Clock control is fine-grained; adjustments are available in 100MHz increments. The CPU is designed to transition from sleep to active mode very quickly; Saltwell's worst-case exit latency for C1/C1E (CPU powered off) is just 350ns. The chip can wake up from C6 (deepest sleep, the entire SoC is powered down) in 70 microseconds.
The ARM industry has put a considerable emphasis on using multiple cores inside a single SoC of late. Texas Instruments' OMAP4 platform incorporates a pair of Cortex-M3 cores for low-power operation, while Nvidia's fifth companion core is designed to lower the SoC's power consumption in stand-by or when performing low-level tasks.
The ability to transition quickly from one state to another is critical to Intel's strategy for mobile devices. Fine-grained power control allows Santa Clara to avoid the need for combining multiple CPUs (a strategy ARM refers to as big.LITTLE) or building specialized "companion" cores a la Nvidia. Intel has eschewed this policy in favor of fine-grained power control and extensive use of hibernation / sleep states.
The following chart illustrates how fine-grained control can reduce total power consumption per task as well as improving device performance.
Total power consumed over 15 seconds in this example is 4W for CPU 1 and 3.6W for CPU 2. In absolute terms, CPU 2 drew 10% less power.
Be aware, however, that this data is easily perverted--and the incentives for companies to do so are high enough that we're including the following as an early warning against future snake oil. If we examine average power consumption over the total time it takes for each CPU to calculate the workload, the tables turn. CPU #1 suddenly looks more efficient, with an average power consumption of 0.5W compared to 0.514W for CPU #2.
Because an arithmetic average is calculated in terms of power consumed per second, CPU #2 is mathematically penalized for completing the workload more quickly. The best way to avoid being tricked by bad graphs is to only trust data on average power consumption when the figures have been calculated against the same amount of time.