Dominating Mobile Performance

Before we dig deeper into the x86 vs Apple Silicon debate, it would be useful to look into more detail how the A14 Firestorm cores have improved upon the A13 Lightning cores, as well as detail the power and power efficiency improvements of the new chip’s 5nm process node.

The process node is actually quite the wildcard in the comparisons here as the A14 is the first 5nm chipset on the market, closely followed by Huawei’s Kirin 9000 in the Mate 40 series. We happen to have both devices and chips in house for testing, and contrasting the Kirin 9000 (Cortex-A77 3.13GHz on N5) vs the Snapdragon 865+ (Cortex-A77 3.09GHz on N7P) we can somewhat deduct how much of an impact the process node has in terms of power and efficiency, translating those improvements to the A13 vs A14 comparison.

Starting off with SPECint2006, we don’t see anything very unusual about the A14 scores, save the great improvement in 456.hmmer. Actually, this wasn’t due to a microarchitectural jump, but rather due to new optimisations on the part of the new LLVM version in Xcode 12. It seems here that the compiler has employed a similar loop optimisation as found on GCC8 onwards. The A13 score actually had improved from 47.79 to 64.87, but I hadn’t run new numbers on the whole suite yet.

For the rest of the workloads, the A14 generally looks like a relatively linear progression from the A13 in terms of progression, accounting for the clock frequency increase from 2.66GHz to 3GHz. The overall IPC gains for the suite look to be around 5% which is a bit less than Apple’s prior generations, though with a larger than usual clock speed increase.

Power consumption for the new chip is actually in line, and sometimes even better than the A13, which means that workload energy efficiency this generation has seen a noticeable improvement even at the peak performance point.

Performance against the contemporary Android and Cortex-core powered SoCs looks to be quite lopsided in favour of Apple. The one thing that stands out the most are the memory-intensive, sparse memory characterised workloads such as 429.mcf and 471.omnetpp where the Apple design features well over twice the performance, even though all the chip is running similar mobile-grade LPDDR4X/LPDDR5 memory. In our microarchitectural investigations we’ve seen signs of “memory magic” on Apple’s designs, where we might believe they’re using some sort of pointer-chase prefetching mechanism.

In SPECfp, the increases of the A14 over the A13 are a little higher than the linear clock frequency increase, as we’re measuring an overall 10-11% IPC uplift here. This isn’t too surprising given the additional fourth FP/SIMD pipeline of the design, whereas the integer side of the core has remained relatively unchanged compared to the A13.

In the overall mobile comparison, we can see that the new A14 has made robust progress in terms of increasing performance over the A13. Compared to the competition, Apple is well ahead of the pack – we’ll have to wait for next year’s Cortex-X1 devices to see the gap narrow again.

What’s also very important to note here is that Apple has achieved this all whilst remaining flat, or even lowering the power consumption of the new chip, notably reducing energy consumption for the same workloads.

Looking at the Kirin 9000 vs the Snapdragon 865+, we’re seeing a 10% reduction in power at relatively similar performance. Both chips use the same CPU IP, only differing in their process node and implementations. It seems Apple’s A14 here has been able to achieve better figures than just the process node improvement, which is expected given that it’s a new microarchitecture design as well.

One further note is the data of the A14’s small efficiency cores. This generation we saw a large microarchitectural boost on the part of these new cores which are now seeing 35% better performance versus last year’s A13 efficiency cores – all while further reducing energy consumption. I don’t know how the small cores will come into play on Apple’s “Apple Silicon” Mac designs, but they’re certainly still very performant and extremely efficient compared to other current contemporary Arm designs.

Lastly, there’s the x86 vs Apple performance comparison. Usually for iPhone reviews I comment on this in this section of the article, but given today’s context and the goals Apple has made for Apple Silicon, let’s investigate that into a whole dedicated section…

Apple's Humongous CPU Microarchitecture From Mobile to Mac: What to Expect?
Comments Locked

644 Comments

