Sidenote: Apple and the Switch to ARM CPUs

As a tech enthusiast, something that caught my eye in the news today was that Apple’s virtual WWDC developer conference committed to a change that has been seen as a long time coming – the switch of Mac computers from using x86 CPUs supplied by Intel to custom ARM CPUs designed by Apple and built by their manufacturing partner TSMC.

This is interesting in a few ways, but first the shortest primer I can force myself to write without nerding out and Dunning-Krueger-ing through it. x86 and ARM are, in effect, different languages that processors can be built to use. x86 is the legacy of computing and originated way back (the term x86 is because Intel’s pre-Pentium CPUs were 386, 486, and the Pentium was in effect a 586). Most modern desktop, laptop, and server computers use x86 CPUs supplied by either Intel or AMD, with some Chinese brands using intellectual property from VIA (older tech nerds will remember them!). ARM CPUs, on the other hand, are a newer-ish design (1985 vs. 1978 for x86) that are designed around power efficiency. As a result, ARM designs have grown in popularity with the explosion of mobile devices in need of more power. Nearly all smartphones, tablets, Chromebooks, some Windows tablets and laptops, and most smart devices use some form of ARM CPU. Unlike with x86, where Intel has an iron fist on the license for the IP and only those who have prior legal rights (usually due to Intel screwing with them!) can make an x86 CPU (hence AMD and VIA), ARM is a freely licensed architecture, with the main holding firm ARM implementing new iterations of the standard with new instruction sets and specifications, while any manufacturer and designer who pays for the license can then use it to create their own semi-custom silicon processor, usually designed as a system-on-a-chip (SOC). Apple currently makes custom ARM SOCs for use in the iPhone and iPad, Samsung has their Exynos SOC line using the ARM core designs, and most other smartphones (plus some non-Korean model Samsung phones) use ARM-derived SOCs from Qualcomm, whose Snapdragon lineup is integrated in hundreds of designs.

ARM uses reduced instruction-set computing (RISC) design, which simplifies the hardware design and reduces the complexity of the end product as well as reducing the number of transistors, the power consumption, and the heat output, which is why these things are desirable and used currently in places where lower power consumption and heat output are valuable attributes.

On the desktop, in most laptops, and in the datacenter, ARM CPUs are rare but becoming more common – mostly in laptops looking for large power savings for battery life, and in the data center as the company Ampere pushes larger designs using more ARM cores than an x86 CPU can currently accomplish (the AMD EPYC 7742 is a 64-core x86 part, while Ampere’s Altra ARM CPU currently has up to 80 cores and Intel is stuck at 28, with potentially a 56 core single-CPU part that is soldered to a motherboard and almost impossible to buy). ARM requires code written for it, but there are ways to get x86 code running on ARM through some emulation-like measures.

Enter Apple.

Apple has, for most of its life, largely been a software firm who sells mated hardware. WWDC is usually their biggest and most well attended event, but it seldom features hardware announcements, instead focusing on new versions of iOS, macOS, and new software features. While Apple makes what is considered to be premium hardware, the core messaging out of the company is all about software and what theirs can do for you. Hardware to them has often been a secondary concern when it comes to the guts of their devices – a recent Linus Tech Tips video showed the inside of the newest Macbook Air and the cooling solution used for the CPU and it is…not great!

With that in mind, Apple has been relatively floaty about the hardware inside of their flagship PCs. Originally, Apple used Motorola 68k CPUs, before switching to IBM PowerPC, which is the Mac childhood me had in the classroom (for whatever reason, we had Macs, no idea why, until I got to middle school). In 2005, Apple made their most recent switch before today’s announcement, moving from PowerPC to Intel CPUs. The Intel CPUs brought a bevy of advancements – it was possible to easily run Windows on a Mac via BootCamp, developers could easily work on apps that would support both Windows and Mac with only minor tweaks, and Intel’s rapid advancements in technology through the Core eras until recently meant that newer Mac PCs gained performance at a pretty rapid clip.

However, Intel charges a premium for their hardware, which cuts into Apple’s margins, and as Apple became increasingly focused on premium design flourishes like unibody aluminum casings, trashcan towers, and thin and light design language, Intel’s high-power, high heat approaches to improving performance in their more modern CPUs butted up against the sleek design representative of Apple. Recent Macbook Pro designs have had excessively throttling CPUs that run as hot as 95 Celsius (in specification for the hardware, but you better believe your lap is gonna be far too toasty at that temperature) and required firmware designs from Apple that throttle the CPU, keeping it from full performance for the sake of reduced operational noise and temperature.

