2019 was a great year for Arm. On the mobile side of things one could say it was business as usual, as the company continued to see successes with its Cortex cores, particularly the new Cortex-A77 which we’ve now seen employed in flagship chipsets such as the Snapdragon 865. The bigger news for the company over the past year however hasn’t been in the mobile space, but rather in the server space, where one can today rent Neoverse-N1 CPUs such as Amazon’s impressive Graviton2 chip, with more vendors such as Ampere expected to release their server products soon.

While the Arm server space is truly taking off as we speak, aiming to compete against AMD and Intel, Arm hasn't reached the pinnacle of the mobile market – at least, not yet. Arm’s mobile Cortex cores have lived in the shadow of Apple’s custom CPU microarchitectures over the past several years, as Apple has seemingly always managed to beat Cortex designs by significant amounts. While there’s certainly technical reasons to the differences – it was also a lot due to business rationale on Arm’s side.

Today for Arm’s 2020 TechDay announcements, the company is not just releasing a single new CPU microarchitecture, but two. The long-expected Cortex-A78 is indeed finally making an appearance, but Arm is also introducing its new Cortex-X1 CPU as the company’s new flagship performance design. The move is not only surprising, but marks an extremely important divergence in Arm’s business model and design methodology, finally addressing some of the company’s years-long product line compromises.

The New Cortex-A78: Doubling Down on Efficiency

The new Cortex-A78 isn’t exactly a big surprise – Arm had first publicly divulged the Hercules codename over two years ago when they had presented the company’s performance roadmap through 2020. Two years later, and here we are, with the Cortex-A78 representing the third iteration of Arm’s new Austin-family CPU microarchitecture, which had started from scratch with the Cortex-A76.

The new Cortex-A78 pretty much continues Arm’s traditional design philosophy, that being that it’s built with a stringent focus on a balance between performance, power, and area (PPA). PPA is the name of the game for the wider industry, and here Arm is pretty much the leading player on the scene, having been able to provide extremely competitive performance at with low power consumption and small die areas. These design targets are the bread & butter of Arm as the company has an incredible range of customers who aim for very different product use-cases – some favoring performance while some other have cost as their top priority.

All in all (we’ll get into the details later), the Cortex-A78 promises a 20% improvement in sustained performance under an identical power envelope. This figure is meant to be a product performance projection, combining the microarchitecture’s improvements as well as the upcoming 5nm node advancements. The IP should represent a pretty straightforward successor to the already big jump that were the A76 and A77.

The New Cortex-X1: Breaking the Design Constraint Chains

Arm’s existing business model was aimed at trying to create a CPU IP that covers the widest range of customer needs. This creates the problem that you cannot hyper-focus on any one area of the PPA triangle without making compromises in the other two. I mentioned that Arm’s CPU cores have for years lived in the shadow of Apple’s CPU cores, and whilst for sure, the Apple's cores were technical superior, one very large contributing factor in Arm's disadvantage was that the business side of Arm just couldn’t justify building a bigger microarchitecture.

As the company is gaining more customers, and is ramping up R&D resources for designing higher performance cores (with the server space being a big driver), it seems that Arm has finally managed to get to a cross-over point in their design abilities. The company is now able to build and deliver more than a single microarchitecture per year. In a sense, we sort of saw the start of this last year with the introduction of the Neoverse-N1 CPU, already having some more notable microarchitectural changes over its Cortex-A76 mobile sibling.

Taking a quick look at the new Cortex-X1, we find the X1 higher up in Arm’s Greek pantheon family tree of CPU microarchitectures. Codenamed Hera, the design at least is named similarly to its Hercules sibling, denominating their close design relationship. The X1 is much alike the A78 in its fundamental design – in fact both CPUs were created by the same Austin CPU design team in tandem, but with the big difference that the X1 breaks the chains on its power and area constraints, focusing to get the very best performance with very little regard to the other two metrics of the PPA triangle.

The Cortex-X1 was designed within the frame of a new program at Arm, which the company calls the “Cortex-X Custom Program”. The program is an evolution of what the company had previously already done with the “Built on Arm Cortex Technology” program released a few years ago. As a reminder, that license allowed customers to collaborate early in the design phase of a new microarchitecture, and request customizations to the configurations, such as a larger re-order buffer (ROB), differently tuned prefetchers, or interface customizations for better integrations into the SoC designs. Qualcomm was the predominant benefactor of this license, fully taking advantage of the core re-branding options.

The new Cortex-X program is an evolution of the BoACT license, this time around making much more significant microarchitectural changes to the “base” design that is listed on Arm’s product roadmap. Here, Arm proclaims that it allows customers to customize and differentiate their products more; but the real gist of it is that the company now has the resources to finally do what some of its lead customers have been requesting for years.

One thing to note, is that while Arm names the program the “Cortex-X Custom Program”, it’s not to be confused with actual custom microarchitectures by vendors with an architectural license. The custom refers to Arm’s customization of their roadmap CPU cores – the design is still very much built by Arm themselves and they deliver the IP. For now, the X1 IP will also be identical between all licensees, but the company doesn’t rule out vendor-specific changes the future iterations – if there’s interest.

