Microsoft, Qualcomm and Intel: The Windows 10 ARM Dustup
In December 2016 Qualcomm and Microsoft released news that they were going to do something many in mobile didn’t expect: Another attempt to get Windows to run on an ARM processor. But the similarities between this new attempt and previous ones marred by the Windows RT release were quickly put to bed.
During the same announcement Windows released a technical demo on YouTube showing that it was already possible to have “regular” Windows. These weren’t programs that were recompiled using the ARM instruction set natively, but instead 32-bit applications (such as Photoshop) that ran and behaved as expected on a desktop process, but this time on Snapdragon.
What set us out on this journey was a recent blog entry from Intel last week, touting its 40 years of the Intel Architecture. What got the attention of most news was what was said at the end of the blog entry (emphasis is ours):
“However, there have been reports that some companies may try to emulate Intel’s proprietary x86 ISA without Intel’s authorization. Emulation is not a new technology, and Transmeta was notably the last company to claim to have produced a compatible x86 processor using emulation (“code morphing”) techniques. Intel enforced patents relating to SIMD instruction set enhancements against Transmeta’s x86 implementation even though it used emulation. In any event, Transmeta was not commercially successful, and it exited the microprocessor business 10 years ago.
Only time will tell if new attempts to emulate Intel’s x86 ISA will meet a different fate. Intel welcomes lawful competition, and we are confident that Intel’s microprocessors, which have been specifically optimized to implement Intel’s x86 ISA for almost four decades, will deliver amazing experiences, consistency across applications, and a full breadth of consumer offerings, full manageability and IT integration for the enterprise. However, we do not welcome unlawful infringement of our patents, and we fully expect other companies to continue to respect Intel’s intellectual property rights. Strong intellectual property protections make it possible for Intel to continue to invest the enormous resources required to advance Intel’s dynamic x86 ISA, and Intel will maintain its vigilance to protect its innovations and investments.”
The timing of this blog entry quickly related it to further announcements during Computex 2017 in Taiwan a few weeks. At first it seems odd that Intel waited as long as they did to fire what most now believe to have been a warning shot towards Qualcomm and Microsoft. The blog entry specifically left it vague enough that it could not be directly tied to the Qualcomm-Microsoft partnership. Upon searching, no other recent discussions of x86 emulation justified this response. This only magnified further who the intended target of Intel’s legal team was – Qualcomm and Microsoft. This left us with many questions. During the research of this article some of the questions were answered – and we’ll be going over those. But there are questions that remain unanswered as well, both from the original inquiry and now as a result of the information provided by all three parties. We appreciate the fact that all three – Intel, Qualcomm and Microsoft – were willing to respond to our requests.
Windows 10 ARM Confirmed
One of the first questions that naturally needed to be answered was to understand what this Windows version is and is not. Thankfully Microsoft provided us a link to a video released during Build 2017 that details much of this information for us:
Since only a handful of sites covered this at the time of release it seems to have slipped under the radar of many. This offers us several very points, the most important of them all is that this is most certainly a full-on Windows 10 ARM. And it’s clear that Microsoft took to heart the issues that Windows RT faced – particularly the inability to run x86 applications on the platform. The new approach offers a solution to this with what is described both in the video and earlier press releases as x86 emulation through the Windows on Windows layer, which is the part that got Intel’s attention. But is this really x86 emulation? Let’s look at the slide in the video that breaks this down for us.
Transmeta’s Crusoe Versus WoW for ARM64
Since Intel dropped the reference to Transmeta in their blog entry let’s refer back to an ArsTechnica piece covering the CPU back in 2000. After a review of the two it’s both noteworthy that there are very real similarities and differences between them. In the case of Transmeta and its Crusoe processors the job of these processors was mainly to run a software layer within the processor called Code Morphing. This software layer, far below the application and even kernel layers, is what translated x86 instruction sets into hardware commands that the Crusoe could execute.
It’s also important to note that the end of Transmeta in the x86 market was arguably not the counter lawsuit Intel filed against Transmeta in 2007. Transmeta arguably instigated the counter lawsuit by attempting to sue Intel for IP infringement; until that time Intel had left them alone. Transmeta’s exit was a decision by its board that it was no longer viable, focusing instead on its IP to stay in business.
In the case of Qualcomm and Microsoft it doesn’t appear that this is being done at a machine instruction layer. Instead what appears to be occurring here is much like the utilization of 32-bit applications on a 64-bit operating system. In the case of 32-bit applications on a 64-bit operating system Microsoft invested time and resources to create a boundary that allows 32-bit applications to run seamlessly within the 64-bit operating system – this is called Windows on Windows or WOW. In the case of ARM this same boundary has been created; the main difference is that instead of running the appropriate x64 instructions the ARM64 instruction set and layer is used. As these translations occur Windows will be caching a copy of this either on storage and/or RAM for future subsequent use, reducing the overhead on similar calls later.
The “Special Sauce” of CHPE DLLs
Doing this for every possible instruction would take a lot of overhead – in fact this is one of the things that the Crusoe struggled with in performance benchmarks. We’ve also seen this in attempts to emulate x86 operating systems through projects such as QEMU. Microsoft further addresses this with what they are calling Compiled Hybrid Portable Executable (CHPE) DLLs. To understand these takes a lot of reading, and one of the places to start would be the PE file format specification white paper. The current version includes information specifically for ARM64 and will offer programmers and those who wish to gain a deeper understanding of these inner workings a good starting point. In a nutshell many of the critical API calls that help Windows operate have been pre-compiled for ARM64 so that instead of having to translate them they can run at a almost-full native performance.
Seeing the work that Microsoft has put into this, partnering with Qualcomm and their Snapdragon 835 – it’s clear that Microsoft is determined to right the wrongs that so many felt about Windows RT and show that they can finally bring Windows 10 ARM in a way that will work for most consumers. And it makes perfect sense from one perspective – the absolute need to gain the most performance for the least battery use. While Intel has made great strides in the scene, ARM – and particularly Qualcomm – have set the benchmark in balancing mobile performance with the needs of mobility. Qualcomm can offer a full board package that allows for radio, display, processor, graphics and still manage to do it while offering impressive battery life.
The one thing that Qualcomm has not had is a way to add processing support by the way of Thunderbolt. In a bit of irony here, Intel’s own attempt to help grow and spread the technology may very well end up being used in competition against it. An ARM based mobile device, such as a tablet, with the ability to fully interface and take advantage of additional resources via a dock would definitely add competition not only in this particular segment but in other parts of the personal computing market.
Microsoft and Qualcomm have a vested interest in making this succeed – and definitely believe that personal computing is a part of the market that is ripe for competition. When we reached out to Qualcomm for comment, a Qualcomm spokesperson responded with the following:
“Given our recent announcement with ASUS, HP and Lenovo, we found the blog that one of our competitors published on June 8 very interesting. We look forward to the launch of the always connected Windows 10 PC powered by the Qualcomm Snapdragon 835 Mobile PC Platform later this year. As showcased at Computex 2017 in conjunction with Microsoft, the Snapdragon 835 Mobile PC Platform brings a true always connected PC experience with support for up to Gigabit LTE connectivity and all-day battery life for sleek, thin and fanless designs. This will change the future of personal computing.”
In similar fashion, a Microsoft spokesperson offered a statement in addition to the link to the video above:
“There are users who need to be connected to the cloud at all times, leveraging the latest network technology like gigabit LTE and eSIM. Microsoft is collaborating with its ecosystem on a shared vision that starts with a close partnership at the silicon layer, with Intel and Qualcomm, and with its mobile operator partners to provide seamless eSim connectivity. Microsoft device partners including ASUS, HP, Huawei, Lenovo, VAIO, and Xiaomi, are committed to this new category of Always Connected PCs using eSim technology.
In addition, Always Connected devices will be coming from ASUS, HP, and Lenovo, on the Qualcomm Snapdragon 835 chipset. These new devices will feature Windows 10, with always-on LTE connectivity and great battery life.”
Intel’s response was as guarded as its blog entry. From an Intel spokesperson:
“Intel respects intellectual property rights and we expect others to do the same. x86 technology is both proprietary and central to our business, and we’re concerned any time it appears that others may be copying it inappropriately. We will thoroughly evaluate any products that claim to emulate x86 technology, and vigorously enforce our intellectual property rights if we believe they are infringed.”
Analysis & Conclusion
This is a very fine dance these three appear to be performing. And at the same time, given that rumors were floating as early as November last year – weeks before announced at WinHEC – it seems odd that Intel was not aware of this prior to Computex, whether they would admit it publicly or not. At the same time, history (such as with the Transmeta Crusoe and WoW64) shows that there’s not much from a legal perspective to challenge it. But the moment that anyone drops the words “x86 emulation,” such as what Microsoft and Qualcomm had been doing up until Computex, it’s only a matter of time before enough concerned voices and shareholders demand Intel respond to it.
Will it change the project that Microsoft and Qualcomm are working on? I reached out to Anshel Sag, Associate Analyst at Moor Insights & Strategy for his thoughts on this. (Contributor note: Mr. Sag, as an industry analyst, was also very instrumental in reaching the right persons for timely responses by Intel, Microsoft and Qualcomm.) His response:
“Judging by the response I have seen from Qualcomm, it doesn’t seem that they are in the slightest worried about the comments from Intel. Microsoft, naturally, hasn’t said anything because of their close relationship with Intel which I believe this is straining somewhat. I believe competition is always good for the market and I believe that Microsoft believes this as well.”
A successful launch of Windows 10 ARM poses a risk to Intel at a time where it is facing increased competition elsewhere in its business segments. As we have covered also from Computex AMD is about to ramp up and launch its Epyc server processors based on the Zen architecture. Its consumer lineup, Ryzen, is also going to continue the competition by expanding into both the high end enthusiast desktop and mobile segments. ARM64 competition, such as Qualcomm, would certainly challenge its embedded, Atom and Core M segments.
At the same time that they highlighted the “Always Connected” devices we saw Microsoft highlight its efforts to further Mixed Reality and Augmented Reality devices, such as their own HoloLens. I’m not convinced that either Microsoft nor the ARM semiconductor manufacturers, such as Microsoft, are going to stop here. NVIDIA, for example, is sitting fairly well now on its Tegra portfolio between the self-driving car initiative and deal with Nintendo powering the Switch. Though an inquiry to NVIDIA didn’t suggest anything is on the horizon, I wouldn’t at all be surprised to see NVIDIA consider a re-entry either. It easily could offer a Tegra X1 or X2 based device – and it certainly can offer graphics power to drive a head mounted display.
Asking Mr. Sag on this topic as well suggests we’re not alone:
“I absolutely believe that this could extend beyond “Always Connected” PCs that were announced at Computex. We’ve already seen Microsoft’s smartphones with Windows 10 embrace ARM, which I believe was the groundwork for this development in PCs. I also believe that as the applications and ecosystem grow we could see AR/MR/VR headsets with ARM processors run Windows, which I believe is part of Microsoft’s long-term strategy to dominate the AR/MR/VR market. I do not believe that Hololens is going to be the only standalone headset for Windows Mixed Reality and I believe that we will see headsets with ARM inside.”
I’ve said it time and time again though – 2017 is quickly becoming the year of increased competition in the PC market. And given that there has been so little of it in many of these segments, it’s unfortunate that Intel will bear the brunt of this due to their past successes. But what is Intel’s lost will most certainly be the gain of others, most importantly the consumer. And that’s always a good thing.
What do you think of Windows on ARM processors? How will this change the desktop, laptop and mobile ecosystems? Sound off below!
Update 6/16/17 10:51 pm ET: Few grammar edits and one company’s name fixed (called out in the comments.) Thanks for the heads-up!