In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained

In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
2019 was a great year for ARM. In the mobile sector, they continued their past successes as the company continued to see its Cortex cores perform robustly in this area, especially as we now see the new Cortex-A77 being used in flagship chipsets like the Snapdragon 865. However, the biggest news for ARM over the past year hasn’t been in the mobile space but in the server space. Today, people can use CPUs based on Arm Neoverse-N1, such as Amazon’s impressive Graviton2 chip, and more vendors are expected in the future, with Ampere set to release its server products.
While, as we said, the Arm server space is indeed taking off, aiming to compete with AMD and Intel, Arm has yet to reach the pinnacle of the mobile market—at least not yet. Over the past few years, Arm’s mobile Cortex cores have lived in the shadow of Apple’s custom CPU microarchitecture, as Apple seems to consistently produce designs that outperform Cortex. Despite the technical differences, there are also commercial considerations on Arm’s part.
At the Arm 2020 TechDay, the company not only released a new CPU microarchitecture but also the long-awaited Cortex-A78. However, Arm also introduced its new Cortex-X1 CPU as the company’s new flagship performance design. This move was not only surprising but also marked a significant difference in Arm’s business model and design methodology, ultimately addressing the trade-offs in the company’s product line for years.
The New Cortex-A78: Doubling Efficiency
The all-new Cortex-A78 is not entirely unexpected. Two years ago, Arm first publicly disclosed the Hercules codename when they presented the company’s roadmap to 2020. Two years later, the Cortex-A78 was born. It represents the third iteration of Arm’s new Austin series CPU microarchitecture, which started from scratch with the Cortex-A76.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
The all-new Cortex-A78 almost continues Arm’s traditional design philosophy, strictly manufacturing according to the balance between performance, power, and area (PPA). PPA is a broader industry standard, and Arm is a leader in this field, capable of delivering highly competitive performance at low power and small area. These design goals are critical for Arm, as the company has a large number of incredible customers targeting very different product use cases—some pursuing performance while others focus on cost.
In summary, the Cortex-A78 promises to sustain a 20% performance increase within the same power range. This figure is a prediction of product performance, combining improvements in microarchitecture with enhancements expected from the upcoming 5nm node. The IP should represent a direct successor to the already significant A76 and A77.
The New Cortex-X1: Breaking Design Constraints
Arm’s existing business model aims to attempt to create CPU IP that meets the broadest customer needs. This raises the question that you cannot overly focus on any one area of the PPA triangle without compromising the other two. I mentioned that Arm’s CPU cores have lived in the shadow of Apple’s CPU cores for years; it is certain that Apple’s cores are technically superior, but an important factor contributing to Arm’s disadvantage is that Arm’s business aspects could not justify building a larger microarchitecture.
As the company gains more customers and increases R&D resources for designing high-performance cores, it seems Arm has finally managed to reach a crossover point in design capability. The company can now construct and deliver multiple single microarchitectures each year. In a sense, we can see this starting from last year’s launch of the Neoverse-N1 CPU. At the beginning of this year, the Neoverse-N1 CPU already had some significant microarchitectural changes over its Cortex-A76 mobile counterpart.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
With Cortex-X1, we find the X1’s position within Arm’s CPU microarchitecture Greek pantheon family tree elevated. This design, codenamed Hera, is at least similar in naming to its Hercules siblings, indicating a close design relationship between them. The fundamental design of X1 is very similar to A78. In fact, both CPUs were co-created by the same Austin CPU design team, but the biggest difference is that X1 breaks its power and area constraints, focusing on achieving the best performance with little regard for the other two metrics of the PPA triangle.
Cortex-X1 was designed within the framework of a new program from Arm, which the company calls the “Cortex-X Custom Program.” This program is an enhancement of the “Build Based on Arm Cortex Technology” program that the company released a few years ago. Just to remind you, this license allows customers to collaborate early in the design phase of the new microarchitecture and requires customization of configurations, such as larger reorder buffers (ROB), differently tuned prefetchers, or custom SoC designs for better integration. Qualcomm is the primary beneficiary of this license, taking full advantage of the core’s branding options.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
The new Cortex-X program is an improvement on the BoACT license, this time focused on making more significant microarchitectural changes to the “base” designs listed in Arm’s product roadmap. Here, Arm claims it allows customers to customize and differentiate their products more. But the real takeaway is that the company now has the resources to finally complete some major work that several key customers have requested for years.
One thing to note is that while Arm has named the program the “Cortex-X Custom Program,” do not confuse it with the actual custom microarchitectures of vendors with architecture licenses. This practice refers to Arm’s customization of its roadmap CPU cores—the design still built by Arm itself and providing the IP. Currently, the X1 IP among all licensees will also be the same, but the company does not rule out vendor-specific changes in future iterations, if interested.
This time, Arm also maintained marketing and branding on the core, meaning we will not see different CPU names. In summary, the entire marketing disclosure around the design program may be a bit confusing. In fact, X1 is simply another separate CPU IP product from Arm, targeted at its major partners who may be willing to pay more for higher performance.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
Ultimately, we get two different microarchitectures. They are both designed by the same team and share the same basic design modules, but A78 aims to maximize the PPA metrics and focus on efficiency, while the new Cortex-X1 is able to maximize performance, even if it means sacrificing higher power consumption or larger die area.
For Arm, this is an incredible change in design philosophy, as the company is no longer bound by the ultra-high-performance halo of large companies like Apple, AMD, or Intel, while still retaining its advantages in bread & butter designs for more cost-oriented vendors that deliver hundreds of millions of devices.
Let’s first dissect the microarchitectural changes of the new CPUs, starting with Cortex-A78…
Cortex-A78 Microarchitecture: Focus on PPA
The new Cortex-A78 has been on Arm’s roadmap for a few years, and we have been expecting this design to represent the smallest generational leap in Arm’s new Austin series microarchitecture. As the third iteration of Arm’s Austin core design, A78 follows the 25% to 30% IPC improvements achieved on Cortex-A76 and A77.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
With the new A78 now becoming part of the pairing with the higher performance X1 CPU, we naturally see that the specific microarchitecture’s maximum focus is on improving the design’s PPA. Arm’s goal is to reasonably increase performance while balancing reduced power consumption and maintaining or decreasing core area.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
It remains an Arm v8.2 CPU, sharing ISA compatibility with the Cortex-A55 CPU to be paired in the DynamIQ cluster. We see similar scalability possibilities here, with Arm’s expected average target design having up to four cores per DSU, and L3 cache expandable up to 4MB.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
Core microarchitectural improvements can be found throughout the design. At the front end, the biggest change is the branch predictor, which can now handle up to two branches per cycle. Last year, the Cortex-A77 introduced a secondary branch execution unit at the back end, but the actual branch unit at the front end could still only resolve one branch per cycle.
Now, A78 is able to resolve two predictions per cycle simultaneously, greatly increasing throughput in this part of the core and allowing for better recovery from branch prediction errors and the pipeline bubbles generated further downstream in the core. Arm claims their microarchitecture is heavily branch prediction driven, so improvements here significantly increase the core’s generational improvements. Naturally, the branch predictor itself has also improved in accuracy, which is a constant effort for every generation.
Arm focused on different aspects of the front end to enhance power efficiency. In terms of L1 cache, we now see the company offering a 32KB implementation option that allows customers to reduce the area of the core with minimal impact on performance, but significantly improve efficiency. Other changes were made to certain structures in the branch predictor, where the company shrank some low ROI modules that had a high area and power cost but little impact on performance.
The Mop cache on the Cortex-A78 is the same as that on the A77, allowing for a maximum of 1500 decoded macro-ops. The bandwidth from the front end to the core remains the same as A77, with up to four wide instruction decoders and extracting a maximum of six instructions from the macro-ops cache to the renaming stage, bypassing the decoder.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
In the core and execution pipeline, most of the work has been done to improve the design’s area and power efficiency. Now, we see more instruction fusion cases, which not only helps improve core performance but also enhances power efficiency, as it uses fewer resources and consumes less power for the same workload.
Design changes have also occurred in the issue queues. Arm explains that these are very power-hungry features in any OOO core, and while they did not detail any specifics of the changes, designers made some good power efficiency improvements in these structures.
Register renaming structures and register files have also been optimized for efficiency, sometimes reducing their size. In particular, the register file has redesigned its density of entries it can accommodate, packing more data in the same space, allowing designers to shrink the overall size of the structures without sacrificing functionality or performance.
In terms of reorder buffers, while the capacity remains at 160 entries, the new A78 improves power efficiency and the instruction density that can be packed into the buffers, increasing the number of instructions per unit area of the structure.
Arm also fine-tuned the OOO window size for A78, actually reducing the window size compared to A77. The explanation here is that larger window sizes do not tend to provide a good ROI when expanding size, and A78’s goal is to maximize efficiency. Note that this OOO window does not only refer to the unchanged size ROB; Arm has used different buffers, queues, and structures to support OOO operations here, and it is likely we have seen capacity reductions in those blocks.
In the diagram, we can see Arm slightly altered its description of the scheduling stage, publicly revealing a scheduling bandwidth of six macro-ops (Mops) per cycle, while last year the company described A77 as scheduling 10 µops. The comparison between Apple is that the new A78 increases the scheduling bandwidth at the scheduling end to 12 µops per cycle, allowing for a wider execution core with some new features.
In integer execution, the only major increase is upgrading one ALU to a more complex pipeline that can now also handle multiplication operations, effectively doubling the integer MUL bandwidth of the core.
The remaining execution units in this generation saw little change and are basically consistent with what we have already seen in Cortex-A77. We expect to see larger changes in the execution units of Arm cores next year.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
At the back end of the core and memory subsystem, we actually found some larger changes to improve performance. The first significant change is the addition of a new load AGU to complement the existing two load/store AGUs. This will not change the number of store operations executed per cycle but will increase the load bandwidth of the core by 50%.
The bandwidth from the LD/ST queue to the L1D cache has increased from 16 bytes per cycle to 32 bytes per cycle, and the interface from the core to L2 has also doubled in its read and write bandwidth.
Arm seems to have some of the industry’s most advanced prefetchers, claiming that A78 further improves design in terms of storage area coverage, accuracy, and timeliness. Here, timeliness refers to how quickly they lock onto emerging patterns and bring data into lower-level caches as quickly as possible. You also won’t see the prefetcher starting too early or too late, such as unnecessarily prefetching data that won’t be used for a while.
Similar to the L1I cache, A78 now also offers a 32KB L1D option, allowing vendors to configure smaller core setups. The L2 TLB also reduced from 1280 pages to 1024 pages—this effectively improves the energy efficiency of the structure while still retaining enough entries to fully cover a 4MB L3 cache while keeping access latency to a minimum.
Overall, if we were to present the core in a vacuum, the microarchitectural disclosures of the Cortex-A78 might sound surprising as we see many people mentioning reduced structure sizes and overall trade-offs to maximize energy efficiency. Given that Cortex-X1 focuses on performance, this makes perfect sense.
Cortex-X1 Microarchitecture: Bigger, Lighter, Higher Performance
While Cortex-A78 seems relatively moderate in performance targets, the biggest announcement today is the more powerful Cortex-X1. As mentioned, Cortex-X1 is a stark departure from Arm’s usual “balanced” design philosophy, with Arm-designed cores supporting absolute performance, even at the expense of energy efficiency and area efficiency.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
At a high level, this design can be summarized as an overloaded A78—retaining the same functional principles but significantly increasing the structure of the core to maximize performance.
Compared to A78, its core is wider, expanding from 4 decoders to 5 decoders, increasing the renaming bandwidth to up to 8 Mops/cycle, and greatly altering some pipelines and caches, effectively doubling the NEON units and L2 and L3 caches.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
At the front end (and similarly for the rest of the core), Cortex-X1 adopts all the improvements we already covered on Cortex-A78, including the new branch units. In addition to the changes introduced by A78, X1 further expands certain aspects of this module. The L0 BTB has been upgraded from 64 entries on Cortex-A77 and A78 to 96 entries on X1, allowing for more zero-latency branches. The branch target buffer still has a two-layer structure of L0 and L2 BTB, which Arm referred to in previous disclosures as nanoBTB and mainBTB. The microBTB/L1 BTB existed in A76 but has since been discontinued.
The macro-ops cache has doubled from 1.5K entries to 3K entries, which is a significant structure in the microarchitecture disclosed herein, larger than Sunny Cove’s 2.25K entries but not as large as Zen2’s 4K entry structure.
The L1I fetch bandwidth has increased from 4 instructions to 5 instructions, a 25% increase, and the decoder bandwidth has increased accordingly; the Mop cache fetch and renaming bandwidth has increased from 6 instructions to 8 instructions, a 33% increase per cycle. In fact, once it reaches the Mop cache, the core can act as an 8-wide machine.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
In the core, Arm again discusses increasing dispatch bandwidth (the bandwidth of instructions per cycle) when comparing X1 to A78, with dispatch bandwidth increasing from 6 to 8, a 33% increase. In terms of µops, when breaking down Mops into smaller µops, the core can handle up to 16 dispatches per cycle, a 60% increase compared to A77’s capability of 10 µops/cycle.
The out-of-order window size has increased from 160 entries to 224, enhancing the core’s ability to extract ILP. This has been an aspect Arm has been reluctant to upgrade, as they mentioned that performance does not scale linearly with increased structure size, at the expense of power and area. Given that X1 does not have to cater to various vendors, they were able to make these concessions.
In execution, we do not see any changes in the integer pipeline compared to A78, but due to the doubling of the pipeline, the floating-point and NEON pipelines diverge more from past microarchitectures. In fact, quite literally, they can be doubled because the two existing pipelines of A77 and A78 were essentially copied and pasted, with both pairs of units functioning the same. This is a considerable improvement and increases execution resources.
In fact, Cortex-X1 is now a 4x128b SIMD machine, with vector execution width almost equal to that of some desktop cores (like Intel’s Sunny Cove or AMD’s Zen2). Although different from those designs, Arm’s current ISA does not allow a single vector larger than 128b, which is an issue that needs to be addressed in the next generation of cores.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
In the memory subsystem, Cortex-X1 also underwent some significant changes. Although the AGU setup is the same as that on Cortex-A78.
In terms of L1D and L2 caches, Arm created a new design with different access bandwidths. The cache interface here is not wide, but the change is in the cache design itself, which now implements double the storage capacity. They addressed the issue of potential storage area conflicts during multiple concurrent accesses to the cache, which is a strange “zig-zag” pattern we might have observed a few years ago during memory tests on the Cortex-A76 core and still exists in some variants of that μarch.
The L1I and L1D caches on X1 should be configured to 64KB. On L2, due to it being a brand new design, Arm also took the opportunity to increase the maximum cache size, now doubling it to 1MB. This is also a new implementation, distinct from the 1MB L2 cache design we first saw on Neoverse-N1, with access latency improved by 1 cycle over N1’s 11-cycle variant, achieving 10 cycles of access latency on X1 regardless of cache size.
The memory subsystem also enhances the ability to support more loads and stores, with the window here increased by 33%, even more for the core’s MLP capability. We must note that this increase involves not only the store and load buffers but also the overall system’s ability to track and service requests.
Finally, compared to A78, the size of the L2 TLB has also doubled (a 66% increase compared to A77), providing 8MB of memory on 4K pages, ideal for the envisioned 8MB L3 cache target of the X1 implementation.
The doubling of the L3 cache in the DSU does not necessarily mean it will be a slower implementation, as latency may remain the same, but depending on the partner’s implementation, it may mean several additional latency cycles. This could refer to options for using separate power management to store L3. So far, I have not heard of any vendor using this feature of the DSU, as most implementers like Qualcomm have always kept 4MB L3 fully powered on. With the 8MB DSU, some vendors may consider better power management, such as powering it partially when only a few cores are active.
Overall, the clarity here regarding the Cortex-X1 microarchitecture is that it is primarily comprised of the same basic building blocks as Cortex-A78, but the structures are increasingly larger. Especially in the front end and core, X1 makes things significantly more complex compared to A78, with its core being a broader microarchitecture. The argument regarding the low ROI of certain structures here simply does not apply to X1, and Arm chose viable and reasonable maximum configurations, even if doing so increases the size of the core and power consumption.
I think the only real design limitation the company set here is the frequency capabilities of X1. It remains a very short pipeline design with a 10-cycle branch misprediction loss and a deep frequency design of 13 stages, remaining unchanged between A78 and X1, with the latter having a larger structure and wider design that does not hinder the peak frequency of the A78 core.

