Tuesday, May 04, 2010

This time, Intel is coming down the microprocess ladder.

One of the key reasons in x86's rise in laptop, desktop and server market can be summed up in one sentence: climbing up the performance ladder. Intel and AMD were able to improve the performance and the performance/$ of x86, to catch up with the competitors and they eventually exceeded most of their competitors. No matter how you look at it, x86 chips are extremely competitive, boasting either the best performance or the best performance/$, or both.

Now, I wonder if the history will repeat itself at the opposite end of the performance spectrum. The news of Intel's Moorsetown might just be the beginning of another repetition. Various ARM implementations have been the choice for mobile phones, but if I were to believe Intel's announcement (there's no reason not to believe it - in actuality, ARM is not exactly the best ISA if you care about performance), Intel's new Moorestown might just start the x86's expansion into mobile phones, this time by providing the best performance/watt. In fact, in my opinion, there's just no doubt that Intel with its best process technology and design prowess will either match or exceed most of its competitors. Clearly they are capable of producing the best, and x86 isn't much more complicated compared to the ARM which is a hodge-podge collection of oddities.

That said, just as the 90's ISA (instruction set architecture) survival game, the software will play an important role in deciding which ISA will survive, but this time software might actually slow down the expansion of x86 into mobile phone. Why? Apple and iPhone. Having lost the microprocessor war in the desktop era (remember PowerPC?), Apple looks determined to win the processor for mobile device - its acquisition of two processor startups and producing their own SoC testifies its resolve to control their own processor. And iPhone and, more importantly, Apps on iPhone are, just like DOS/Windows of the day, completely tied to ARM. All iPhone apps are native apps, meaning they are compiled to the machine code that is ARM. While it's not impossible for Apple to pull off an ISA switch for iPhone, similar to what they did with Mac, there are considerable costs with that approach and it looks like Apple will try its best to push for their own processor. This means ARM will have a non-trivial software platform that will stick around.

On the other hand, iPhone's primary competitor, Android, practically doesn't have this native code problem. That's because almost all android apps are written in Java the language, and compiled to bytecode for Dalvik VM. The bytecode is inherently ISA-neutral, so it is nearly trivial to switch the processor ISA of an android phone - all apps will just work, assuming Android OS itself is ported to the ISA, which already happened since android already runs on x86. Give this, I fully expect handset manufacturers to start selling Moorsetown-based handset running Android. They will start claiming huge performance advantage. Of course, Apple will respond just the same way it did when PowerPC lagged behind x86.

In the next few years, we'll see if the history will repeat itself, and what kind of twists there will be if any. Fun and exciting time indeed.

No comments: