Superscalar to the Rescue

If deepening the pipeline gives us higher clock speeds and more instructions being worked on at a time, but at the expense of lower performance when things aren’t working optimally, what other options do we have for increasing performance?

Instead of going deeper, what about making our chip wider? In our previous example only a single instruction could be active at any given stage in the pipeline - what if we removed that limitation?

A superscalar processor is one that allows multiple instructions to be active at any given stage in the pipeline. Through some duplication of resources you can now have two or more instructions at the same stage at the same time. The simplest superscalar implementation is a dual-issue, where two instructions can go down the pipe in parallel. Today’s Core 2 and Core i7 processors are four issue (four instructions go down the pipe in parallel); the high end hasn’t been dual issue since the days of the original Pentium processor.

The benefits of a superscalar chip are obvious: you potentially double the number of completed instructions at any given time. Combine that with a reasonably pipelined, high clock speed architecture and you have the makings of a high performance processor.

The drawbacks are also obvious; enabling a multi-issue architecture requires more transistors, which drive up die size (cost) and power (heat). Only recently have superscalar designs made their way into mobile devices thanks to smaller and cooler switching transistors (e.g. 45nm). You also have to worry even more about keeping the CPU fed with instructions, which means larger caches, faster memory buses and clever architectural tricks to extract as much instruction level paralellism as possible. A dual issue chip is a waste if you can’t keep it fed consistently.

Raw Clock Speed

The previous two examples of architectural enhancements are major improvements in design. To design a modern day CPU with more pipeline stages or to go from a single to dual-issue design takes a team years to implement; these are not trivial improvements.

A simpler path to improving performance is to just increase the clock speed of the CPU. In the first example I provided, our CPU could only run as fast as the most complex pipeline stage allowed it. In the real world however, there are other limitations to clock speed.

Manufacturing issues alone can severely limit clock speed. Even though an architecture may be capable of running at 1GHz, the transistors used in making the chip may only be yielding well at 600MHz. Power is also a major concern. A transistor usually has a range of switching speeds. Our hypothetical 45nm process may be able to run at 300MHz at 0.9500V or 600MHz at 1.300V; higher frequencies generally mean higher voltage, which results in higher power consumption - a big issue for mobile devices.

The iPhone’s processor is based on a SoC that can operate at up to 600MHz, for power (and battery life) concerns Apple/Samsung limit the CPU core to running at 412MHz. The architecture can clearly handle more, but the balance of power and battery life gate us. In general, increasing clock speed alone isn’t a desirable option to improve performance in a mobile device like a smartphone because your performance per watt doesn’t improve tremendously if at all.

In terms of sheer performance however, just increasing clock speed is preferred to deepening your pipeline and increasing clock speed. With no increase in pipeline depth you don’t have to worry about keeping any more stages full, everything just works faster if you increase your clock speed.

The key take away here is that you can’t just look at clock speed when it comes to processors. We learned this a long time ago in the desktop space, but it seems that it’s getting glossed over in the smartphone market. A 400MHz dual-issue core is going to be a better performer than a 500MHz single-issue core with a deeper pipeline, and the 528MHz processor in the iPod Touch is no where near as fast as the 600MHz processor in the iPhone 3GS.

A Crash Course in CPU Architecture Putting it in Perspective
Comments Locked

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.

Log in

Don't have an account? Sign up now