Intel Launches 7th Generation Kaby Lake: 15W/28W with Iris, 35-91W Desktop and Mobile Xeonby Ian Cutress on January 3, 2017 12:01 PM EST
Speed Shift v2: Speed Harder
As originally reported at Kaby Lake-Y/U Launch
One of the new features for Skylake was Speed Shift. With the right OS driver, the system could relinquish control of CPU turbo to the CPU itself. Using internal metric collection combined with access to system-level sensors, the CPU could adjust the frequency with more granularity and faster than the OS can. The purpose of Speed Shift was to allow the system to respond quicker to requests for performance (such as interacting with a touch screen or browsing the web), reduce delays and improve the user experience. So while the OS was limited to predefined P-state options, a Speed Shift enabled processor with the right driver had a near contiguous selection of CPU multipliers within a wide range to select from.
The first iteration of Speed Shift reduced the time for the CPU to hit peak frequencies from ~100 milliseconds down to around 30. The only limitation was the OS driver, which is now a part of Windows 10 and comes by default. We extensively tested the effects of the first iteration of Speed Shift at launch.
With Kaby Lake, the hardware control around Speed Shift has improved. Intel isn’t technically giving this a new name, but it is an iterative update which I prefer to call ‘v2’, if only because the adjustment from v1 to v2 is big enough to note. There is no change in the OS driver, so the same Speed Shift driver works for both v1 and v2, but the performance means that a CPU can now reach peak frequency in 10-15 milliseconds rather than 30.
The light green and yellow lines show the difference between v1 and v2, with the yellow Kaby Lake processor getting up to 3.5 GHz incredibly quickly. This will have an impact on latency limited interactions as well as situations where delays occur, such as asynchronous web page loading. Speed Shift is a play for user experience, so I’m glad to see it is being worked on. We will obviously have to test this when we can.
A note about the graph, to explain why the lines seem to zig-zag between lower and higher frequencies because I have encountered this issue in the past. Intel’s test, as far as we were told, relies on detecting register counters that increment as instructions are processed. By monitoring the value of these registers, the frequency can be extrapolated. Depending on the polling time, or adjacent point average (a common issue with counter based time benchmarks I’ve experienced academically), it can result it statistical variation depending on the capability of the code.
While this graph uses the i7-7500U, which was released back in September, Speed Shift v2 is a feature for all Kaby Lake processors in the stack with the right OS. We still have not received an official word if Intel is working closely with Apple to bring the feature to macOS, or even if it will be promoted if it ever makes the transition – Apple may never promote it so as not to confuse the non-technical media that follow Apple, but also not allow Intel to specify that Apple is using it. Or, it’ll be part of a presentation; we don’t know.