Understanding the iPhone 3GS
by Anand Lal Shimpi on July 7, 2009 12:00 AM EST- Posted in
- Smartphones
- Mobile
The GPU and its Performance
We’ve gone through, in great depth, the CPU in the new iPhone 3GS. But the GPU is arguably the more interesting upgrade. I’ve already covered the GPU pretty well so I present you with a blatant copy/paste of what I’d already written:
Now that we’re familiar with the 3GS’ CPU, it’s time to talk about the GPU: the PowerVR SGX.
Those familiar with graphics evolution in the PC space may remember Imagination Technologies and its PowerVR brand by their most popular desktop graphics card: STMicro’s Kyro and Kyro II. The Kyro series used the PowerVR3 chips and while STMicro ultimately failed to cement itself as a NVIDIA competitor in the desktop, the PowerVR technology lived on in ultra-mobile devices.
The SGX is on Imagination Technologies’ fifth generation of its PowerVR architecture, and just like the Kyro cards we loved, the SGX uses a tile based renderer. The idea behind a tile or deferred renderer is to render only what the camera sees, not wasting clocks and memory bandwidth on determining the color of pixels hidden by another object in the scene. Tile based renderers get their name from dividing the screen up into smaller blocks, or tiles, and working on each one independently. The smaller the tile, the easier it is to work on the tile on-chip without going to main memory. This approach is particularly important in the mobile space because there simply isn’t much available bandwidth or power. These chips consume milliwatts, efficiency is key.
The MBX-Lite used in the original iPhone was also a tile based architecture, the SGX is just better.
Also built on a 65nm process the PowerVR SGX is a fully programmable core, much like our desktop DX8/DX9 GPUs. While the MBX only supported OpenGL ES 1.0, you get 2.0 support from the SGX. The architecture also looks much more like a modern GPU:
Pixel, vertex and geometry instructions are executed by a programmable shader engine, which Imagination calls its Universal Scalable Shader Engine (USSE). The “coprocessor” hardware at the end of the pipeline is most likely fixed-function or scalar hardware that’s aids the engine.
The SGX ranges from the PowerVR SGX 520 which only has one USSE pipe to the high end SGX 543MP16 which has 64 USSE2 pipes (4 USSE2 pipes per core x 16 cores). The iPhone 3GS, I believe, uses the 520 - the lowest end of the new product offering. Update: Thanks to BlazingDragon and psonice for pointing out that the 3GS may in fact use a PowerVR SGX 535 based on drivers on the iPhone 3GS. It could still use a lower end SGX core and use the 535's driver, but there's at least the possibility that the 535 is under the hood of the 3GS.
A single USSE pipe can execute, in a single clock, a two-component vector operation or a 2 or 4-way SIMD operation for scalars. The USSE2 pipes are upgraded that handle single clock 3 or 4 component vector operations, have wider SIMD and can co-issue vector and scalar ops. The USSE2 pipes are definitely heavier and have some added benefits for OpenCL. For the 3GS, all we have to worry about is the single USSE configuration.
iPhone 3G (PowerVR MBX-Lite) | PowerVR SGX @ 100MHz | PowerVR SGX @ 200MHz | |
Manufacturing Process | 90nm | 65nm | 65nm |
Clock Speed | ~60MHz | 100MHz | 200MHz |
Triangles/sec | 1M | 3.5M | 7M |
Pixels/sec | 100M | 125M | 250M |
In its lowest end configuration with only one USSE pipe running at 200MHz, the SGX can push through 7M triangles per second and render 250M pixels per second. That’s 7x the geometry throughput of the iPhone 3G and 2.5x the fill rate. Even if the SGX ran at half that speed, we’d still be at 3.5x the geometry performance of the iPhone 3G and a 25% increase in fill rate. Given the 65nm manufacturing process, I’d expect higher clock speeds than what was possible on the MBX-Lite. Also note that these fill rates take into account the efficiency of the SGX’s tile based rendering engine.
Obviously all games on the app store were designed for the PowerVR MBX-Lite and the SoC in the iPhone/iPhone 3G/iPod Touch. Some do run faster/smoother on the 3GS thanks to the faster CPU and GPU, but the new hardware should enable an entirely new class of game in the future.
Developers will have to deal with a segmented user base, since there are around 20 million PowerVR MBX-Lite based phones and a bit over 1 million SGX based 3GSes in the market.
The GPU Comparison
There are obvious limitations to the iPhone 3GS being used as a gaming platform. But there are also obvious limitations to the 3GS being used as a camera or a video player. The point isn’t that the 3GS could replace the Nintendo DS or the Sony PSP, it’s that the iPhone could get you maybe 80 - 90% of the way there.
There are serious control and battery life limitations, but the platform has the right combination of hardware, a software delivery system and ubiquity to at least be considered a viable gaming system. It has a much more powerful CPU/GPU combination than a Nintendo DS, now what it needs is the iPhone equivalent of Mario. Perhaps Apple should buy a game developer.
The obvious smartphone GPU comparison here is the Palm Pre. The TI OMAP 3430 used in the Pre (good job Palm on full disclosure there, just add clock speeds and you’ll get an A+) is a very similar SoC to the Samsung chip in the iPhone 3GS. As such, it also has a PowerVR SGX core.
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.