Today in London as part of ARM's TechDay 2015 event we had the pleasure to get a better insight into ARM's new Cortex-A72 CPU. ARM had announced the Cortex-A72 in the beginning of February - leaving a lot of questions to be asked and sense of mystery in the air. The Cortex-A72 is a direct successor to the Cortex-A57 - taking the predecessor as a baseline in order to iterate and improve it.

On the naming side of the equation, moving from 'A57' to 'A72' rather than 'A59' or similar, ARM explains that it is purely a marketing decision as they wanted to give better differentiation between its higher-performance cores from the mid-tier and low-power cores. There seemed to be some confusion between the more power efficienct A53 and the more powerful A57, whereby users would assume they are similar, and thus moving its new big core into the A7x series.

We saw some absolute targeted performance numbers back during the February release, which promised some very interesting numbers that could be achieved over the A57. The problem was that it was not clear how much from performance and power efficiency came from the architectural changes and how much came from the the process on which these targeted performance data points are estimated from. It's clear that on the high-end ARM is promoting the A72 on the new FinFET processes from Samsung/GlobalFoundries and TSMC, which are referred to as 14nm and 16nm in the slides. Generally, due to the design and the node, the A72 will be able to achieve higher clocks than the A57, and we seem to be aiming around 2.5GHz on the 14/16nm nodes when high-end smartphones are concerned. Higher clocks may be present in server applications, where the A72 is also aimed at.

Probably the most interesting slide next to the actual performance metrics of the A72 is the apples-to-apples comparison of the A57 to the A72 on the same process node. When on the 28nm node, we see the A72 having a respectable 20% power reduction when compared to the A57. As a reminder - we're talking about absolute power at the same clock speed, which does not consider performance and thus not a representation of efficiency.

Notably, ARM is aiming for the A72 to be capable of extensive sustained performance at its target frequency. This is something that smaller form factor A57 designs (e.g. phones) have struggled with due to just how powerful A57 is, which has lead to more bursty designs that can only run A57 at its top speeds for short periods of time. We are presented with figures such as sustained 750mW operation per core on 16FF+ at clocks of ~2.5GHz.

While the power numbers are interesting we also have to put them into context of the achieved work. ARM has made several optimizations to the architecture to improve performance when compared to the A57. We'll get into more detail in just a bit - but what we are looking at is a general 16-30% increase on IPC depending on the kind of workload. Together with the power reduction, we now see how ARM is able to advertise such large efficiency gains for the same fixed workload.

A72 Architecture - The Upgrades Over A57

ARM seems to have managed to achieve an improvement in all three areas of the PPA metric; Performance, Power and Area - the trifecta of semiconductor design goals. This was achieved by doing a re-optimization of (almost) every logical block from the A57. There has been some considerable redesign in the CPU's architecture, some of which include a new branch-predictor and improvements in the decoder pipeline to allows for better throughoutput. 

On the level of the instruction fetch block we see a brand new branch-predictor that follows a new sophisticated algorithm that improves performance and reduces power through reduced misprediction and speculation, which has been cut down by 50% for mispredictions and 25% for speculation when compared to the A57. Superfluous branch-predictor accesses have also been suppressed - in workloads where the predictor is not able to do its job efficienctly it is then bypassed completely. There also has been general power optimization in the RAM-organization by coupling the different IP blocks better together, something ARM looks to provide with their own physical IP.

Moving down the pipeline, A72's decoder/rename capabilities have seen their own set of improvements.The decoder itself is still a 3-wide decoder, but ARM has gone through it to try to improve both performance and power consumption in other ways. To improve performance, the effective decode bandwidth has been increased, and the decoder has received some AArch64 instruction-fusion enhancements. Meanwhile power consumption has been tempered at multiple levels, including optimizing decoding directly, and in other power optimizations to the buffers and flow-control hardware that work around the decoder.

However it's on the dispatch/retire stage that the architecture sees the biggest improvements to performance. Going hand-in-hand with the decoder's ability to fuse instructions, ARM's dispatch unit can then break those ops back down into more granular micro-ops for feeding into the execution units, transforming it from a 3-wide to an effective 5-wide machine at the dispatch stage. The net result of this increases decoder throughput (by reducing the number of individual instructions decoded) while also increasing the total number of micro-ops created by the dispatcher and eventually executed per cycle. ARM is quoting an average of 1.08 micro-ops per instruction in code, which will aid the cases where in A57 the 3-wide dispatch unit was eventually dispatch limited. Again on the dispatch-level, ARM has done more extensive work on their register file by reducing the number of read-ports by introducting port-sharing and further reducing superfluous access.

ARM CPU Core Comparison
  Cortex-A15 Cortex-A57 Cortex-A72
ARM ISA ARMv7 (32-bit) ARMv8 (32/64-bit)
Decoder Width 3 ops
Maximum Pipeline Length 19 stages 16 stages
Integer Pipeline Length 14 stages
Branch Mispredict Penalty 15 cycles
Integer Add 2
Integer Mul 1
Load/Store Units 1 + 1 (Dedicated L/S)
Branch Units 1
FP/NEON ALUs 2x64-bit 2x128-bit
L1 Cache 32KB I$ + 32KB D$ 48KB I$ + 32KB D$
L2 Cache 512KB - 4MB 512KB - 2MB 512KB - 4MB
 

On the side of the execution units we see introduction of new, next-generation FP/Advanced SIMD units. The new units allow for much lower instruction latency as the FP pipeline length is reduced from 9 to 6.  FMUL is reduced from 5 cycles down to 3, FADD goes from 4 to 3, FMAC from 9 to 6, and the CVT units go from 4 to 2 units. The reduction of the FP pipeline length brings down the maximum pileline length of the architecture down from 19 to 16. 

