Now that Windows 10 can be run on ARM chips, what does this mean for the future of Windows based workstations?
Until a couple of weeks ago, Windows had only ever been available for a very limited number of processors, including the conventional x86, Intel's alternative Itanium range, and for DEC Alpha. The final Itanium processor was released in November 2017 after HP effectively kept the product alive on a ten-year drip-feed of money to Intel so HP could continue making Itanium servers. The situation with Alpha is even more historic - the most recent version of Windows available for the processor is, or more to the point was, the first release candidate for Windows 2000.
So news that Windows is to be offically available for Arm processors is interesting because this sort of thing really doesn't happen very often. Microsoft and Intel have not always enjoyed complete supremacy – in the early 90s, we could do media work on machines from Commodore, Atari and Apple, and in recent years the march of Android and OSX into a number of traditional Windows markets has been inexorable. Even so, Windows on Intel has been a constant for decades, and it's a sign of significant confidence in the alternative that Microsoft has taken this step. Could we reasonably expect a golden future full of quiet, low-power-consumption Arm-based workstations?
Well, sadly, no. What's actually happening here is to some extent a rebranding exercise. Lenovo's Yoga C630 laptop runs an Arm CPU in the form of a Qualcomm Snapdragon 850 processor and an operating system that Microsoft are happy to refer to as Windows 10. Qualcomm like to describe the situation as “Windows on Snapdragon” or WOS, an acronym that seems doomed by the fact that at least some people know what an Arm processor is, but probably fewer have ever encountered Qualcomm's Snapdragon branding for their Arm processors.
Either way, the platform possibly owes more to the (dubiously successful) ideas of Windows Phone and Windows RT. Both were versions of Windows on an Arm device, but neither was really set up to do what a company like Microsoft really wants to do, which is to ape Apple's approach of funnelling everything through an app store and taking a percentage. Windows on Snapdragon very much is set up to do that, to the point that the only approved way of getting software onto it at all is via Microsoft's own app store, and doing that requires that it's written using Microsoft's favourite programming tools.
Whatever anyone thinks of that politically, it does make life quite a bit more difficult for people who might have successful and well-liked windows applications that they'd like to make available on the new platform. Normally, a change of processor would mean the recompiling, where the pseudo-english text of the program's code is turned into a list of instructions that a particular processor understands. Moving from one processor to another isn't always completely smooth sailing, but it's a well-understood process. Microsoft's requirements for access to its own app store add a significant extra layer of complexity.
Huge library of software
This seems counterproductive. The value of Windows is not particularly in any technical brilliance, it's in the huge library of software that's available for it. The iffy commercial performance of the phone and RT versions of windows was at least arguably provoked by a lack of software, and it might not be the best idea to do anything to put people off releasing for the platform. Still, the commercial imperative is clear: push everything through the iris of an app store, and the app store makes money. It just makes life a lot harder for software developers.
So, perhaps the announcement of Lenovo's new machine and the emergence of Windows-on-Snapdragon isn't quite the event it would seem, having already existed in a couple of precursor productions. The key issue here is that the availability of an OS that Microsoft is happy to refer to as Windows 10 on Arm doesn't mean that it's suddenly going to be possible to build high-performance workstations using Arm processors, and it doesn't mean that your existing software can be run on Arm processors. Arm performance lags noticeably – thought not embarrassingly – behind Intel's, though it seems likely that the gap will narrow over time.
The design philosophy of Arm processors – or at least the instruction set definition on which they're all based – is one of implementing a small number of instructions that execute quickly, called reduced instruction-set computing, or RISC. In some ways, that's how basically all microprocessors now work, given that Intel's most popular range essentially emulate the more complex x86 instruction set by using sequences of instructions on what's basically a RISC core. Naturally, not having to do that emulation on Arm, where programmers use the RISC instructions directly, is a plus.
RISC itself isn't a new idea, having been implemented in the IBM Power architecture, particularly PowerPC processors used on Macs in the 1990s, as well as the MIPS processors beloved of (among other things) Silicon Graphics in the same era. UC Berkeley has continued to develop its open RISC architecture, which is free to use. It isn't quite clear whether Arm's initial promise of lower power consumption per unit performance versus Intel, which initially seemed plausible, will be borne out, but it is, arguably, an architecture with less historical baggage.
It's reasonable to predict Arm workstations in the next few years, and the 64-bit architecture, while missing some raw speed, has some interesting benefits over Intel's entrenched line. What sort of OS those workstations will be running, however, remains to be seen, especially if Microsoft want to maintain their vice-like grip on the distribution platform.