Intel's Game Changer: One Size Fits All Haswell


Integration with Windows 8

In Windows 7, the maximum amount of time hardware was allowed to stay in idle mode while awake was 15.6 milliseconds. One of Microsoft's design imperatives with the new operating system was to allow for longer idle periods, group timer updates and requests together, and give the system room to go to sleep when it didn't actually need to be powered up. The two slides below summarize W8's improvements (Intel characterizes them as better hygiene) at both the CPU and network/disk level.

 
Click for high res.

The next slide shows Windows 7's default activity, its activity when scheduled tasks are aligned with processor active cycles, and Windows 8's default scheduling.



In the Windows 7 comparisons, the black tick marks are 15.6ms apart. There are 7 ticks, for a total of 109.2 milliseconds, or roughly a tenth of a second. With default scheduling, the CPU only idles a full 15.6ms twice. From the first tick to the second, the chip drops into idle ~40.2% of the time. Aligning poll timers and grouping deferrable requests together under Windows 7 significantly improves the situation; the CPU spends 87% of its 15.6ms window in idle mode between ticks 1&2.

Windows 8 jettisons the system timer altogether, discourages poll timing, and aligns activity more stringently. As a result, the system spends a much higher amount of time in idle or low-power mode, even dropping into a CPU power-off state at one point. Because we're still talking about milliseconds, the end user hasn't even noticed the difference -- but the device's battery will.
 

Related content