HP and Asus Announce First Windows 10 ARM PCs, Due in Spring 2018

Peter Bright, writing for Ars Technica:

This ability to upgrade is particularly important because the new Always Connected PCs are different from Microsoft’s previous Windows-on-ARM attempt, Windows RT. Windows RT was a version of Windows 8 for ARM processors, and it too could only run applications from what was then called the Windows Store. But Windows RT had two constraints not found on these new systems: there was no facility to unlock it, and run non-Store apps, and there was no facility to run existing x86 programs. On Windows RT, not only did software have to come from the Store, it also had to be compiled specifically for ARM processors.

That’s not so with Always Connected PCs. They contain an x86 emulator that will enable most 32-bit x86 applications to run unmodified. This includes x86 applications in the Store and, when upgraded to the full Windows 10 Pro, arbitrary desktop applications. Full details of the x86 emulator haven’t been disclosed yet, with the performance in particular currently unknown, but we do know some broad elements of its design.

The emulator runs in a just-in-time basis, converting blocks of x86 code to equivalent blocks of ARM code. This conversion is cached both in memory (so each given part of a program only has to be translated once per run) and on disk (so subsequent uses of the program should be faster, as they can skip the translation). Moreover, system libraries — the various DLLs that applications load to make use of operating system features — are all native ARM code, including the libraries loaded by x86 programs. Calling them “Compiled Hybrid Portable Executables” (or “chippie” for short), these libraries are ARM native code, compiled in such a way as to let them respond to x86 function calls.

A few years ago I would have wagered a small sum on Apple shipping ARM-based Macs before ARM-based Windows PCs arrived. (It could still happen, I suppose, given that these PCs aren’t set to arrive until spring.) What’s interesting to me is that these ARM CPUs are fast enough to emulate x86 software. If that’s true for a Snapdragon CPU, then Apple’s even-faster ARM chips are certainly more than capable of doing the same.

Wednesday, 6 December 2017