After Swift Comes Cyclone Oscar

I was fortunate enough to receive a tip last time that pointed me at some LLVM documentation calling out Apple’s Swift core by name. Scrubbing through those same docs, it seems like my leak has been plugged. Fortunately I came across a unique string looking at the iPhone 5s while it booted:

I can’t find any other references to Oscar online, in LLVM documentation or anywhere else of value. I also didn’t see Oscar references on prior iPhones, only on the 5s. I’d heard that this new core wasn’t called Swift, referencing just how different it was. Obviously Apple isn’t going to tell me what it’s called, so I’m going with Oscar unless someone tells me otherwise.

Oscar is a CPU core inside M7, Cyclone is the name of the Swift replacement.

Cyclone likely resembles a beefier Swift core (or at least Swift inspired) than a new design from the ground up. That means we’re likely talking about a 3-wide front end, and somewhere in the 5 - 7 range of execution ports. The design is likely also capable of out-of-order execution, given the performance levels we’ve been seeing.

Cyclone is a 64-bit ARMv8 core and not some Apple designed ISA. Cyclone manages to not only beat all other smartphone makers to ARMv8 but also key ARM server partners. I’ll talk about the whole 64-bit aspect of this next, but needless to say, this is a big deal.

The move to ARMv8 comes with some of its own performance enhancements. More registers, a cleaner ISA, improved SIMD extensions/performance as well as cryptographic acceleration are all on the menu for the new core.

Pipeline depth likely remains similar (maybe slightly longer) as frequencies haven’t gone up at all (1.3GHz). The A7 doesn’t feature support for any thermal driven CPU (or GPU) frequency boost.

The most visible change to Apple’s first ARMv8 core is a doubling of the L1 cache size: from 32KB/32KB (instruction/data) to 64KB/64KB. Along with this larger L1 cache comes an increase in access latency (from 2 clocks to 3 clocks from what I can tell), but the increase in hit rate likely makes up for the added latency. Such large L1 caches are quite common with AMD architectures, but unheard of in ultra mobile cores. A larger L1 cache will do a good job keeping the machine fed, implying a larger/more capable core.

The L2 cache remains unchanged in size at 1MB shared between both CPU cores. L2 access latency is improved tremendously with the new architecture. In some cases I measured L2 latency 1/2 that of what I saw with Swift.

The A7’s memory controller sees big improvements as well. I measured 20% lower main memory latency on the A7 compared to the A6. Branch prediction and memory prefetchers are both significantly better on the A7.

I noticed large increases in peak memory bandwidth on top of all of this. I used a combination of custom tools as well as publicly available benchmarks to confirm all of this. A quick look at Geekbench 3 (prior to the ARMv8 patch) gives a conservative estimate of memory bandwidth improvements:

Geekbench 3.0.0 Memory Bandwidth Comparison (1 thread)
  Stream Copy Stream Scale Stream Add Stream Triad
Apple A7 1.3GHz 5.24 GB/s 5.21 GB/s 5.74 GB/s 5.71 GB/s
Apple A6 1.3GHz 4.93 GB/s 3.77 GB/s 3.63 GB/s 3.62 GB/s
A7 Advantage 6% 38% 58% 57%

We see anywhere from a 6% improvement in memory bandwidth to nearly 60% running the same Stream code. I’m not entirely sure how Geekbench implemented Stream and whether or not we’re actually testing other execution paths in addition to (or instead of) memory bandwidth. One custom piece of code I used to measure memory bandwidth showed nearly a 2x increase in peak bandwidth. That may be overstating things a bit, but needless to say this new architecture has a vastly improved cache and memory interface.

Looking at low level Geekbench 3 results (again, prior to the ARMv8 patch), we get a good feel for just how much the CPU cores have improved.

Geekbench 3.0.0 Compute Performance
  Integer (ST) Integer (MT) FP (ST) FP (MT)
Apple A7 1.3GHz 1065 2095 983 1955
Apple A6 1.3GHz 750 1472 588 1165
A7 Advantage 42% 42% 67% 67%

Integer performance is up 44% on average, while floating point performance is up by 67%. Again this is without 64-bit or any other enhancements that go along with ARMv8. Memory bandwidth improves by 35% across all Geekbench tests. I confirmed with Apple that the A7 has a 64-bit wide memory interface, and we're likely talking about LPDDR3 memory this time around so there's probably some frequency uplift there as well.

