Core Values: The silicon behind Android

Core Values is our new monthly column from Anand Shimpi, Editor-in-chief of AnandTech. With over a decade of experience poring over the latest in chip developments, he's here to explain how things work and why our tech is the way it is.

Remember this chart? It's interesting for a number of reasons, but I want to highlight that all present day Android phones use virtually the same Qualcomm application processor, all based on a sluggish 528MHz ARM11 core. Blech.

I've got nothing against Qualcomm, but a big reason most Android phones feel slow is because they're running on slow hardware. The ARM11 core was first announced in 2003. It's old and creaky, and it's used so frequently because it's cheap. But the basic rules of chip design mean that things are about to change fast.

The present Qualcommfest is partly due to Android's maturity on the Qualcomm platform. Remember that the chips used in these smartphones are SoCs (system-on-a-chip), meaning that the CPU, GPU, I/O and a bunch of other functions are all integrated onto a single piece of silicon -- so driver support is crucial. Until recently, running Android on other SoCs required a bit of legwork, but Android 1.6 adds in native support for non-Qualcomm processors. The Samsung Moment on Sprint uses an undetermined Samsung SoC, while the Motorola Sholes is expected to use a TI OMAP SoC.

But while Android itself is changing, so are the chips themselves. There are two basic rules to know -- first, as chip size goes up, so does cost; and second, as chip performance goes up, so does size. (Both of these items have caveats, of course, but I'm trying to keep it simple.)

Our industry would be doomed if it weren't for a third rule, though: transistors get smaller every 12 - 24 months.

Rule three doesn't happen magically -- it takes a lot of very smart people and a great deal of work. But it does happen, almost like clockwork, and ultimately it's the basis for Moore's Law.

Want to build faster chips? Gotta make 'em bigger. Want to build faster chips without increasing cost? Wait two years and then you can use smaller transistors to build faster chips at the same cost (size) as before. That's really all there is to it. So -- how does this relate to Android?

The 528MHz figure refers to the clock speed of the general purpose CPU core in these phones. There's much more to the Qualcomm SoC, but that's beyond the scope of this article, and it's really that 528Mhz ARM11 core that makes launching applications or interacting with your phone slow.

I present you with two boxes:

To scale, we have a rough estimate of the size of an ARM11 core (just the die, not the packaging) vs. a much faster ARM Cortex A8 core. Built using the same manufacturing process (same transistor sizes) it looks more like this:

ARM11 is just a lot cheaper. Most PC buyers don't understand microprocessor architecture, they just buy into clock speed. Most smartphone buyers don't even get that far. ARM11 clock speeds are easily as high as Cortex A8 speeds are, so why bother with something faster that's not going to sell more handsets?

(Oh, and just for kicks let's throw a Core i7 into the mix just to give you all an idea of scale here:)

The ARM business model doesn't work like that of AMD or Intel. ARM comes up with the architecture for a processor, but never physically makes the CPU. Instead, it licenses out the design to companies like TI, Samsung and Qualcomm, who in turn make SoCs based on the architecture either at their own fabs or at foundries like TSMC. TI's ARM based SoCs are branded OMAP, while Qualcomm's custom Cortex A8-based SoC sounds slightly more tangible with its Snapdragon name.

Like any other microprocessor company, ARM has to keep innovating, but since it doesn't make the chips, it takes a while for the design to go from ARM to incorporation in some manufacturer's SoC design, then to production, and then finally to actually being used in a smartphone. To make a long story short, while Cortex A8 debuted in 2005, it wasn't until 2009 that Apple used it in the iPhone 3GS and Palm used it in the Pre. The original iPhone and the 3G both used an ARM11 based SoC -- the same as in all these Android phones. (I've written extensively about the difference between ARM11 and Cortex A8, if you're interested.)

Apple and Palm had more motivation to go the performance route with their handsets. They were sold at a premium and performance had to be as high as possible to enable the sort of usage models Apple / Palm were targeting. But the Cortex A8 is built using 65nm transistors, which makes it roughly twice the size (and thus twice the cost to manufacture) of an ARM11 core. That means expensive phones get to use it, while cheaper phones don't.

Move to 45nm transistors and now the Cortex A8 ends up being around the same (manufacturing) cost as a 65nm ARM11. Of course, ARM is also expecting manufacturers to make 45nm ARM11 cores, which will be even cheaper and thus enable even lower cost handsets (or higher profit margins), so we won't totally escape ARM11 anytime soon.

In either case, we find ourselves in a sea of 528MHz ARM11-based Android phones because Android is still in its infancy and keeping costs low forces us into the open arms (pun) of a slower microprocessor.

If the rumors hold up, we'll see support for TI's OMAP SoCs in this next generation of Android phones. Samsung is also going to be making an appearance, obviously -- it'll be interesting to see if the Moment has a Cortex A8-based chip or just uses the higher-clocked ARM11 SoC that Samsung already produces. We're also seeing Qualcomm's Snapdragon chips arrive in Android phones, like Acer's Liquid and the rumored HTC Dragon. At the same time we'll see Cortex A8 SoCs moving to 45nm over the next 12 months and getting cheaper. The combination yields faster Android phones in 2010. It's about time.

Anand Shimpi is CEO and Editor-in-chief of AnandTech. Contact him at anand AT anandtech DOT com. Views expressed here are his own.