An Update on Apple’s A7: It's Better Than I Thought

When I reviewed the iPhone 5s I didn’t have much time to go in and do the sort of in-depth investigation into Cyclone (Apple’s 64-bit custom ARMv8 core) as I did with Swift (Apple’s custom ARMv7 core from A6) the year before. I had heard rumors that Cyclone was substantially wider than its predecessor but I didn’t really have any proof other than hearsay so I left it out of the article. Instead I surmised in the 5s review that the A7 was likely an evolved Swift core rather than a brand new design, after all - what sense would it make to design a new CPU core and then do it all over again for the next one? It turns out I was quite wrong.

Armed with a bit of custom code and a bunch of low level tests I think I have a far better idea of what Apple’s A7 and Cyclone cores look like now than I did a month ago. I’m still toying with the idea of doing a much deeper investigation into A7, but I wanted to share some of my findings here.

The first task is to understand the width of the machine. With Swift I got lucky in that Apple had left a bunch of public LLVM documentation uncensored, referring to Swift’s 3-wide design. It turns out that although the design might be capable of decoding, issuing and retiring up to three instructions per clock, in most cases it behaved like a 2-wide machine. Mix FP and integer code and you’re looking at a machine that’s more like 1.5 instructions wide. Obviously Swift did very well in the market and its competitors at the time, including Qualcomm’s Krait 300, were similarly capable.

With Cyclone Apple is in a completely different league. As far as I can tell, peak issue width of Cyclone is 6 instructions. That’s at least 2x the width of Swift and Krait, and at best more than 3x the width depending on instruction mix. Limitations on co-issuing FP and integer math have also been lifted as you can run up to four integer adds and two FP adds in parallel. You can also perform up to two loads or stores per clock.

I don’t yet have a good understanding of the number of execution ports and how they’re mapped, but Cyclone appears to be the widest ARM architecture we’ve ever seen at this point. I’m talking wider than Qualcomm’s Krait 400 and even ARM’s Cortex A15.

I did have some low level analysis in the 5s review, where I pointed out the significantly reduced memory latency and increased bandwidth to the A7. It turns out that I was missing a big part of the story back then as well…

A Large System Wide Cache

In our iPhone 5s review I pointed out that the A7 now featured more computational GPU power than the 4th generation iPad. For a device running at 1/8 the resolution of the iPad, the A7’s GPU either meant that Apple had an application that needed tons of GPU performance or it planned on using the A7 in other, higher resolution devices. I speculated it would be the latter, and it turns out that’s indeed the case. For the first time since the iPad 2, Apple once again shares common silicon between the iPhone 5s, iPad Air and iPad mini with Retina Display.

As Brian found out in his investigation after the iPad event last week all three devices use the exact same silicon with the exact same internal model number: S5L8960X. There are no extra cores, no change in GPU configuration and the biggest one: no increase in memory bandwidth.

Previously both the A5X and A6X featured a 128-bit wide memory interface, with half of it seemingly reserved for GPU use exclusively. The non-X parts by comparison only had a 64-bit wide memory interface. The assumption was that a move to such a high resolution display demanded a substantial increase in memory bandwidth. With the A7, Apple takes a step back in memory interface width - so is it enough to hamper the performance of the iPad Air with its 2048 x 1536 display?

