The A5 Architecture & CPU Performance

The original iPhone debuted with a single 412MHz ARM11 core built on a 90nm process. The 3G improved network performance in 2008 but left the SoC untouched. It wasn't until the iPhone 3GS in 2009 that the SoC got a major performance and power update. Apple moved to a 65nm process node, a brand new ARM Cortex A8 based SoC and an upgraded GPU. The A4 released in 2010 once again gave us a process shrink but kept the architecture unchanged.


Apple's A5 SoC

Apple's A5, first introduced with the iPad 2, keeps process technology the same while introducing a brand new CPU and GPU. The A5 integrates two ARM Cortex A9 cores onto a single die. The improvement over the A4 is tremendous. At the single core level, Apple shortened the integer pipeline without reducing clock speed. With a shorter pipeline the A5 gets more done per clock, and without decreasing clock speed the A5 inherently achieves better performance at the same clock. The move to the Cortex A9 also enables out-of-order instruction execution, further improving architectural efficiency. I've heard there's a 20% increase in performance per clock vs. the Cortex A8, but combine that with the fact that you get two A9s vs a single A8 in last year's design and you get a pretty big performance increase.

There are several situations where the A5's two cores deliver a tangible performance benefit over the A4's single core. Like Android, iOS appears to be pretty well threaded. Individual apps and tasks can take advantage of the second core without a recompile or version update. The most obvious example is web browsing.

Mobile Safari is well threaded. Javascript rendering can be parallelized as well as parts of the HTML parsing/rendering process. All of the major Javascript performance benchmarks show a 60 - 70% increase in performance over the A4, which is partially due to the availability of the second core:

SunSpider Javascript Benchmark 0.9.1 - Stock Browser

Rightware BrowserMark

This translates directly into faster page load times. As you can see in the video below, the iPhone 4S (left) loads the AnandTech front page over WiFi in about 5 seconds compared to 9 seconds on the iPhone 4 (right). That's really the best case scenario, the improvement in the next page load time was only about a second (7s vs 8s).

Typical improvements in load time fall in the 10 - 70% range, contributing significantly to the phone feeling snappier than its predecessor. To quantify the improvement I ran through our standard web page loading suite, a test that hits AnandTech, CNN, NYTimes, Engadget, Amazon, Digg and Reddit hosted locally on our lab's network. The average page load time over WiFi for all of the pages is below:

AnandTech Web Page Loading Performance Suite

While web page rendering is a natural fit for multiple cores, I was surprised by how poorly threaded some apps ended up being. For example, although I did see performance improvements in exporting edited videos from the iOS version of iMovie, the gains weren't always evident. A quick profile of the app revealed that much of the export process is still single threaded. Just as we've seen on the desktop, there will be some added work necessary to get all apps to utilize multiple cores on iOS.

It's not always performance within an app that saw improvement with the A5: application install and launch times are also much quicker on the 4S. The time to launch Epic's iOS Citadel demo went from 32 seconds on the iPhone 4 to 22 seconds on the 4S. While the iPhone 4 may feel fast enough for many users, the 4S is noticeably faster.

Photos App - Auto Enhance Image

Much of the faster feel comes from by shaving off of seconds here or there. For example, I noticed apps like Messages pop up just slightly quicker on the 4S and you'll see your listing of messages a hair faster than you would on the 4. In the video above you get a brief idea of the sort of subtle improvements I'm talking about. YouTube launches a fraction of a second quicker on the 4S vs the 4.

These subtle decreases in response time are simply icing on the cake. The move from a 4 to a 4S is one of those upgrades that you'll notice right off the bat but will really appreciate if you go back to an iPhone 4 and try to use it. If you do a lot of web browsing on your phone, you'll appreciate the 4S.

I wasn't entirely sure whether or not I could attribute all of these performance improvements to the faster CPU. It's possible that some of the tests I mentioned are IO bound and Apple could have used faster NAND in the 4S. To find out I rounded up a bunch of iPhone 4Ses at all available capacities and measured sequential write speed:

NAND Performance

Apple uses multiple sources for NAND so it's possible that you'll see these numbers move around a bit depending on your particular phone. It looks like the iPhone 4S' NAND is no faster than what Apple shipped last year - at least in sequential write speed. The target appears to be 20MB/s and Apple does its best to stay around there. My iPhone 4 is actually pretty quick at 22MB/s but the advantage isn't significant enough to make a huge deal about. I don't have a good way of measuring random IO performance yet but application launch time is largely governed by sequential IO so I don't expect we're seeing gains from anything outside of the CPU and memory bandwidth in the earlier tests.

Faster Throughput on WCDMA The Memory Interface
Comments Locked

199 Comments