This time around Arm also maintains the marketing and branding over the core, meaning we’ll not be seeing the CPU under different names. All in all, the whole marketing disclosure around the design program is maybe a bit confusing – the simple matter of fact is that the X1 is simply another separate CPU IP offering by Arm, aimed at its leading partners, who are likely willing to pay more for more performance.

At the end of the day, what we're getting are two different microarchitectures – both designed by the same team, and both sharing the same fundamental design blocks – but with the A78 focusing on maximizing the PPA metric and having a big focus on efficiency, while the new Cortex-X1 is able to maximize performance, even if that means compromising on higher power usage or a larger die area.

It’s an incredible design philosophy change for Arm, as the company is no longer handicapped in the ultra-high-tier performance ring with the big players such as Apple, AMD, or Intel – all whilst still retaining their bread & butter design advantages for the more cost-oriented vendors out there who deliver hundreds of millions of devices.

Let’s start by dissecting the microarchitecture changes of the new CPUs, starting off with the Cortex-A78…

The Cortex-A78 Micro-architecture: PPA Focused
POST A COMMENT

187 Comments

View All Comments

  • Andrei Frumusanu - Wednesday, June 3, 2020 - link

    > The choice to switch to LLVM was stupid at the time, but even more so today since GCC has since moved further ahead of LLVM...

    GCC's problem is its license. Apple nor Google would be able to integrate it into the IDE like Xcode/Android Studio. In the grand scheme of things, going LLVM is a much better choice, even if it's slower than GCC.
    Reply
  • ksec - Tuesday, May 26, 2020 - link

    The 40-45% figure assumes X-1 could run at 3Ghz within its TDP budget.

    And even with that in mind the figures Anandtech put up shows it is still behind A13.

    Not bad for the rest of the ARM ecosystem. But still not quite there yet.
    Reply
  • MarcGP - Tuesday, May 26, 2020 - link

    Behind the A13 ?, you missed the estimation chart where it shows the X1 reaching the A13 performance (a bit lower in integer performance and a bit higher in floating poing performance) at a much lower power consumption. Reply
  • ksec - Wednesday, May 27, 2020 - link

    Behind in IPC. The chart put the X1 with an 5nm node with 15% clock speed increase against a 7nm Node A13 with non sustainable 2.63 Ghz Clock.

    Also worth noting this is 7nm+ not 7nm EUV from TSMC. So if you put the node aside those number would likely still put it under A13.
    Reply
  • dotjaz - Tuesday, May 26, 2020 - link

    You understand INCORRECTLY. 30% is for the same frequency and 20% is the same power. you DID read it wrong. Reply
  • dotjaz - Tuesday, May 26, 2020 - link

    With the same baseline, A77@2.6GHz, then A78@3GHz is +20%, X1@3GHz is +50% Reply
  • ZolaIII - Wednesday, May 27, 2020 - link

    Nope you are wrong. First off all given constant power delta for something which goes into phone the A78 will be a rather significant improvement over A77 with same performance at half the power budget. A77 already had a lead over Apple big core's regarding the performance/W metric & and this means more than brute force approach. Yes Apple big core's are supperio but on something that has power budget of a laptop. On the other hand X1 is a direct take on those apple core's & it should be up to 2x faster than A78 in tasks which are optimised and utilities FP SIMDs basically SMP tasks. This is more relevant to server tasks and not so much for mobile space, still I would like to see more advanced SIMD blocks and their inclusion on smaller core's with SMT as SIMDs are hard to feed optimally and front end expansion there for is a must but it can be done in a more elegant manner like for instance MIPS did with VMT. ARM desperately needs power efficient basic OoO core a successor of A73 if you like with DynamiQ integration as an A55 replacement. Their is a A65AE but we didn't seen any implementation of it in any space so far. Reply
  • Santoval - Friday, May 29, 2020 - link

    It is not even an apples for apples comparison, since A78 has +20% *sustained* performance over A77, while X1 has +30% *peak* performance. Therefore the sustained performance lead of X1 over A77 might be in the +25% ballpark. Is a mere extra 5 - 10% performance over A78 really worth a 30% larger die area and quite higher TDP? Unless Arm can increase the performance lead of X1 over A78 at least another 20% I don't see the former being an attractive (or even a sane) licence and purchasing option. Reply
  • ChrisGX - Monday, July 6, 2020 - link

    The X1 exhibits 22% performance advantage over the A78 when process and frequency are controlled factors. So, yes, X1 performance is 1.22xA78. The performance improvement of the A78 over the A77 however includes a process node and frequency change, 20% all up. So, the performance of the X1 is: (A77 * 1.2) * 1.22 or 1.46xA77. Reply
  • ChrisGX - Monday, July 6, 2020 - link

    Please note Andrei seems to have made assumptions something like this in his calculations with A77 SPECspeed/performance at 2.6GHz being something in the order of 32 (which seems reasonable). Reply

Log in

Don't have an account? Sign up now