it looks like Windows’s hybrid x86-on-ARM64 tech has a new name “CHPE”, whatever it means 🙂 maybe something like Compound Hybrid PE ? pic.twitter.com/aW1RLYU3dM
— WalkingCat (@h0x0d) November 21, 2016
Microsoft is working on an emulator enabling systems with ARM processors to run x86 applications, according to sources speaking to Mary Jo Foley, and the capability will ship in the update codenamed “Redstone 3,” currently due for fall 2017. This will be the third Minecraft-inspired Redstone codename; this year’s Anniversary Update was Redstone 1, and the Creators Update coming in spring next year is Redstone 2.
Ever since Microsoft announced Windows on ARM in 2012, there’s been an immediate problem that prevents the port of the operating system from having mainstream appeal: it doesn’t run Windows applications, because almost all Windows applications are compiled for x86 processors.
This isn’t such a big deal for Windows on phones because phone applications have to be purpose-built to include a phone user interface, but it was one of the things that made Windows RT tablets, including Microsoft’s own Surface, broadly undesirable. And even while it isn’t an issue for phone apps per se, it limits Microsoft’s ambitions somewhat with Windows Mobile’s Continuum feature. With Continuum, a Windows Mobile phone can connect to a keyboard, mouse, and screen, and the phone can run desktop-style applications. Currently, Continuum is limited to running UWP applications; these apps can offer dual user interfaces, adapting to whether being used in phone mode or Continuum mode. It would be logical and obvious to extend this to allow true Windows desktop applications to run in Continuum mode—but that raises the x86/ARM incompatibility issue once more.
Being able to run x86 programs on ARM chips with an emulator neatly addresses this issue. Emulation generally comes at some cost in terms of performance and, hence, power consumption. But for Continuum scenarios, when the phone is typically plugged in, that’s not a big deal; there’s power to spare.
Foley says that Microsoft has just such an emulator in the works, codenamed Cobalt. With this kind of tech, a Windows 10 Mobile phone could run any Windows application just as soon as it’s docked to a mouse, screen, and keyboard.
Twitter user Walking Cat found indications that Windows for 64-bit ARM (which still doesn’t exist officially) will allow some kind of hybrid executables that mix x86 and ARM code within a single process. There are signs that the x86 emulation will work only for high-level application code, switching to native ARM every time operating system functions are used. This would tend to minimize the impact of the emulation.
Redstone 3 and Cobalt would be essential, then, to the oft-rumored but never-confirmed Surface Phone. There’s been much speculation that Microsoft will build a phone for business users that includes some ability to run Windows applications. At one point this implied using Intel’s line of smartphone-oriented Atom processors, but with Intel ending development of several Atom variants, this no longer looks like an option. An ARM chip with a suitable emulator would also do the job, providing a neat solution to the lack of suitable x86 processor.
Listing image by Intel