ARM has a lot of advantages in that space. ARM CPUs in mobile designs run much, much cooler and at lower power consumption. For Apple’s core market in the PC space (laptops), this is a fantastic help for them. Their design language can continue to push to thin and light designs without sacrificing performance or running into as many issues with thermal dissipation. For Apple, their custom ARM cores have gained in performance year over and year and consistently do well in available mobile benchmarks, and in some cases, their mobile ARM designs show a higher IPC than Intel’s CPUs! It’s not a given that this would mean an Apple-designed ARM desktop CPU would outperform Intel solutions, especially since voltage/frequency scaling may prevent an ARM CPU from scaling up to the clock speed required to outmatch a Core CPU. Such solutions are likely to run at a lower clock speed, reaching closer to 100% of the performance of the Intel offerings with around half of the power consumption and heat output.

Apple also loves packing the custom SOC designs in iPhone and iPad with extra, purpose-made fixed-function silicon that accelerates their own software initiatives. Components like a neural engine, machine learning accelerators, and use of custom video encoding hardware not dissimilar to the current Mac Pro Afterburner card. Apple’s announcement has a ton of different logic blocks illustrated, but as with all WWDC announcements, they remain delightfully vague – easy enough to be excited by if you’re an Apple fan, but hard to glean any real details from.

What does it mean for the broader market and gaming? Well, if you currently game on Mac, it may be bad times. Apple is offering Rosetta v2, a compatibility framework to allow x86 software to run on ARM-based Mac machines, but the exact mechanisms of how this will run are sort of unknown at this point, and the performance is not going to be perfectly native. For ideal performance, Apple is encouraging developers to recompile for ARM and investing in tools via their Xcode kit to offer developers an existing software solution with support for doing this work, but if you play games on a Mac, first of all, I hope your boss paid for that PC and using it for games is just a good multi-tasking operation on your part, but also, this is likely to mean that support may wane for Mac with major games. Steam has been invested in both Mac and Linux compatibility and supporting those platforms for more games, but currently, they are all based on x86 hardware. It remains to be seen how much support games will have on the new Mac hardware as the transition rolls on.

For those of us on PC, however, it is unlikely to mean much in the short term. Microsoft has been invested in ARM support in Windows 10 due to lower-cost Surface devices using ARM cores, but there hasn’t been a large move for mainstream computers to use them as of yet. For now, they remain viable in hyperscale datacenter environments, and low-cost/low-power mobile designs, but that may change. If the switch is well-received at all levels for Apple, desktop OEMs like Dell and HP may push to use them in designs where the characteristics of ARM cores are favorable. However, in the Windows desktop and mobile market, Intel and AMD remain highly competitive and will not rest on their laurels while ARM takes over the world. Intel, for their part, have been rumored to adopt an ARM-like design paradigm in future x86 CPUs, using a number of larger and faster CPU cores alongside a similar number of smaller, less featured CPU cores. AMD is simply scaling core counts in general, and while Zen 3 later this year is not expected to increase core counts, it is likely that Zen 4, on a smaller silicon process compared to Zen 2/3, will again scale up core counts, offering performance through an increasing core count while scaling to keep power consumption and heat output flat or improved via improved silicon processes and efficiencies in design.

Overall, it is more of a curiosity than a real point of actual investigation, but it is very interesting as a change Apple is making and while Apple’s 10% of the PC market rarely pushes broader hardware changes on the level of CPU/GPU choices, they can often inform trends that come to be later if they manifest in Apple’s little corner well enough (see: the massive glut of unibody metal laptops all over the market today).

2 thoughts on “Sidenote: Apple and the Switch to ARM CPUs

  1. As a survivor of the CPU Wars I’m over it. I figured they were too when they decided to switch from PowerPC to Intel and basically focus on application and OS level stuff instead of faffing about with oddball hardware that makes it more difficult to find accessories etc that’ll work with it. Raising the walls on the walled garden, sounds like. At least for now they still support standard I/O interfaces, though we’re just one WWDC away from them announcing something new and incompatible.

    But “of course they’d never do that”.

    As a devops engineer this is nothing but negatives for me. We’re required to maintain a number of OSX build slots in our system and were really hoping to move from physical agents to virtualized agents utilizing some Hackintosh technology (Hackintosh of course is one of the prime targets of this move). Now we’re going to have to reconsider all of that and find physical space to keep these machines in the face of a data center migration. Bloody ‘ell.

    I realize that my situation is fairly corner casey but I’m sure there are people that will be hurt a lot more than me. And I’m just not at all interested in more CPU War activity. It’s over. Let’s leave it be.

    Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.