Understanding the iPhone 3GS
by Anand Lal Shimpi on July 7, 2009 12:00 AM EST- Posted in
- Smartphones
- Mobile
More Detail on ARM11 vs. Cortex A8
We’ve gone through the basic architectural details of the ARM11 and Cortex A8 cores, and across the board the A8 is far ahead. It gets even better for the new design once we drill a little deeper.
The L1 cache in the A8 gets a significant improvement. The ARM11 core had a 2 cycle L1 cache, while the A8 has a single cycle L1. In-order cores depend heavily on fast memory access, so an even faster L1 will have a dramatic impact on performance.
ARM11 actually supported a L2 cache but it was rarely used; the Cortex A8 is designed with a tightly coupled L2 cache varying in size. Vendors can choose from cache sizes as small as 128KB all the way up to 1MB, with a minimal access latency of 8 cycles. The L2 access time is programmable, with slower access more desirable to save power.
The caches also include way prediction to minimize the number of cache ways active when doing a cache access, this sort of cache level power management was also used by Intel back on the first Pentium M processors and is still used today in modern x86 processors.
The ARM11 core supported a 64-bit bus that connected it to the rest of the SoC; Cortex A8 allows for either a 64-bit or 128-bit bus. It’s unclear what vendors like Samsung and T.I. have implemented on their A8 based SoCs.
The S is for speed. Powered by the ARM Cortex A8.
With a deeper pipeline, the Cortex A8 also has a much more sophisticated branch prediction unit. While the ARM11 core had a 88% accurate branch predictor, the Cortex A8 can correctly predict branches over 95% of the time. If you care about stats, the A8 has a 512 entry branch target buffer and a 4K entry global history buffer. The accuracy of the branch predictor in the Cortex A8 is actually as high as what AMD claimed with its first Athlon processor, and this is an in-order core in a smartphone. With a 13-stage pipe however, a very accurate predictor was necessary.
While ARM11 supported some rudimentary SIMDfp instructions, Cortex A8 adds a full SIMDfp instruction set with NEON. ARM expects a greater than 2x improvement on media processing applications thanks to the A8’s NEON instructions - of course you’ll need to compile directly for NEON in order to see those gains. If you’re looking for a modern day relation, NEON is like the A8’s SSE whereas ARM11 basically had a sophisticated MMX equivalent. Both are very important.
The Cortex A8 is a more power hungry core than the ARM11, but the design also has much more extensive clock gating (turning off the clock to idle parts of the chip) than the ARM11. Since the A8 is newer it’s also going to be manufactured on a smaller manufacturing process. The bulk of ARM11 based SoCs used 90nm transistors, while A8 based SoCs are shipping at 65nm. ARM11 has started to transition down to 65nm, while A8 will move down to 45nm.
At the same clock speed and with the same L2 cache sizes, ARM shows the Cortex A8 as being able to execute 40% more instructions per second than the ARM11. That’s a generational performance improvement, something that can’t be delivered by clock speed alone, but the comparison is conservative. Cortex A8 designs won’t ship at the same clock speed and cache configurations as ARM11 chips; as far as I can tell, none of the major ARM11 based smartphones even had a L2 cache while Cortex A8 designs are expected to have one.
Furthermore, the ARM11 based smartphones were much lower in the frequency curve than the early A8 platforms. While a 40% improvement in instruction throughput is reasonable at the same specs, I would expect far larger real world performance improvements from a Cortex A8 based SoC compared to a ARM11 SoC.
Overall the Cortex A8 is much more like a modern day microprocessor. It’s still an in-order core, but it adds superscalar execution, a deeper pipeline, larger caches and a broader instruction set among other things. For any current high end smartphone there doesn’t seem to be a reason to choose the ARM11 over it, companies that insist on using ARM11 based designs even in 2009 are either not agile enough to implement a better chip in a quick manner or have no concern for performance and are more focused on cost savings. Neither option is a particularly good one and it is telling that the two manufacturers who seem to have gotten how to properly design a smartphone, Apple and Palm, have both opted to go with a Cortex A8 before most of the more established players.
A Call to Action
This leads me to a further point: we need more transparency in specs from smartphone manufacturers. The mobile phone market is all too shielded from the performance metrics and accountability that we’ve had in the PC space. When Intel was shipping Pentium 4s that performed slower than the Pentium IIIs they were replacing, we called them out on it. To this day, Apple refuses to talk about the processor in the iPhone 3GS. We get to hear all about what’s in the Nehalem Mac Pro, but the hardware behind the 3GS is off limits - despite the fact that it’s very good. This policy of not delivering specifics and a general unwillingness to talk about specs is absurd at best. It doesn’t take much more than a teardown and some homebrew code to figure out what CPU at what frequency is in any modern day smartphone; manufacturers should show pride in their hardware, or refrain from putting something inside a phone that’s they can’t be proud of.
What we need are cache sizes, clock speeds, full architecture disclosures. They don’t have to be on the phone’s marketing materials but make them accessible and at least some of the focus. These SoCs are so incredibly cool, they pack more power than the desktops of 10 years ago into a single chip smaller than my thumbnail - boast about them! Palm had a tremendous leg up on the competition with its OMAP 3430 processor, yet there was hardly any attention paid to it by Palm. I get that the vast majority of consumers don’t get, but those who do, would help tremendously if given access to this information. It’s something to get excited about.
And if the manufacturers won’t devote time and energy to this stuff, then I will.
60 Comments
View All Comments
Affectionate-Bed-980 - Wednesday, July 8, 2009 - link
It's unacceptable because what? HTC Touch Diamond 2 and Touch Pro 2 are flagship phones with ARM11 processors? Yes I pointed out some phones that have it, but have you guys even seriously used an S60 phone? Multiple S60 phones? I've gone through N80, N95, N82, and I've toyed with an N85 and 5800 also. The N97 is certainly fine in usability. It could use some more RAM, but even if you stuffed a Cortex A8 and some more RAM, the phone is still going to get a lot of flak except for people who look at it on paper. Symbian S60v5 is perfectly fine on ARM11. It doesn't need some insane CPU to keep up with the UI.Moreover, the N97 isn't really that much of a gaming platform like the iPhone. Think of the N97 like the Touch Pro 2. The Touch Pro 2 is more business oriented with the QWERTY and everything. HTC didn't upgrade the camera, and didn't bother to build it the same way the flagship Diamond 2 was built. This doesn't mean it's a BAD phone.
You guys are thinking of this whole thing like a computer or something. Have you seen the N95 photos? It's a 2007 phone. Pretty much the best 5MP all around. The N97 does a little better. Yes it demolishes the 3MP crap on the 3GS. So coming from a more computer-centric crowd here yes it makes sense to bash a CPU, but from a mobile phone perspective it's not even that bad at all. If anything the phone was first a phone before it was a camera and then an MP3 player, and now a powerhouse mini computer. If you're telling me that in 2006 I could've bought a Sony Ericsson 3 MP cameraphone, then why are we still stuck there on the 3GS? There are more important features that phones push for such as music, camera, later GPS and connectivity, and now processing power. Give it some time and I bet you Nokia will have a winner soon.
What crappy screen on the N97? Resistive? Get over it. The iPhone is capacitive, so all phones must be capacitive? The iPhone has a Cortex A8, everything else must have it? Please. Multi touch is patented by Apple, so it's a little difficult to move into that arena for now. There are advantages and disadvantages to both resistive and capacitive screens. Just because the N97 doesn't mimick the iPhone doesn't mean it sucks. HTC's WinMo phones are resistive screens too. So are the new Samsung Omnia II and Pro phones. So is the new Sony Ericsson Satio.
Different phones are built differently, but honestly when you look at pure functionality, the lack of multitasking is much larger than a CPU difference.
I feel it is justified to say Nokia needs to get to work, but to hear this from people who really doesn't have as much experience with unlocked phones is like hearing one of those ditzy people who buys Apple thinking it'll solve their spyware problems on their PC tell you why a Mac is superior. I'd rather hear it from the computer guru. Gizmodo may be negative, but I think Engadget gave the N97 a fair look and so did other reviewers like PhoneArena, GSMArena, Mobile-Burn, Symbian-Guru.
Look I have nothing against Apple. I have a 3GS too. It's just not my thing and I'm back on my N-series. I'm not a Nokia fanboy or anything. There's plenty of criticism I've given the N97 and Nokia in the S60 section of HoFo, but I believe having had 3 iPhones, Anand is quite biased.
vshah - Wednesday, July 8, 2009 - link
Anand,Thanks for this excellent article, I really enjoyed the cpu benchmark/comparisons you did; they paint a very clear picture.
I was curious as to your thoughts on the multitasking implementation on Android. Holding down home for a couple seconds brings up the 6 most recently accessed apps/tasks, and I've always found switching between them to be pretty fluid. Have you had a chance to try that out?
Thanks,
Vivan
MrX8503 - Wednesday, July 8, 2009 - link
This isn't even a phone site and it has the most in depth review of the iphone yet.I guess being a tech site, Anandtech has an edge over other sites that just review phones.
Good Work!
kmmatney - Wednesday, July 8, 2009 - link
I needed a new phone for work, and spent about 30 minutes in the local AT&T store testing out phones yesterday. After using the blackberry and iPhone for quite some time, I have to say the iPhone was much better. I was way more productive with it - everything was easy to do, while I felt like all the other phones were fighting me. Overall, a fantastic phone for business - I went for the 16GB 3GS model - the only gripe is the 7 day wait for shipment.sprockkets - Wednesday, July 8, 2009 - link
You mentioned using voice command. Can you use it via a BT headset?Also, does it play ringtones over the headset? Does it announce who is calling over the headset?
nafhan - Wednesday, July 8, 2009 - link
Thanks for a great article!One minor complaint, and it's really not even a complaint. I want to point out that this would have made two excellent stand alone articles.
First article would have been about the current state of mobile CPU and GPU architecture. This section was excellent and detailed enough that I really felt it deserved it's own article rather than being lumped in as part of your iPhone impressions.
Second article would have been your impressions and review of the 3GS.
WeaselITB - Wednesday, July 8, 2009 - link
I agree with this - it does seem that there are two articles vying for attention here, and with a bit more polish they could have been published separately.That said, I do want to commend you for this article. These are the types of in-depth reports that made me start reading AT ten or so years ago, and they are the type of in-depth reports that keep me reading. Thanks, Anand.
Rolphus - Wednesday, July 8, 2009 - link
I think this is an important point. Apple see the iPhone as a device, exactly the same as the iPod. No "user" compares about the iPod's CPU, any more than they care about the CPU of their refrigerator. For it to be a true consumer device (rather than a computer), it should "just work", and work with acceptable performance, in all the situations it's designed for.Yes, us techies want to know more, and that's precisely why we come to sites like Anandtech and read your articles. I don't think the mainstream user is ever going to care about these specs, but rather what the phone can do.
medi01 - Wednesday, July 8, 2009 - link
Wouldn't it be better to review alternatives? Like Samsung's new shiny MOLED display smartphone?wuyanxu - Wednesday, July 8, 2009 - link
superb article! a lot more indepth than all other websites. would love to see more like this, with more information on how the graphics cores improved its performance.however, what you should not forget is avaliability of jailbreak for 3GS. in the conclusion you've mentioned the hassle of re-launching apps. with a jailbreak, you will be able to send an app to background and get instant re-lanuch.
my dream phone would be an iPhone with Andriod-like pull-down status bar notification system, and have JB's backgrounder come as standard.
the pull down status bar will have the top 2/3 to be notifications. press to launch its apps. the bottom 1/3 will be icons of opened apps, and to close it, simply drag the icon to a reserved area.
the idea is similar to a jailbroken app called mQuickDo, except with the notification system.