View All Comments

  • mdriftmeyer - Thursday, November 12, 2020 - link

    This is an utterly ignorant comment.
  • vais - Thursday, November 12, 2020 - link

    Please preorder a macbook air and run any of this years AAA games on highest settings. Take a screenshot of the FPS and post it. Those losers will cry!

    Or maybe you will be the one crying, who knows.
  • corinthos - Thursday, November 12, 2020 - link

    won't need to.. i can get a ps5 or xbox series x for games.. for video editing, i'll use the measly macbook air m1 and blow away the pcmr "beasts"
  • vais - Friday, November 13, 2020 - link

    Oh yes, I bet Macbook air M1's will soon replace the crappy hardware in render farms too.
  • MrCrispy - Thursday, November 12, 2020 - link

    There is no doubt that Apple Silicon/M1 is a great technical achievement.

    There is also no doubt about Apple's consistent history of lies, misleading statements, consistently refusing to provide technical data or meaningful comparisons and relying on RDF/hype.

    e.g. 'x86 via emulation on AS performs as fast as native x86' - complete nonsense, since they compared a 2yr old cpu, have not bothered to test any edge cases or any guarantee they can offer full backward compatibility.

    Inb fact backcompat is almost 100% NOT guaranteed, as Apple in general scoffs at the concept and has never bothered to engineer it unlike Microsoft, and companies with much more experience e.g. Microsoft/IBM have failed to provide it when they tried.

    Will an M1 MBP be faster than the latest Ryzen/Intel desktop class cpu in any general purpose computing task, in all perf bands and not just in burst mode, whilst having 2x battery life, AND provide perfect emulation for any x86 app including 30-40 years of legacy code - highly doubtful.

    And even if it does it comes at a massive price premium, completely locked hardware and software, no upgrade or servicing or any reuse/recycling at all, extremely bad for environment.

    Apple is the very definition of a closed, anti-consumer, for profit company. Do I want the massive plethora of x86 pc's at every possible price range to disappear in favor of $$$$$$ Apple products that exclude 99% of thr world population - hell no !!
  • andynormancx - Thursday, November 12, 2020 - link

    Apple aren't claiming 100% backwards compatibility with all x86 code, they don't need to support "30-40 years of legacy code" and they aren't saying they are going to.

    For a start they are only support 64 bit x86 code, they don't need to support 32 bit code as they already depreciated support for that in the last version of MacOS (no doubt partly to support the x86 - ARM transition).

    They have also said that some instructions won't be supported, I think it was some of the vector based ones.

    It of course isn't Apple's first time to do this either. They had the very successfully PowerPC to Intel emulation when they moved to Intel. People including me ran lots of PowerPC apps on Intel for several years, it worked very well.
  • andynormancx - Thursday, November 12, 2020 - link

    I should say that emulation isn't really the right word to be using. Rosetta 2 isn't really attempting to model the inner workings of a x86 chip.

    It is translating the x86 code to equivalent ARM code when the app is first run. This includes wiring it up to the equivalent native ARM versions of any system frameworks the app uses. So apps that spend a lot of time in native non-translated ARM code for a lot of their run time.

    For things like games that use the Metal GPU framework extensively, there is every chance that they _could_ end up running faster on the new ARM machines with their translated code than they did in the outgoing x86 MacBooks.
  • andynormancx - Thursday, November 12, 2020 - link

    Microsoft have posted that x86 Office 2019 works on the ARM translation and "There are no feature differences". And for performance they say "The first launch of each Office app will take longer as the operating system has to generate optimized code for the Apple Silicon processor. Users will notice that the apps 'bounce' in the dock for approximately 20 seconds while this process completes. Subsequent app launches will be fast."

    https://support.microsoft.com/en-us/office/microso...
  • MrCrispy - Thursday, November 12, 2020 - link

    I understand Rosetta 2 won't support virtualization or AVX, thats fine. The question is will an x86 app run identically on an Intel and AS MBP? I don't know how much demand there is going to be for this as Apple is pretty strict about forcing devs to upgrade to latest, and app developers will be quick to claim 'natively runs on AS' badges which I'm sure will forthcoming.

    The question of speed still remains. When does embargo lift on M1 MBP reviews?

    Also M1 will not be able run a VM. MBPs are very popular with devs and running VMs is a big part of that.
  • andynormancx - Thursday, November 12, 2020 - link

    There will be plenty of demand for it. There will be plenty of apps that with take months or years to get updated fully and plenty that never get updated (though admittedly quite a few of those probably went away with the 32 bit depreciation).

    The embargo will typically lift the day before people starting receiving the first orders. So probably on Monday.

    Not being able to run x86 in a VM will certainly be a disadvantage for some people. I would have been one of those people until four years ago, I spent a lot of time in VirtualBox running Visual Studio on my Mac. An ARM laptop certainly wouldn't have been an attractive option for me then.

    There will I'm sure be truly emulated options, to run Windows/Linux in x86 on Apple Silicon, but then of course that will have a whole different level of performance overhead. If I need to run x86 Windows on my ARM Mac, when I have one, I expect I'll opt for a VM in the cloud instead.

    Also, I'm sure if performance under Rosetta 2 was bad then there would have been mutterings from the developers who've had the A12X based machines, NDA or no NDA...

Log in

Don't have an account? Sign up now