The numbers alone tell us the answer is no. In all available graphics benchmarks the iPad Air delivers better performance at its native resolution than the outgoing 4th generation iPad (as you'll soon see). Now many of these benchmarks are bound more by GPU compute rather than memory bandwidth, a side effect of the relative lack of memory bandwidth on modern day mobile platforms. Across the board though I couldn’t find a situation where anything was smoother on the iPad 4 than the iPad Air.

There’s another part of this story. Something I missed in my original A7 analysis. When Chipworks posted a shot of the A7 die many of you correctly identified what appeared to be a 4MB SRAM on the die itself. It's highlighted on the right in the floorplan diagram below:


A7 Floorplan, Courtesy Chipworks

While I originally assumed that this SRAM might be reserved for use by the ISP, it turns out that it can do a lot more than that. If we look at memory latency (from the perspective of a single CPU core) vs. transfer size on A7 we notice a very interesting phenomenon between 1MB and 4MB:

That SRAM is indeed some sort of a cache before you get to main memory. It’s not the fastest thing in the world, but it’s appreciably quicker than going all the way out to main memory. Available bandwidth is also pretty good:

We’re only looking at bandwidth seen by a single CPU core, but even then we’re talking about 10GB/s. Lookups in this third level cache don’t happen in parallel with main memory requests, so the impact on worst case memory latency is additive unfortunately (a tradeoff of speed vs. power).

I don’t yet have the tools needed to measure the impact of this on-die memory on GPU accesses, but in the worst case scenario it’ll help free up more of the memory interface for use by the GPU. It’s more likely that some graphics requests are cached here as well, with intelligent allocation of bandwidth depending on what type of application you’re running.

That’s the other aspect of what makes A7 so very interesting. This is the first Apple SoC that’s able to deliver good amounts of memory bandwidth to all consumers. A single CPU core can use up 8GB/s of bandwidth. I’m still vetting other SoCs, but so far I haven’t come across anyone in the ARM camp that can compete with what Apple has built here. Only Intel is competitive.

 

Introduction, Hardware & Cases CPU Changes, Performance & Power Consumption
Comments Locked

444 Comments

View All Comments

  • tipoo - Tuesday, October 29, 2013 - link

    Agreed, a sub-name only makes sense if a second product is coming out. 12" iPad Platform based system in a MBA form factor, mayhaps?
  • User.Name - Tuesday, October 29, 2013 - link

    This device, like so many recent Apple product announcements, is both very exciting, and very disappointing at the same time.

    Dropping 1/3 of the weight from the iPad and making the device smaller while keeping the same display size is a huge improvement over the old hardware.

    But there are so many things I have wanted Apple to address, that they have not.
    1. The display is not bonded to the glass. My television from 2010 has this, so does my notebook, my phone, and Microsoft manage it with the Surface. This needs to change.

    2. Even though moving to 64-bit requires more memory, they stuck with 1GB of RAM. I was already constantly running into a lack of RAM on my iPad 3.

    3. It still starts at 16GB. 16GB on my iPad 2 was tight, and it got worse once apps started coming with retina assets. With no external expansion, 16GB seems awfully tight now.

    4. There's no A7X. Yes, the A7 may be a fast chip, and there are less thermal restrictions inside the iPad than the iPhone, but the demands of the iPad are significantly higher. I suppose with them making the device a lot smaller, this is the compromise they thought best, but it's still disappointing.

    I sold my iPad six weeks ago in preparation of the new tablet devices, fully intending on replacing it with a Surface Pro 2, but after seeing that they just stuck with the old display rather than improving its color accuracy (all they did was load an ICC profile) and the disappointing battery life, I decided against it.

    Being without the iPad for six weeks though, has made me reconsider whether I want one. It was originally my fallback plan if the Surface didn't work out, but now I'm unsure that I want another. The main reason I was moving away from it to begin with was due to the software restrictions, and annoyances such as the screen reflections and lack of RAM, which have not been addressed at all with this update.
    I'm having a very difficult time trying to find something which meets my requirements.
  • dugbug - Wednesday, October 30, 2013 - link

    "4. There's no A7X. Yes, the A7 may be a fast chip, and there are less thermal restrictions inside the iPad than the iPhone, but the demands of the iPad are significantly higher. I suppose with them making the device a lot smaller, this is the compromise they thought best, but it's still disappointing."

    Why? Why do you need an A7X and why is that disappointing?
  • User.Name - Wednesday, October 30, 2013 - link

    In some of the tests, it seems to be performing worse than the iPad 4.
    In many of the tests, performance is lower than that of the iPhone 5s - by as much as 50% in some tests.
    I expect better performance from a large tablet device than I do from something which fits in my pocket.

    It means that if a developer does a "simple" port from one device to the other, the iPad version is going to perform worse than the same thing running on an iPhone. I think that's very disappointing, and it's the reason the A5X and A6X existed.
  • errorr - Wednesday, October 30, 2013 - link

    I don't think there are any apps out there that can stress the A7. I see it more that Apple chose ro put a throttled tablet SOC into a phone. It has way too much power for the 5s screen and will bottleneck elsewhere first.
  • dugbug - Thursday, October 31, 2013 - link

    The A7 has a lot of headroom, way overkill for the phone. seriously, this is such an edge concern.
  • Kvaern - Wednesday, October 30, 2013 - link

    I don't quite get the fuss about the 16gb baseline.

    I mean if it isn't enough for you then get a larger model but why would you want to force 32gb on people who needs no more than 16gb?
  • User.Name - Wednesday, October 30, 2013 - link

    Apple seem to operate largely by keeping their prices fixed, and introducing better hardware at the same price point. 16GB is not a lot of storage now, considering what Apple is charging, and when there is no option to expand that.

    As I said in my previous post, I originally purchased a 16GB iPad 2, without knowing how restrictive that would be - you get less than 16GB usable space, and what you may not realize is that you also have to keep 1-2GB free to be able to update apps. (or at least you did at the time; iOS 7 may have changed this?)

    Once apps started adding retina assets, many of them increased 2-3x in size, further reducing the number of apps you could keep on the device, even though the iPad 2 itself had no use for those assets.

    I think the base spec being 16GB really hurts the user experience. I constantly found myself having to remove apps from the device, and couldn't really store any media on the device itself. (even podcasts had to be restricted)
    I then went with a 64GB iPad 3 the next year, and now I would probably recommend that most people buy the 32GB model. I know too many people that bought a 16GB iPad, only to find themselves replacing the device the next year, not because they wanted a faster device, but because it didn't have enough storage for all the apps they wanted to run. (games and educational apps seem to be the worst offenders)

    I'm sure there are some people whose usage is fine with 16GB, but when Apple are charging a premium price, I just don't think 16GB is enough.
    It's a similar situation to the RAM in the device. 64-bit now requires more memory than previous generations of the iPad, but they stuck with 1GB of RAM, making the user experience worse than it was before.
  • akdj - Wednesday, October 30, 2013 - link

    "64-bit now requires more memory than previous generations of the iPad, but they stuck with 1GB of RAM, making the user experience worse than it was before."
    Hmmm....I read the whole article, didn't notice that mentioned at ALL! Seemingly, overall...Anand's experience with the 'Air' was significantly 'better' than ANY other tablet he's reviewed/used.
    As far as NAND/Storage size....this is ubiquitous throughout the industry. Most OEMs are shipping 16GB models as their 'entry' level device. For folks not interested in downloading games or 'big' apps (My mom loves her iPad 2 16GB and has never run out of space)---that amount is just fine. No other tablets are shipping with 128GB currently, right? You've got choice. Use it. Use your head. Now that you know 16GB isn't enough for you....and 64 is too much, you've finally figured out you need 32GB. Good for you....as I'd also like to see Apple start off with a 32GB iOS device as the minimum, they're not aiming the 16GB model at power users...they offer 4 different sizes with your choice of WiFi or LTE. Same thing, gotta make that choice. I'd love every model to include LTE. It doesn't. You HAVE to make a choice that benefits YOU.
    Everyone uses their tablets differently. With cloud storage (Dropbox, iCloud, Box, Google Drive, et al.), one has the option to store their information outside of the tablet and access it when necessary. Many folks don't game. You can now stream from iTunes Match...no need to d/l the entire movie first. That said...if you want more storage, BUY more storage! Apple is in parity with the rest of the entry level OEMs....16GB is pretty standard, other than some that are still releasing 8GB models (first Nex7?)....or models with only options of 16 or 32GB on board.
    J
  • User.Name - Wednesday, October 30, 2013 - link

    Yes, but other devices shipping with 16GB storage are significantly cheaper, and/or have expandable storage options. (plug in a 64GB SDXC Micro card)

    And to move from 64GB to 128GB (+64GB) costs $100 - the same as moving from 16GB to 32GB. (+16GB)
    I'm quite sure they could offer a 32GB at the current price.

    As for 1GB RAM affecting the user experience, I suppose it depends how you use the device.
    I was constantly running out of RAM on my iPad 3, which also had 1GB - and that is effectively more than the Air has.

Log in

Don't have an account? Sign up now