Some have suggested that Intel (NASDAQ:INTC) could quickly gain a foothold in the mobile system-on-chip market by simply building an ARM (NASDAQ:ARMH)-compatible processor core. While there are those who will argue that this should be done for performance-per-watt or performance-per-area reasons, Intel has already shown that it can build world-class, power-sipping CPU architecture. So this wouldn't be the reason. One argument that is potentially much more credible is the notion of software compatibility.
Is Android on Intel like Windows on ARM?
Did you ever wonder why Microsoft's (NASDAQ:MSFT) Windows RT, the ARM-based version of Windows, failed so badly? The answer is in the software. Users would purchase Windows RT-based machines thinking that they would be getting full Windows, only to find that many of their peripherals and legacy applications simply didn't work. Imagine buying a computer or convertible with Windows on it, and finding that none of your PC games work. What about iTunes? Turbo Tax?
The problem with Windows RT was that the vast majority of the millions of applications designed for Windows will not run on Windows RT without a significant rework, and it would cost a relative fortune to make the experience seamless for users. None of the ARM vendors are looking to invest the money required to enable this, and the return for Microsoft(NASDAQ:MSFT) doesn't appear to be there to go all-in on funding it. After all, Microsoft wants to push users to buy apps from its store ecosystem, anyway.
While some may draw a similar parallel -- in this case, Android on x86 is equivalent to Windows on ARM -- the comparison is fundamentally flawed.
Android is different...and Intel more aggressive
While the majority of applications on Windows are Intel-only binaries, the opposite is true on Android. According to Intel, roughly 75% of apps are written to be run on the Dalvik virtual machine, which means that as long as there is an implementation of Dalvik for the given CPU architecture, the app should run just fine. The other 25% of the Android application base, which is written in architecture-dependent code, is hit or miss.
Intel currently supplies a binary translator that, according to the company, is effective on roughly 70% of the ARM-specific applications. Further, Intel is working aggressively with developers to get these ARM-specific programs recompiled for Intel's x86. The current suite of developer tools now builds binaries for x86, ARM, and MIPS. That means future programs won't be a problem.
This illustrates why Intel doesn't need to move to ARM, but the thesis here is stronger than this. Intel shouldn't build an ARM-compatible chip and should continue to push its own x86 architecture.
Owning the instruction set is important and convenient
While ARM frequently updates its instruction set, all ARM licensees are essentially tied to ARM's progress in adding new instruction-set extensions. ARM has done a fantastic job, particularly with the latest ARMv8 and the NEON extensions. But there is a real advantage on Intel's part in owning and being able to extend the instruction set, having a substantial development community familiar with it, and offering one consistent architecture across a wide variety of devices. For example, the low-power Atom cores can be used in everything from smartphones to low-end PCs to servers in various system-on-chip configurations. Why should Intel have an inconsistent architecture across a spectrum of devices that are rapidly converging?
Foolish bottom line
Building an ARM-compatible chip may alleviate some of the shorter-term compatibility concerns on Android. But Intel's massive software development resources, as well as the prevalence of x86 across many other segments of computing, make it worth the short-term pain of making x86 a first-class citizen on Android. Intel has the scale, the brand, and the developer clout for its x86 push to have a solid chance of success.