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

  • akdj - Friday, September 27, 2013 - link

    I completely agree---that said, we're really only 5 years 'in'. The original iPhone in '07, a true Android follow up in late '07/early '08---those were crap. Not really necessary to 'bench' them. We all kinda knew the performance we could expect, same for the next generation or two. In the past three years---Moore's law has swung in to high gear, these are now---literally---replacement computers (along with tablets) for the majority of the population. They're not using their home desktop anymore for email, Facebook, surfing and recipes. Even gaming---unless their @ 'work' and in front of their 'work Dell' from 2006, they're on their smartphones...for literally everything! In these past three years---and it seems Anand, Brian and crew are quite 'up front' about the lack of mobile testing applications and software----we're in it's infancy. 36 real months in with software, hardware and OS'es worth 'testing, benchmarking, and measuring' their performance. Just my opinion....and I suppose we're saying the same thing.
    That said---even Google's new Octane test was and is being used lately---GeekBench has revised their software, it's coming is my point. But just looking at those differences in the generations of iPhones makes it blatantly obvious how far we've come in 4/5 short years. In 2008 and 9---these were still phones with easier ways to text and access the internet, some cool apps and ways to take, manipulate and share pics and videos. Today----they do literally everything an actual computer does and I'd bet---in a lot of cases, these phones are as or more powerful, faster and more acessible than those ancient beige boxes from the mid 2000s a lot of folks have in their home office;)
  • Duck <(' ) - Thursday, October 3, 2013 - link

    they are posting false benchmark scores. Same phones score different in youtube vids.
    iPhone 5 browsermark 2 score is around 2300
    check here https://www.youtube.com/watch?v=iATFnXociC4
    sgs4 scores 2745 here https://www.youtube.com/watch?v=PdNE4NoFq8U
  • ddriver - Wednesday, September 18, 2013 - link

    Actually, there are quite a lot of discrepancies in this review.

    For starters, the "CPU performance" page only contains JS benchmarks and not a single native application. And iOS and Android use entirely different JS engines, so this is literally a case of comparing apples to oranges.

    Native benchmarks don't compare the new apple chip to "old 32 bit v7 chips" - it only compares the new apple chip to the old ones, and also compares the new chip in 32bit and 64 bit mode. Oddly enough, the geekbench at engadget shows tegra 4 actually being faster.

    Then, there is the inclusion of hardware implementation in charts that are supposed to show the benefits of 64bit execution mode, but in reality the encryption workloads are handled in a fundamentally different way in the two modes, in software in 32bit mode and implemented in hardware in 64bit mode. This turns the integer performance chart from a mixed bad into one falsely advertising performance gains attributed to 64bit execution and not to the hardware implementations as it should. The FP chart also shows no miracles, wider SIMD units result in almost 2x the score in few tests, nothing much in the rest.

    All in all, I'd say this is a very cleverly compiled review, cunningly deceitful to show the new apple chip in a much better light than it is in reality. No surprises, considering this is AT, it would be more unexpected to see an unbiased review.

    I guess we will have to wait a bit more until mass availability for unbiased reviews, considering all those "featured" reviews usually come with careful guidelines by the manufacturer that need to be followed to create an unrealistically good presentation of the product. That is the price you have to pay to get the new goodies first - play by the rules of a greedy and exploitative industry. Corporate "honesty" :)

    I don't say the new chip is bad, I just say it is deliberately presented unrealistically good. Krait has expanded the SIMD units to 128 bit as well, so we should see similar performance even without the move to a 64bit ecosystem. Last but not least, 64bit code bloats the memory footprint of applications because of pointers being twice as big, and while those limited memory footprint synthetic benches play well with the single gigabyte of ram on this device, I expect an actual performance demanding real world application will be bottlenecked by the ram capacity. All in all, the decision to go for 64 bit architecture is mostly a PR stunt, surely, 64bit is the future, but in the case of this product, and considering its limited ram capacity, it doesn't really make all that sense, but is something that will no doubt keep up the spirit of apple fanboys, and make up for their declining sales while they bring out the iphone 6, which will close all those deliberately left gaping holes in the 5s.
  • Slaanesh - Wednesday, September 18, 2013 - link

    Interesting comment. I'd like to know what Anand has to say about this.
  • ddriver - Wednesday, September 18, 2013 - link

    I am betting my comment will most likely vanish mysteriously. I'd be happy to see my concerns addressed though, but I admit I am putting Anand in a very inconvenient position.
  • Mondozai - Wednesday, September 18, 2013 - link

    It's all a conspiracy. In fact your comment has already disappeared, but in its place is now a hologram effect that makes it impossible to tell it from the blank space. So why put in the hologram and not just delete it? Because Anand is playing mind games with us.
    And who said I typed this comment? It could have been someone else, someone doing Anand's bidding.

    I admit I am putting his scheme of deception in a very difficult position right now.

    /s
  • ddriver - Wednesday, September 18, 2013 - link

    Few days ago I posted a comment criticizing AT moderators being idle and tolerant of the "I make $$$ sitting in front of my mac" spam, few minutes later my comment was removed while the spam remained, which led me to expect similar fate for this comment. Good thing I was wrong ;)
  • WardenOfBats - Wednesday, September 18, 2013 - link

    I'd honestly like to see your misleading comment removed as well. You seem to think that anyone cares what the 32bit performance is of the 5S when everyone knows damn well that app developers are going to be clamouring to switch to the 64bit tech (that Android doesn't even have or support) to get these power increases. Other than that, the rest of your comment is just nonsense. The whole point is that the iPhone 5S is faster and the fact that they use different JS engines is a part of that. Apple just knows how to make software optimizations and hardware that runs them faster and you can see how they just blow the competition away.
  • CyberAngel - Thursday, September 19, 2013 - link

    Misleading? Yes! In favor of Apple!
    You need to double the memory lines, too and caches and...oh boy!
    The next Apple CPU will be "corrected" and THEN we'll see...hopefully RAM is 8GB...
  • Ryan Smith - Thursday, September 19, 2013 - link

    As we often have to remind people, we don't delete comments unless they're spam. However when we do so, any child comments become orphaned and lose their place in the hierarchy, becoming posts at the end of the thread. Your comment isn't going anywhere, nor have any of your previous comments.

Log in

Don't have an account? Sign up now