ARM's Cortex A57 and Cortex A53: The First 64-bit ARMv8 CPU Coresby Anand Lal Shimpi on October 30, 2012 11:58 AM EST
- Posted in
- IT Computing
- Cloud Computing
Yesterday AMD revealed that in 2014 it would begin production of its first ARMv8 based 64-bit Opteron CPUs. At the time we didn't know what core AMD would use, however today ARM helped fill in that blank for us with two new 64-bit core announcements: the ARM Cortex-A57 and Cortex-A53.
You may have heard of ARM's Cortex-A57 under the codename Atlas, while A53 was referred to internally as Apollo. The two are 64-bit successors to the Cortex A15 and A7, respectively. Similar to their 32-bit counterparts, the A57 and A53 can be used independently or in a big.LITTLE configuration. As a recap, big.LITTLE uses a combination of big (read: power hungry, high performance) and little (read: low power, lower performance) ARM cores on a single SoC.
By ensuring that both the big and little cores support the same ISA, the OS can dynamically swap the cores in and out of the scheduling pool depending on the workload. For example, when playing a game or browsing the web on a smartphone, a pair of A57s could be active, delivering great performance at a high power penalty. On the other hand, while just navigating through your phone's UI or checking email a pair of A53s could deliver adequate performance while saving a lot of power. A hypothetical SoC with two Cortex A57s and two Cortex A53s would still only appear to the OS as a dual-core system, but it would alternate between performance levels depending on workload.
Architecturally, the Cortex A57 is much like a tweaked Cortex A15 with 64-bit support. The CPU is still a 3-wide/3-issue machine with a 15+ stage pipeline. ARM has increased the width of NEON execution units in the Cortex A57 (128-bits wide now?) as well as enabled support for IEEE-754 DP FP. There have been some other minor pipeline enhancements as well. The end result is up to a 20 - 30% increase in performance over the Cortex A15 while running 32-bit code. Running 64-bit code you'll see an additional performance advantage as the 64-bit register file is far simplified compared to the 32-bit RF.
The Cortex A57 will support configurations of up to (and beyond) 16 cores for use in server environments. Based on ARM's presentation it looks like groups of four A57 cores will share a single L2 cache.
ARM's Cortex A53
Similarly, the Cortex A53 is a tweaked version of the Cortex A7 with 64-bit support. ARM didn't provide as many details here other than to confirm that we're still looking at a simple, in-order architecture with an 8 stage pipeline. The A53 can be used in server environments as well since it's ISA compatible with the A57.
ARM claims that on the same process node (32nm) the Cortex A53 is able to deliver the same performance as a Cortex A9 but at roughly 60% of the die area. The performance claims apply to both integer and floating point workloads. ARM tells me that it simply reduced a lot of the buffering and data structure size, while more efficiently improving performance. From looking at Apple's Swift it's very obvious that a lot can be done simply by improving the memory interface of ARM's Cortex A9. It's possible that ARM addressed that shortcoming while balancing out the gains by removing other performance enhancing elements of the core.
Both CPU cores are able to run 32-bit and 64-bit ARM code, as well as a mix of both so long as the OS is 64-bit.
Completed Cortex A57 and A53 core designs will be delivered to partners (including AMD and Samsung) by the middle of next year. Silicon based on these cores should be ready by late 2013/early 2014, with production following 6 - 12 months after that. AMD claimed it would have an ARMv8 based Opteron in production in 2014, which seems possible (although aggressive) based on what ARM told me.
ARM expects the first designs to appear at 28nm and 20nm. There's an obvious path to 14nm as well.
It's interesting to note ARM's commitment to big.LITTLE as a strategy for pushing mobile SoC performance forward. I'm curious to see how the first A15/A7 designs work out. It's also good to see ARM not letting up on pushing its architectures forward.
Post Your CommentPlease log in or sign up to comment.
View All Comments
gruffi - Monday, January 7, 2013 - linkAnother poor troll attempt. AMD actually did with x86-64 (AMD64) what Intel did with x86-32. If someone should be shot through the head, then it's Intel. AMD did a fantastic job with AMD64. A modern 64-bit pipeline, that obsoleted some outdated extensions (for example x87), without neglecting 32-bit compatibility. More was not possible. I think the compatibility was the most important aspect because of the huge x86 software infrastructure. We've seen how Intel struggled at it with IA-64 and finally disastrously failed.
OTOH, when ARM tries to improve performance to get on x86 level, power consumption will drastically go up. x86 takes the opposite route, less performance, but also much less power consumption. We see what a fantastic job AMD did with Bobcat. Jaguar will be another important step forward. X86 learned a lot in power saving mechanisms. I think you won't see much difference in performance per watt between ARM and x86 in the future. Many people talk about the power disadvantage of x86 and "legacy penalty". The truth is, those people have no clue about it. Finally, it likely will not come down to which architecture is the better one, ARM or x86, but who offers better and more innovative solutions.
brainee - Sunday, January 13, 2013 - linkAll true, but you forgot to mention "cost". Unless Intel adresses this issue, they will be locked out of phones forever I believe. What I mean is that Haswell ultra uber mobile will be simply too expensive. Atom? Maybe once Windows Phone takes off...
Thennarasu - Monday, June 24, 2013 - linkWe are working on building a beagleboard - i checked with texas instruments and they site has some arm cortex processors for sale around INR1300 but actual cost reported by ARM is is around INR300. Anyone know a good distributor in India who sell ARM processors?