The result is something Apple refers to as desktop-class CPU performance. I’ll get to evaluating those claims in a moment, but first, let’s talk about the other big part of the A7 story: the move to a 64-bit ISA.

A7 SoC Explained The Move to 64-bit
Comments Locked

464 Comments

View All Comments

  • ESC2000 - Saturday, September 21, 2013 - link

    So inexplicably the air has this great GPU coupled with a crappy screen that limits the GPU's impact. Then on the windows ultrabooks we have generally better screens (at least on the ones that have similar cost to the air) but less good GPUs.
  • akdj - Tuesday, October 8, 2013 - link

    Touché. I'll give ya that one. While I do love my MBA for travel, the screens suck! Point was not to compare displays----rather iGPU technology movement
  • vcfan - Wednesday, September 18, 2013 - link

    I doubt the A7X is even close to 300GFLOPS
  • tipoo - Wednesday, September 18, 2013 - link

    78 times 2. It'll probably be close to 160 Gflops, if historical A*X series performance doubling is to be followed.
  • DeciusStrabo - Wednesday, September 18, 2013 - link

    Admittedly the original 11" MBA was a dog in terms of performance when it was released. Still 1/3-1/2 (depending on the benchmark) of the speed of my i3-3220 Home Server isn't exactly bad for a phone.
  • jeffkibuule - Wednesday, September 18, 2013 - link

    Didn't the original 11" MBA have overheating problems? That thing was a toaster.
  • coolhardware - Tuesday, September 17, 2013 - link

    Very nice review as always Anand :-)

    I especially enjoyed checking out the display closeups and charts. As you mention, Apple's display size and pixel density are both falling behind flagship phones from other manufacturers, this list http://pixensity.com/list/phone/ puts it well outside of the top 10.

    However, Apple displays are generally pretty nice to look at. I cannot help but wonder if Apple is going to get any major display breakthroughs in future generations, or if other manufacturers (Samsung, LG, or other) will be able to surpass it... anyhoo, thanks for the nice review!

    PS if anyone has subjective opinions after viewing the 5s' display versus other flagships, I would appreciate hearing about it!
  • Impulses - Tuesday, September 17, 2013 - link

    It's not like Apple's designing their display in Cupertino... I'm sure they have a large degree of control in order to get the specs they need and the calibration etc, but if there's any sorta revelation in display tech it'd come from the labs of the people that actually make them (Samsung, LG, Sharp, etc).
  • Impulses - Tuesday, September 17, 2013 - link

    Oh and my subjective opinion on current flagship displays is that I'd still take an IPS/super LCD/whatever over the typical over saturated AMOLED, the Moto X made a strong case for using AMOLED for it's active notifications but ehh... I like LG's tap to wake gimmick on their recent models, and after owning two 4.3" devices and a 4.6-4.7" (all with capacitive buttons) I'm actually yearning for something a bit more compact. I think the Moto X is a near perfect fit, although it does sacrifice some screen space for the buttons... I thought on screen buttons were pointless at first because none of the early devices that used them had less bezek space nor where they smaller, but we're finally seeing that become a reality with the X and the G2 so I think I'm on board now. Die bezels die! (along with menu etc, HTC dumping the multi task button bothered me tho, one of their few design missteps IMO)
  • coolhardware - Tuesday, September 17, 2013 - link

    Thank you Impulses for the nice analysis.

    I too really like the Moto X. It seems like it hits the sweet spot in size/capability plus it is actually available on my carrier (US Cellular). I wish that all carriers got the Moto X customization options though because I find that to be a pretty cool feature:-)

    I will eventually be replacing my Galaxy Note 2 with giant extended battery:
    http://goo.gl/TxUnez
    with something and right now it is a toss up between the upcoming Galaxy Note 3 and the Moto X. I really dislike how sluggish my Note 2 can be and I mainly blame that on Samsung's skin on top of Android :-( That is a big plus for the Moto X since I hear it is pretty clean in that respect.

    My new choice may be Moto X + Nexus 7 FHD rather than Note 3.

    Any other thoughts/opinions on the topic?

Log in

Don't have an account? Sign up now