View All Comments

  • robco - Monday, October 31, 2011 - link

    I've been using the 4S from launch day and agree that Siri needs some work. That being said, it's pretty good for beta software. I would imagine Apple released it as a bonus for 4S buyers, but also to keep the load on their servers small while they get some real-world data before the final version comes in an update.

    The new camera is great. As for me, I'm glad Apple is resisting the urge to make the screen larger. The Galaxy Nexus looks nice, but the screen will be 4.65". I want a smartphone, not a tablet that makes phone calls. I honestly wouldn't want to carry something much larger than the iPhone and I would imagine I'm not the only one.

    Great review as always.
  • TrackSmart - Monday, October 31, 2011 - link

    I'm torn on screen size myself. Pocketable is nice. But I'm intrigued by the idea of a "mini-tablet" form factor, like the Samsung Galaxy Note with it's 5.3" screen (1280x800 resolution) and almost no bezel. That's HUGE for a phone, but if it replaces a tablet and a phone, and fits my normal pants pockets, it would be an interesting alternative. The pen/stylus is also intriguing. I will be torn between small form factor vs mini-tablet when I make my phone upgrade in the near future.

    To Anand and Brian: I'd love to see a review of the Samsung Galaxy Note. Maybe Samsung can send you a demo unit. It looks like a refined Dell Streak with a super-high resolution display and Wacom digitizer built in. Intriguing.
  • Rick83 - Wednesday, November 2, 2011 - link

    That's why I got an Archos 5 two years ago. And what can I say? It works.

    Sadly the Note is A) three times as expensive as the Archos
    and B) not yet on Android 4

    there's also C) Codec support will suck compared to the Archos, and I'm pretty sure Samsung won't release an open bootloader, like Archos does.

    I'm hoping that Archos will soon release a re-fresh of their smaller size tablets base on OMAP 4 and Android 4.
    Alternatively, and equally as expensive as the Note, is the Sony dual-screen tablet. Looks interesting, but same caveats apply....
  • kylecronin - Monday, October 31, 2011 - link

    > It’s going to be a case by case basis to determine which 4 cases that cover the front of the display work with the 4S.

    Clever
  • metafor - Monday, October 31, 2011 - link

    "Here we have two hypothetical CPUs, one with a max power draw of 1W and another with a max power draw of 1.3W. The 1.3W chip is faster under load but it draws 30% more power. Running this completely made-up workload, the 1.3W chip completes the task in 4 seconds vs. 6 for its lower power predecessor and thus overall power consumed is lower. Another way of quantifying this is to say that in the example above, CPU A does 5.5 Joules of work vs. 6.2J for CPU B."

    The numbers are off. 4 seconds vs 6 seconds isn't 30% faster. Time-to-complete is the inverse of clockspeed.

    Say a task takes 100 cycles. It would take 1 second on a 100Hz, 1 IPC CPU and 0.77 seconds on a 130Hz, 1 IPC CPU. This translates to 4.62 sec if given a task that takes 600 cycles of work (6 sec on the 100Hz, 1 IPC CPU).

    Or 1W * 6s = 6J = 1.3W * 4.62s

    Exactly the same amount of energy used for the task.
  • Anand Lal Shimpi - Monday, October 31, 2011 - link

    Err sorry, I should've clarified. For the energy calculations I was looking at the entire period of time (10 seconds) and assumed CPU A & B have the same 0.05W idle power consumption.

    Doing the math that way you get 1W * 6s + 0.05W * 4s = 6.2J (CPU B)

    and

    1.3W * 4s + 0.05W * 6s = 5.5J (CPU A)
  • metafor - Monday, October 31, 2011 - link

    Erm, that still presents the same problem. That is, a processor running at 130% the clockspeed will not finish in 4 seconds, it will finish in 4.62s.

    So the result is:

    1W * 6s + 0.05W * 4s = 6.2J (CPU B)
    1.3W * 4.62s + 0.05 * 5.38s = 6.275J (CPU A)

    There's some rounding error there. If you use whole numbers, say 200Hz vs 100Hz:

    1W * 10s + 0.05W * 10s = 10.5W (CPU B running for 20s with a task that takes 1000 cycles)

    2W * 5s + 0.05W * 15s = 10.75W (CPU A running for 10s with a task that takes 1000 cycles)
  • Anand Lal Shimpi - Monday, October 31, 2011 - link

    I wasn't comparing clock speeds, you have two separate processors - architectures unknown, 100% hypothetical. One draws 1.3W and completes the task in 4s, the other draws 1W and completes in 6s. For the sake of drawing a parallel to the 4S vs 4 you could assume that both chips run at the same clock. The improvements are entirely architectural, similar to A5 vs. A4.

    Take care,
    Anand
  • metafor - Tuesday, November 1, 2011 - link

    In that case, the CPU that draws 1.3W is more power efficient, as it managed to gain a 30% power draw for *more* than a 30% performance increase.

    I absolutely agree that this is the situation with the A5 compared to the A4, but that has nothing to do with the "race to sleep" problem.

    That is to say, if CPU A finishes a task in 4s and CPU B finishes a task in 6s. CPU A is more than 30% faster than CPU B; it has higher perf/W.
  • Anand Lal Shimpi - Tuesday, November 1, 2011 - link

    It is race to sleep though. The more power efficient CPU can get to sleep quicker (hurry up and wait is what Intel used to call it), which offsets any increases in peak power consumption. However, given the right workload, the more power efficient CPU can still use more power.

    Take care,
    Anand

Log in

Don't have an account? Sign up now