The integer units also see an improvement, as the Radix-16 divider has seen its bandwidth doubled, while the CRC unit now becomes a pipelined block with just 1-cycle latency, a 3x increase in bandwidth over the A57. Again, we see a repeating pattern here as ARM claims it tried to squeeze the most power efficiency from all the units by improving the physical implementation.

Another large performance improvement over the A57 is found on the Load/Store unit. Here, ARM claims that bandwidth to L1/L2 has been improved by up to 30%. This was achieved by introducting a sophisticated L1/L2 data prefetcher which, again, is at the same time more efficient as improvements in the L1-hit pipeline, fowarding network, and way-predictor reduce the needed power. 

We've been generally impressed with what the A72 brings to the table. It's clear that new architecture is an evolutional upgrade ot the A57, and the improvements in performance, power, and area, when looked at from an aggregate view, bring substantial differences and upgrades when compared to the A57. With the A57 having come to market in Q3 of last year and it now shipping in high-volume SoCs such as the Snapdragon 810 and Exynos 7420, we are looking at the possibility of seeing its successor come to market in shipping devices in less than a year's time. The obvious partners that might ramp prodution the soonest are MediaTek and Qualcomm, at least if they are able to hit their target schedules. There should presumably still be un-announced parts from other ARM partners as well. It's clear that ARM has increased the cadence of releasing refreshes of its IP portfolio and the quick succession of the A72 seems to be part of that.

The A72 looks to be a logical update to the A57 addressing some weakpoints such as peak power and power efficiency combined with an ~10% area reduction. We already saw Mediatek showing off an A72 package at MWC, so it will be interesting to see how the IP actually performs in silicon and what ARM's partners will be able to do with the core and the time to market.

Comments Locked

92 Comments

View All Comments

  • Novacius - Thursday, April 23, 2015 - link

    Thank you. I didn't knew that.
  • Frenetic Pony - Thursday, April 23, 2015 - link

    After the utterly drivel performance of the a57 I'm not even interested. Looking forward to details of Qualcomm's 820 and AMD's Zen Core, as they might actually have interesting performance gains/be in devices I'd actually end up buying.
  • Novacius - Thursday, April 23, 2015 - link

    The A57 itself performs rather good. Just have a look at the Exynos 7420.
  • Frenetic Pony - Thursday, April 23, 2015 - link

    That's built on Samsung's new 14nm node, and that's where all of the performance gains come from. The chip itself, on 28nm, underperforms Qualcomm's Krait cores in every way.
  • lopri - Thursday, April 23, 2015 - link

    ARM's big cores (A15, A57, A72) have higher IPC than Krait cores. The 7420 has higher frequency and better memory, as well as whatever optimization Samsung did, but at the end of the day it is still an A57.
  • Frenetic Pony - Thursday, April 23, 2015 - link

    Yet the performance per watt, which is what matters, of an a57 core at 20nm node is little to no better than a Krait core at 28nm despite the process improvement. So, I repeat, a57 cores are junk.
  • Frenetic Pony - Thursday, April 23, 2015 - link

    For clarification, the jump in performance over a variety of factors from 28nm which Krait is built on to 20nm Finfet or "14nm" as Samsung calls it, is quite big. And if Krait cores made the same jump I wouldn't be surprised if they beat out the a57 cores. In recent times ARM's stock cores have had a history of being handily beaten by major ARM licensees, and the a53 and a57 cores don't seem any different. Nor does the a72 core, as the claims vs actual performance of the a57 were so far apart that the even less claims of a72 improvement are still easy to dismiss.

    Qualcomm on the other hand had the entire top end, except for Apple, for the past few years with its Krait cores. And there's little reason to suspect, so far, that their Krait successor, late as it is, will be any different. Unless of course AMD manages to pull a company saving CPU out of their hat, but the designer of Zen designed their last big CPU hit, the one that made them beat Intel for a while. So, perhaps, he can do so again.
  • lilmoe - Friday, April 24, 2015 - link

    You need a lot of experience with ARM's big.LITTLE reference architecture to minimize the shortcomings. Samsung has a lead in that regard over Qualcomm, so you also need to put that into perspective. Mediatek and HiSilicon aren't even touching the A57 in their big.LITTLE configuration.

    Samsung has somewhat solved/minimized these in roundabout ways (Exynos 5433/7420). The A72 and CCI500 might be addressing these very same big.LITTLE issues when it comes to switching, efficiency and sustained performance, so I'm guessing we won't be seeing *huge* improvements in overall platform performance in _Samsung's_ case, but that's definitely not the case for Qualcomm and others.

    The only realistic comparison would probably be if Samsung releases A72 on their 14nm process and compare it to the 7420, this way Samsung's own optimizations would be factored in. The problem is that rumor has it that Samsung might be releasing their own custom cores starting next year and the Note 5 will probably be still rocking A57's...
  • Impulses - Thursday, April 23, 2015 - link

    A72 cores on the next Nexus at year's end?
  • hammer256 - Thursday, April 23, 2015 - link

    So, this might sound cynical, but doesn't these gains in the A72 over the A57 suggest that the A57 wasn't really well designed to begin with? After all, it's not easy to get higher IPC, less power, and less area(?) on the same node if the previous design was well optimized to begin with.
    But, I'm going to try not be cynical.

Log in

Don't have an account? Sign up now