At the beginning of this article, we quickly looked at some processor performance metrics, but now we have the opportunity to delve deeper into this new CPU and more precisely define the expected performance, power consumption, and area gains that the new Cortex-A78 and X1 cores should achieve.

In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
Starting with Cortex-A78, the comparison numbers here will be achieved in target systems on the TSMC N5 node in 2021. Thus, the numbers here incorporate both microarchitecture and expected process node improvements.
In terms of performance, setting the ISO power target for the core at 1W, Arm states that implementing A78 can yield a 20% performance increase, which is a benign upgrade. The 2.6GHz A77 on N7 roughly matches MediaTek’s Dimensity 1000(+), and the 1W power value also roughly matches what I measured on that SoC.
At the same time, through ISO performance comparisons, A78 can reduce power consumption and energy consumption by half compared to the 2.3GHz A77 on N7. This comparison may target various mid-range products on the market, which is a fair comparison, but Arm also showcased some better data that we will present later.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
When comparing with ISO nodes that have similar processor configurations (basically the configuration Arm expects to be most commonly implemented), we see that A78’s performance improves by about 7% over Cortex-A77 while also reducing power consumption by 4% and area by 4%.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
Arm first released an overall performance/power curve of the microarchitecture, comparing A77 with A78. We see that at higher operating frequencies, the costs are higher, and the voltage required to reach those higher frequencies (P = f * V²) also increases with the power frequency.
At the highest performance point that A77 could reach, the new A78’s power consumption will be reduced by 36%. At mid-performance levels, this power reduction will be 30%. Finally, at the same power level, A78’s performance can improve by 7%.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
Now looking at Cortex-X1, the improvements in performance enhancement are even more impressive, with peak performance improving by +30% compared to A77 at the same frequency. This comparison data is based on the maximum configuration of X1 compared to A77. It is worth noting that we have never seen a vendor offer a 3GHz A77, meaning the actual performance improvement could be even greater (I expect vendors to finally achieve the 3GHz target this time).
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
Arm also showcased improvements in Stream bandwidth and Octane performance, although I found them not very significant, but they do serve as indicators of the microarchitecture in such workloads.
Arm is relatively vague about the power and area efficiency of X1, stating that their numbers for these “custom” parts are not as publicly available as in the Cortex-A78 roadmap design, but I was able to figure out some rough metrics. In terms of area, we expect the X1 core to be about 1.5 times the size of A78.
If vendors can effectively apply Arm’s foundational solutions and launch products on the 5nm process, we should see predictions similar to the following.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
Again, these numbers are primarily predictions I derived based on various data points presented by Arm. The actual products may differ in the end, but in the past, our predictions for A76 and A77 ended up being very close to actual chip performance.
I do hope that this generation of vendors will achieve the 3GHz target for Cortex-X1, as I have heard this is one of the goals vendors aim to achieve for next year’s SoCs. I am less clear on how many vendors will base products on Cortex-A78; typically, the power consumption of Cortex-A78 will be similar to that of current A77 products (like Snapdragon 865), and vendors may leverage the last hundred MHz gain of the process to reach the 3GHz target.
The performance boost of the X1 system here will be highly competitive, being 37% faster than the current Snapdragon 865 SoC. This is a huge capability leap that will put Arm far ahead of Apple’s A13 core, although its actual competitor will be the upcoming A14.
What is truly shocking is that in terms of performance, the distance between Arm and the best desktop systems from Intel and AMD is narrowing. If these two established x86 vendors are not concerned about Arm’s annual growth rate over the past few generations, Intel and AMD should be completely alarmed if Arm truly achieves these numbers.
For many years, we have hoped for Arm to finally achieve extreme performance, and Cortex-X1 seems to be just that. It’s truly exciting.

