Heads up: From 2022, all new top-end Arm Cortex-A CPU cores for phones, slabtops will be 64-bit-only, snub 32-bit
- Reference: 1602144487
- News link: https://www.theregister.co.uk/2020/10/08/arm_32bit_support/
- Source link:
And that date is some time in 2022, when Arm is set to unveil its CPU design code-named Makalu that we'd like to guess is the Cortex-A80. Subsequent top-end Cortex-A cores will also be 64-bit only, meaning no support for running 32-bit software natively. Devices using these 64-bit-only cores are [1]expected to go on sale by 2023.
Arm veep Paul Williamson announced the change during a keynote speech at the chip designer's virtual developer conference on Wednesday. “We’re in the midst of the journey in the way that we think of computing architectures,” he said. “We’re moving away from thinking in terms of cores and CPUs to form factors and user experiences – a holistic approach that will unlock new capabilities.”
This is a fairly big deal because Arm's 32-bit and 64-bit instruction sets are rather different, and including support for 32-bit code takes up a fair amount of die space per CPU core. By dropping ARM32 from future additions to the Cortex-A-series, that area can be repurposed for accelerating processing, for instance. Its removal also alleviates design complexity, and makes simulation and verification a little easier, we imagine.
Crucially, ARM32 is a hangover from the 1990s (before that was 26-bit Arm that we don't talk about) and it's hard to optimize in hardware using modern techniques, such as speculative execution. That's because it has instructions like LDMIA sp!, {r0-r3, pc} that restores r0 to r3 and a return address from the stack – tricky to unroll efficiently in silicon and difficult to execute speculatively to get a performance gain.
Nvidia promises once again to let Arm keep its Switzerland-of-chips biz model – and even license some Nv GPU tech [2]READ MORE
Arm's engineers have been itching to lose the 32-bit baggage from their Cortex-A-series cores and streamline their blueprints. The A76 was the [3]first in the family to drop 32-bit support at the kernel level, though it continued to support ARM32 at the application level.
Peter Greenhalgh, Arm's veep of technology, told The Register at the time of the A76 launch in 2018 that killing off support for decoding and executing the clunkier instruction set entirely was "the obvious next step. We will do it at some point."
Well, that point is coming in a couple of years with the arrival of the ARM64-only Makalu. That means smartphones, tablets, and laptops powered by this and any future 64-bit-only high-end Cortex-A CPU core designs will not be able to run any legacy 32-bit games and other apps. Not that that's too much of a worry: for one thing, Google's Play Store stopped accepting 32-bit apps last year, so come 2022, those ARM32 applications should be virtually non-existent. And we're pretty much all using 64-bit apps on 64-bit OSes on our smartphones and other Arm-based gear, so the axing of ARM32 support is a final, logical step for the Arm mobile ecosystem.
Williamson said around 60 per cent of apps available today offer a 64-bit build, which seems a little too imprecise a statement. Android, Windows, Linux, and other operating systems on Arm, support ARM64 apps, kernels, and drivers. Apple has required apps to be 64-bit-only since iOS 11 on its devices, which are powered by Cupertino's homegrown Arm-compatible processors.
To be clear, Arm's changeover date just applies to future A-type Cortex core designs, not Cortex-R and Cortex-M CPUs found in specialist and embedded equipment and Internet of Things devices where a lot of firmware, tools, and program code remains 32-bit. On the server side, Arm's Neoverse E1 CPU core is already 64-bit only, at least.
Arm also teased another Cortex-A core code-named Matterhorn, due to be unveiled in 2021 and we guess will be the Cortex-A79. Matterhorn and Makalu will follow this year’s 5nm Cortex-X1/Cortex-A78. Williamson said Makalu should have a 30 per cent performance lift over the [4]X1/A78 . ®
Our pals over at The Next Platform have an in-depth exclusive [5]video interview with Jensen Huang, CEO of Nvidia , which is hoping to buy Arm for $40bn.
Get our [6]Tech Resources
[1] https://www.arm.com/company/news/2020/10/pushing-the-boundaries-of-performance-and-security-to-unleash-the-power-of-64-bit-computing
[2] https://www.theregister.com/2020/10/07/nvidia_arm_plans/
[3] https://www.theregister.com/2018/05/31/arm_cortex_a76/
[4] https://www.theregister.com/2020/05/26/arm_cortex_a78_x1/
[5] https://www.nextplatform.com/2020/10/07/one-on-one-with-jensen-huang-nvidia-the-platform-company/
[6] https://whitepapers.theregister.com/
Makes sense
I loved the old 32-bit instruction set when I had my Archimedes and A5000 home computers, but over time the instruction set accumulated so much baggage that it became a mess. So I'm fine with a 64-bit only ARM. Nearly all modern applications use 64-bit only, so support for the 32-bit ISA is just extra silicon area that could better be used for something else.
Sure, it is a drag that future Raspberry Pis will not be able to run RISC OS, as this is (still) mainly 32-bity assembly code. But RISC OS, for all its qualities, will not amount to anything other than a hobby system until it is ported to a high-level language (such as Rust) and made more secure. Even as a past user of RISC OS, it was not the OS core that I loved -- it was higher-level details such as the GUI, the built-in apps, the font manager, the file system (with file types and applications as folders), and the easy-to-use graphics system. These could well be ported to a more modern OS kernel.
Old Arm
Ex-A5000, A3020, RiscPC user/owner here. I learned assembly programming on ARM26 then ARM32 (then x86 etc).
I met a few of Arm's Cortex-A designers around the launch of the A76, which was Arm's first step to 64-bit-only. I was surprised by the rolling of eyes when I mentioned the nice bits of ARM32. It was clear they just wanted to deal with the more RISC-y ARM64.
I got the impression some of the old guard at Arm, and some of the early designers who had moved on, had made their feelings known that ARM64 wasn't, in their opinion, 'real Arm'. Today's engineers, who were working away on ARM64, were fairly hurt by that.
It seemed the ARM32/64 was more than just an ISA split; there were internal politics and philosophies attached, too.
C.
No 32 bit?
Stupid.
Unless you are Apple.