As some of you may have noticed, my editor Jack has been eyeing up laptops based on ARM architecture within Qualcomm’s Snapdragon 835 processors, as opposed to typical x86 laptops. Last summer he wrote, “Why I want a Windows 10 S laptop with a Qualcomm ARM chip,” It’s quite an odd title as we move to an era of not really knowing what hardware is running our cloud apps, but with several ARM laptops announced and coming soon, we decided to prod this topic for more insight, particularly as Microsoft released more details about the limitations of Windows 10 on ARM last week.
Jack wrote that he’s interested in Windows 10 features more associated with mobile devices, along with the traditionally-mooted ARM advantages of low power and long battery life. Considering the facts that the smartphone and IoT supply chain is an order of magnitude or two bigger than the PC supply chain, and that the traditional laptop market is around 98% Intel, any disruption or new vendors become interesting.
The overall package of these laptops is far more like the tablet experience: always connected; open it up and off you go; and long battery life. (They’re advertising 20+ hours of active time and up to 30 days of standby.) If these promises deliver, there are certainly use cases where this could be the “killer feature,” including in education where there are likely more users than power outlets in a classroom; those who work all day out of the office; large organizations where the electricity savings stack up; and environments where power supply is inconsistent, unreliable, or scarce.
Why ARM devices are different
The x86 instruction set used by Intel is a CISC (Complex Instruction Set Computing), whereas ARM architectures are based on RISC (Reduced Instruction Set Computing). You can read more about the differences, but in general, RISC means that ARM architectures are more power-efficient.
Traditional laptop processors have a few powerful and identical multi-purpose cores that are up to any task. Whilst this means they can handle most things thrown at them, it also means that excessive power is used for many tasks that simply don’t require it.
Newer mobile phones (a sector where ARM architectures dominate) have moved towards heterogeneous compute, where a range of processors of different power-to-functionality ratios are used and assigned to different tasks as appropriate. For example, most mobile phones have a fairly beefy chip handling your voice and video, as well as a much smaller, power-efficient one doing many of the light tasks, like checking if phone has been picked up/activated, checking network connectivity, and so on. There’s a lot of information available about developments like ARM’s big.LITTLE and DynamIQ if you want to dive deeper.
Enter Windows on ARM, take 2
Most ARM chips run RTOSes (real-time operating systems) rather than consumer OSes such as Windows. So, the key enabler for today’s conversation has been Microsoft releasing Windows OSes that run natively on the ARM architecture and allow compatibility with applications developed for x86.
Many will remember Microsoft’s previous attempt. In 2012, Windows RT was a cut down version of Windows compiled for ARM that required you to source applications that were also compiled specifically for the platform. As this website (and many others) wrote, it was very clunky. The end user was very aware that they weren’t using x86 hardware, and at the end of the day, the user shouldn’t really care what bits of silicon are running, as long as the applications look familiar and there’s no fiddly sourcing or management.
This time around, Microsoft have produced a version of Windows 10 that uses the ARM native hardware and provides a degree of emulation so that many applications compiled for x86 can be installed. Since most applications use the hardware via the Windows OS APIs, a lot of operations will be run directly on the OS. Some more CPU-intensive applications are compiled to be optimised for x86, which means they will probably experience a performance hit when using the emulation components.
The limitations Microsoft announced last week are significant and there are a fair few. Paul Thurrott has already written an excellent summary, including his opinions. Whilst many users may not actually need the wider support of Intel platforms, they may still be confused about their requirements, which itself could be a blocker to adoption. The limitations include: no x64 (64-bit) apps (only 32-bit x86), no OpenGL support above OpenGL version 1.1, no hardware-accelerated OpenGL, no Hyper-V, and no apps requiring native x86 drivers.
There’s yet another issue here. In June 2017, only a month after the initial announcement of Windows 10 ARM laptops, Intel released a rather curious statement. It didn’t mention ARM or any specific vendor, but it did sound like a warning, saying “[…] there have been reports that some companies may try to emulate Intel’s proprietary x86 ISA without Intel’s authorization.” Even if Intel doesn’t (or can’t?) pursue an IP infringement claim, it certainly raises the possibility of future engineering to make emulation as hard as possible. Emulation is often a catch-up game, made even harder without vendor co-operation, with emulators lagging the native functionality (as seen in some of the limitations).
Having vast swathes of the hardware market controlled with proprietary instruction sets doesn’t make life easy for the OS vendors or Silicon providers, so it’s worth noting that vendors such as Qualcomm are investing in the open RISC-V consortium, which also includes other big names like IBM, Google, Huawei, Samsung, and MediaTek, amongst many others. Although fairly embryonic at the moment, the strength of the backing and the size of ARM’s RISC chip market mean it’s one to watch as a potential challenger. Long term, it could offer chip manufacturers an instruction set without all these licensing issues, and drive developments that allow them to move away from CISC architectures and their associated x86 reliance, using a non-proprietary RISC instruction set.
What does this all mean for us?
There are a few other effects we can look at.
First, these first laptops seem to be appearing with price tags between $600–$800, which isn’t that cheap for an entry level laptop these days, with Chromebooks starting around $200. When you can get fairly similar performance and experience on a standard x86 for cheaper, if the power savings aren’t a primary concern, I imagine many users will be hesitant to move away from the x86 that dominates 98% of the market, especially whilst it remains unclear what performance impact emulation may have. Add in the other limitations (particularly for those using legacy apps) and it is very hard for a consumer to work out if such a device will suit their needs. The risks may deter many.
Second, for ISVs that have CPU-heavy applications, developing and testing for a different architecture is a huge investment. It wouldn’t be surprising if many chose to simply state minimum hardware requirements specifying an x86 platform, similar to how they often dictate a minimum processor of 2.3GHz. Whilst last week’s Microsoft information advises on how applications could be recompiled/ported to ARM, I’m not convinced many software vendors will have significant appetite to do so.
Third, this may be a far off issue at the moment, but ARM laptops miss out on the ability to be converted to enterprise thin clients using recent products such as the IGEL pocket and Dell Wyse Converter for PCs, products designed to repurpose x86 systems.
Because of the length of the chip development lifecycle, the technologies released in these first laptops are based on IP developed several years ago. The Snapdragon 835 in this first wave of hardware is based around combinations of ARMs Cortex-A53 and A72/A73 cores.
Recent ARM IP releases have added new CPUs, and when these make it through to the SIPs like Qualcomm and the OEMs like Asus or Lenovo, significant performance improvements are expected. Last year ARM released their successors, the Cortex-A55 and A75, alongside word of expected performance/efficiency gains. Although these haven’t yet materialized in consumer hardware, it’s been circulated that Qualcomm’s Snapdragon 845 will be based around these.
Most important, there are many vendors with strong commercial interests in diversifying the Intel-dominated laptop market, and there are genuine technical strengths to the ARM technologies. This could be the start of a trend that becomes mainstream. The limitations announced by Microsoft indicate this is still very much a work in progress. The proof will be in the actual experience and reviews, so we are eager to see what happens when Jack gets his paws on one.