Click

Monday, September 7, 2009

Understanding the iPhone 3GS

Putting it in Perspective

Below is a table of the CPUs used in some of the top smartphones on the market, let’s put our newly refreshed knowledge to the test.

CPUIssue WidthBasic PipelineClock Speed
Apple iPhone/iPhone 3GSamsung ARM11single8-stage412MHz
Apple iPhone 3GSSamsung ARM Cortex A8dual13-stage600MHz
HTC HeroQualcomm ARM11single8-stage528MHz
Nokia N97ARM11single8-stage424MHz
Palm PreTI ARM Cortex A8dual13-stage600MHz
RIM Blackberry StormMarvell ARM11single8-stage624MHz
T-Mobile G1ARM11single8-stage528MHz

The first thing you’ll notice is that there are a number of manufacturers of the same CPUs. Unlike the desktop x86 CPU market, there are a multitude of players in the ARM space. In fact, ARM doesn’t manufacture any processors - it simply designs them. The designs are then licensed to companies like Marvell, Samsung, Texas Instruments and Qualcomm. Each individual company takes the ARM core they’ve licensed and surrounds it with other processors (e.g. graphics cores from PowerVR) and delivers the entire solution as a single chip called a System on a Chip (SoC). You get a CPU, GPU, cellular modem and even memory all on a single chip, all with minimal design effort.


A derivative of this is what you'll find in the iPhone 3GS

While it takes ARM a few years to completely architect a new design, their licensees can avoid the painful duty of designing a new chip and just license the core directly from ARM. ARM doesn’t have to worry about manufacturing and its licensees don’t have to focus on building world class microprocessor design teams. It’s a win-win situation for this business.

For the most part, ARM’s licensees don’t modify the design much at all. There are a few exceptions (e.g. Qualcomm’s Snapdragon Cortex A8), but usually the only things that will differ between chips are clock speeds and cache sizes.

The fundamentals of the architectures don’t vary from SoC to SoC, what does change are the clock speeds. Manufacturers with larger batteries and handsets can opt for higher clock speeds, while others will want to ship at lower frequencies. The ARM11 based products all fall within the 400 - 528MHz range. These are all single-issue chips with an 8-stage pipeline.

iPhone 3G (ARM11)iPhone 3GS (ARM Cortex A8)
Manufacturing Process90nm65nm
ArchitectureIn-OrderIn-Order
Issue Width1-issue2-issue
Pipeline Depth8-stage13-stage
Clock Speed412MHz600MHz
L1 Cache Size16KB I-Cache + 16KB D-Cache32KB I-Cache + 32KB D-Cache
L2 Cache SizeN/A256KB

The iPhone 3GS and the Palm Pre both ship with a Cortex A8. I’m actually guessing at the clock speeds here, there’s a chance that both of these devices run at closer to 500MHz but it’s tough to tell without querying the hardware at a lower level. The Cortex A8 gives us a deeper pipeline, and thus higher clock speeds, as well as a dual issue front end. The end result is significantly higher performance. Apple promised > 2x performance improvements from the iPhone 3GS over the iPhone 3G, such an increase was only possible with a brand new architecture.

I must stress this again: clock speed alone doesn’t determine the performance of a processor. Gizmodo’s recent N97 review complained about the speed of Nokia’s 424MHz processor (rightfully so). The review continued by saying that HTC uses 528MHz processors, implying that Nokia should do the same. The second part isn’t what Nokia should be doing on its $500+ smartphone, what is inexcusable is the fact that Nokia is not using ARM’s latest and greatest Cortex A8 on such an expensive phone. It’s the equivalent of Dell shipping a high end PC with a Core 2 Duo instead of a Core i7; after a certain price point, the i7 is just expected.

No comments:

Post a Comment