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:

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.

I have a Nexus 4 (soon to be 5) a Nexus 7 first gen and an iPad 2 (soon to be Air). Sometimes I find all the partisan bickering about this stuff hilarious. I like a good row as much as the next guy but I'm a geek. I just love to play with the stuff. I prefer Android to iOS for my daily driver phone, but come on. Anand seems like he's just like me. He loves the tech, all of it, and if had could articulate the way he does, I probably would've started a website like this myself.I will say this, I really don't understand why people think NFC is dead. I use it at least once a day with Google Wallet on my phone. Both major grocery store chains in my area take it. McDonald's takes it. Now, the carrier based service is tanking because they were greedy and botched it. Google wallet I find very useful, though.

Also, I've never had problems transferring files with it. My brother-in-law has a VZW Droid M and I have Nexus devices and I've sent him files from both my tablet and my phone. The most useful thing about it compared to Apple's Air Drop service is that I can do this without needing a wifi connection.

I can honestly say, that the one thing keeping me from an iPhone right now is NFC because I use it so much. If the 5s had included it, I would be sporting one right now. Google Wallet is already available for iOS.

I keep seeing somebody in here sounding like the Apple App Store marketing manager spewing the tired old line about 400blah blah thousand "iPad optimized" apps. This is nice that they are doing that but I observe two things.

1) Google is trying to standardize apps so that 1 app needs to be made for all devices. Since all current Nexus devices have either a 720p or 1080p display, this is easy. This is simply a different approach than Apple is taking.2)This means that I only need to buy every app 1 time instead of buying it once for my phone and again (usually for a higher price) on my tablet. Apple could mitigate this buy shipping a standard hi-def resolution on the iPhone which they seem reluctant to do.

Back to the original point. We are all geeks here. I appreciate technology. I have opinions about what I like and don't like, but I come to Anandtech because I like to stay current on everything going on. This site also stays largely unpolitical and sticks to the tech, which is why I don't read Ars as much anymore.Reply

Not sure what you mean about needing a wifi connection for AirDrop. Is having your wifi turned on an issue? AirDrop uses wifi direct, so although you do need to have your wifi turned on you don't need to be connected to a wifi hotspot.Reply

Again, you are listing the #s for GFLOPS/core, not the total GPU GFLOPS on the Rogue chips. You need to clarify that. And the older 554MP4 was 21.6 GFLOPS @ 300MHz (14.4 GFLOPS @ 200MHz, as ID'd by Imagination Tech).Reply

I'm truly not trying to stir the pot at all, but I am curious about NFC. I understand what it is, and its possible application, however, I'm not seeing anyone really clamor for it. This whole NFC deal seems like the HD-DVD/Blu-Ray war all over again. Neither side really had a lead until Sony began to tip the scales in their favor due to the PS3's exclusive use of Blu-Ray discs for games.

I understand that NFC can be used to do some neat things: pay for food, verify a subway ticket, check into a hotel, etc. The problem that I'm seeing is one that anyone without a NFC phone can see: the lack of NFC-enabled terminals. I would say that Apple is dropping the ball something fierce if there were NFC terminals to scan this and that almost everywhere, but like QR codes, they seem almost like a novelty. I *could* scan that code with my phone by either downloading an application that can do it, and then hoping that the code can be read by the program, and hoping that the URL is worth looking at... or I could just type in the URL right below it (yes, I know not everything has a short URL below it). I *could* use NFC by sitting down with my credit cards in advance, creating an account, punching in the numbers, verifying data, opening the app when needed, sorting through the cards I plan to use, selecting the correct one, ensuring the transaction was accepted by the POS... or I could just use my debit card like I have been doing for years now, swipe once, punch in my PIN, and be done with it.

Like I said, I do think that NFC is a really neat idea, and I would love the saturation to become more prevalent in the US, but as of now, it's kind of a neat idea with no real, practical application. I guess the problem I'm having is trying to understand the importance of having it NOW. Some people use NFC as a selling point, and that just seems odd.

I think that when NFC catches on, and you begin seeing it almost everywhere, then we'll start seeing it in Apple products. No point in putting something in if you aren't going to be able to use it, right?Reply

I have a Nexus 7 and use an iPhone 5. We also have the iPads, a Nexus 4, a Nexus 5 and a Galaxy Nexus phones in the household. I use the Nexus 7 as my tablet for the things that it is strong at and use the nice iOS ecosystem for Apps that I need and that's generally good enough for me. I like the idea of wireless charging and I'm going to get a wireless charger for the Nexus 4 and Nexus 5. The Micro-USB connector isn't the easiest thing to connect without a little effort and the connector can get fatigued over time. It's also nice if you can just come home and put the phone on the platform and pick it up when you need it. The Apple connector is a lot easier for me to put in but wireless charging would mean that I wouldn't need as many lightning cables at home.

The Apple ecosystem is generally smoother and nicer. I recently upgraded my Nexus 7 to KitKat and it ran like a dog and I tried a bunch of things and eventually had to do a factory reset which means that I lost a bunch of things and had to re-add them. There are several threads on this on the Phandroid Nexus 7 forums. The iOS 7 upgrade was a piece of cake compared to the KitKat upgrade. I also found UI differences for some simple things between the Nexus 5 and Nexus 7 on KitKat. On the Nexus 7, you do left and right pulldown for notifications and settings. On the Nexus 7, you do one-finger and two-finger pulldowns for notifications and settings. I had thought that the UIs would be the same but I guess not.

I'm extremely impressed with the Nexus 5 hardware - it's very, very fast, great screen, very thin, good feel in hand. I don't like the layout of the volume control and it has known problems with shutter lag and audio output (which I hope will be fixed with software). It's an incredible value for the money.

The thing that I like about Android is the ease of copying content over to them. You just plug them into a PC and drag and drop your files and the Apps will find them on the device. With iOS, I have to convert videos to MP4, or documents to an iBooks compatible format.

I think that the music player and email apps on iOS are far better than the OS provided ones on Android. Google should have done a better job copying iOS Apps there.Reply