Solution Choices and Target Customers

Naturally, Cortex-X1 is expected to be larger than Cortex-A78, but not by much. Arm does warn that for mobile designs, we do not expect to see implementations with more than two X1 cores. Essentially, Arm is embracing the industry trend of adopting a three-tier core architecture, providing customers with greater flexibility and differentiation with the launch of A78 and X1.
In-Depth: ARM Releases Cortex-A78 and Cortex-X1 Microprocessor Architecture Explained
There will still be some customers who may be unwilling to spend money or completely opt-out of the “Cortex-X program,” and they may skip X1 and only use the A78 core. The comparison Arm makes is against an equivalent A77, and the A78 core indeed improves performance while saving significant space.
Cortex-X1 implementers are likely to choose to use a mixed cluster implementation of X1, A78, and A55 cores in the DSU. Here, Arm describes the 1+3+4 configuration favored by Qualcomm, which is the logical setup we expect to see in future Snapdragon chips.

First Impressions: Arm Finally Pursues Extreme Performance

The Cortex-A78 and Cortex-X1 released today brought unexpected surprises. I had relatively low expectations for A78, as we had long thought this would be the smallest upgrade in Arm’s CPU microarchitecture within the Austin series. After all, both A76 and A77 made significant leaps in performance.
At the same time, Cortex-X1 represents a huge change for Arm. This change is not related to core technology but more to the business decisions it now opens for the company, although the two are intertwined. For years, many have wondered why the company did not design cores that could compete more closely with Apple’s products. In my view, one reason has been Arm’s focus on designing products that meet the needs of all customers with a “one-size-fits-all core” design, rather than just a few flagship SoC designs.
The Cortex-X program effectively removes Arm’s business constraints and enables the company to offer the best of both worlds. Thus, A78 continues the company’s design philosophy of maintaining a leading position in power performance. Moreover, Arm has relentlessly beaten performance expectations, improving performance by 20-25% above expectations, a pace that currently far exceeds what competitors can achieve. These latest performance metrics are approaching the best levels seen from x86 players. This is exciting for Arm and should concern competitors.
Original Link:
https://www.anandtech.com/show/15813/arm-cortex-a78-cortex-x1-cpu-ip-diverging

Leave a Comment