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.