“The issue is that the iPhone interface is just as responsive as a computer, so you inherently expect the sort of performance you'd see on a notebook and it's just impossible on a device like the iPhone."

“I think overall we need a handful of upgrades to the iPhone alongside 3G; we need a faster processor, possibly more system memory, maybe even faster flash. The MLC flash in the iPhone has absolutely horrendous write speeds compared to SLC, which could be holding the iPhone back a bit. I can see Apple introducing a 3G version in about 12 months, addressing many of these issues at the same time.”

Indeed, 12 months after the launch of the first iPhone - Apple did fix the wireless performance issues with the iPhone 3G. Unfortunately, the hardware remained untouched. All of my other complaints in those two quotes remained open ticket items between Apple and I. In fact, things got worse. Here we have what I wrote at the end of my iPhone 3G review:

“Apple must be wary of the direction the iPhone is headed in. While the UI was absolutely perfect for the phone that launched a year ago, today’s iPhone is hardly the same. With easily over twice as many applications on an iPhone today vs. a year ago, performance and navigation have both suffered. The impact isn’t tremendous, but Apple will have to adjust the iPhone accordingly in order to avoid turning the platform into a bloated, complicated mess.”

Two days ago, Apple announced the iPhone 3GS - designed to address one thing: performance. The other half of my complaint in the conclusion of my 3G review, addressing navigation and UI with the new expanded iPhone platform, isn’t addressed by the 3GS. I suspect that in another year we’ll see that. But today, it’s about hardware.

The Impetus

After yesterday's Pre vs. iPhone 3G battery life article I got a few emails from people very close to the chips used in the iPhone 3GS. A couple of exchanges later and I realized it might be time to go a little deeper with the hardware behind the iPhone 3G, iPhone 3GS and the Palm Pre.

The Original

The iPhone and iPhone 3G use a system on a chip (SoC) from Samsung. The SoC is a custom part and actually has Apple’s logo on the chip. The SoC houses the CPU, GPU and memory for the iPhone.

The CPU is based on the ARM11 core, in specific it is the ARM1176JZF-S. The CPU runs at 412MHz to save power, although the core is capable of running at 667MHz. The ARM11 CPU is a single-issue in-order microprocessor with an 8-stage integer pipeline. It’s got a 32KB L1 cache (16KB for instructions, 16KB for data) and no L2 cache. The ARM11 CPU in the iPhone also has a vector floating point unit, but thankfully the SoC includes a separate GPU for 3D acceleration. You can think of this core as a very high clocked, very advanced 486. And extremely low power. Under typical load, the CPU core should consume around 100mW. By comparison, the CPU in your laptop can require anywhere from 10 - 35W. Idle power is even lower.

Paired with this CPU is a PowerVR MBX-Lite GPU core. This GPU, like the CPU, is built on a 90nm process and is quite simple. The GPU does support hardware transform and lighting but it’s fully fixed function, think of it as a DirectX 6/7 class GPU (Riva TNT2/GeForce 256). Here’s PowerVR’s block diagram of the MBX:

The MBX-Lite in the iPhone shares the same architecture as the MBX but is optimized, once more, for power efficiency and thus is significantly slower.

I don’t have exact clock speed information for the MBX-Lite in the iPhone but I’m guessing around 60MHz.

Coupled with the CPU and the GPU in the iPhone’s SoC is 128MB of DDR memory, all on the same chip. It’s a pretty impressive little package. You get a CPU, GPU and memory all in a package that’s physically smaller than Intel’s Atom.

Now the 486 came out in 1989 and the original 3dfx Voodoo graphics card came out in 1996. The iPhone’s SoC would be ridiculously powerful if it were running the sorts of applications we had back then, but it’s not. We’re asking a lot from this little core and although it has performed admirably thanks to some clever software engineering on Apple’s part, it’s time for an update.

Post Your Comment

65 Comments

There's been one in the works for more than a year. (http://www.icontrolpad.com/)">http://www.icontrolpad.com/) They've been stalling, though, and apple's releasing of new models every year is hurting, too. They originally were just aiming for jailbroken phones / ipods, but now want to enable full SDK support. I have cash set aside to buy one, if they'd just put them on sale... Reply

Glad to see someone is working on this. From the video on the sight it looks like the latency on the controls is kind of an issue, and it looked like it wouldn't accept multiple button presses at the same time i.e. forward and right simultaneously. Could just be an issue with the way the interface with the iphone works, although the multiple button thing could just be me :P also, would like to see an analog stick. The days of on/off style movement controls are long gone. Reply

They've had the iPhone, and the iPhone 3G.
They've sold quite a lot of them, using the same hardware.

Now they are releasing a new product with faster hardware.

Palm has the Pre, it has faster hardware.

The problem here is that either Apple developers are going to have to develop for the (s)lowest common denominator (20million units), and either risk annoying customers by making them unable to use the stuff/forcing them to upgrade, or making applications which aren't sa impressive as they could be.
The Pre has the advantage of being out later, so everything has the same base point (although it has no install base or history yet).

While it's good Apple have improved their hardware, it will be interesting to see how the handle the software side (after all, they have been forcing programs to be forwards compatible with something which was unreleased at the time - OS3.0).

Apple could be their own worst enemy with this faster hardware, and they have been seen to drop legacy support quite quickly already (Snow Leopard anyone?), things that other people can't get away with. Reply

The problem with the Pre is that it's not meant for gaming. The SDK is only HTML and Javascript. There won't be any serious gaming on it. In the mobile phone area Apple is pretty much to themselves. Reply

Actually, I don't mind that Snow Leopard is going to be Intel only. With it coming out in September I would not suggest that anyone other than the bleeding edge crowd upgrade to Snow Leopard until October or November at the earliest. That makes the oldest Intel based Mac almost four years old.

If I were still running G4s or G5s (PowerPC based) systems as of this coming November I clearly don't *need* the performance enhancements of a full 64-bit kernel and drivers, OpenCL or Grand Central Dispatch.

While Leopard had nearly as shaky/buggy a start as Vista (though 99.9% of Mac users won't admit it), Leopard has reportedly morphed into a very stable and serviceable system. If you're keeping your Mac for 5+ years, sticking with Leopard might be a great option. Reply

I think I read somewhere that developers for the Ipod would put in options to enable for the faster models. So you just check the box if you have a faster cpu and you get the cooler looking graphics. Reply

The day WoW comes to iPhone is the day when I gonna buy the little bastard. I guess this will happen next year or so. I can almost hear Blizzard devs steaming away, downloading iPhone SDK and buyng more and more Macs. This thing is gonna freakin ROCK. Reply

Not now. The gpu and CPU are still way to slow to play anything like world of Warcraft, just look at some of the demos of the openpandora which uses the same CPU/GPU combo, it runs quake 3 around 22fps from what I can see and most of us now how much of a pushover that game is.
I would expect that the next generation omap 4 might be able to run it being a dual core 1Ghz, but I would think it would still need a faster GPU. Also you have to imagine trying to play a game like world of warcraft with those controls, it would be terrible. You might see a game like eve do it since the game developers are very forward thinking, but not Activision blizzard. Reply

I've never seen Quake3 compiled for CortexA8 and OGL 2.0ES. The best Q3 currently available is actually designed for TI Omap 2/Samsung 6400 which are based on Arm11 processor core and Ogl 1.1 ES. Reply