Last Year on My Mac: 2 Apple silicon comes of age
Last Sunday, Christmas Eve, I looked at one of the major changes in macOS that Apple quietly slipped out in Sonoma. This article considers its most remarkable achievement in hardware over the last year with the early release of the first three variants of the M3 chip, a feat that Apple was understandably far more vociferous about.
To put this in context, the M1 family was released over a period of 16 months, from the first models with the basic (4P + 4E) CPU, through to the Studio with its ferocious Ultra (16P + 4E). In the second cycle, that period fell to 12 months, concluding with the M2 Ultra in June 2023. Although it looks as if the first iMacs with a basic M3 chip were already being manufactured early in the summer, at around the same time the first Studio M2 Ultras were being prepared for delivery, by November this year Apple was ready to release three of the expected four variants simultaneously, and looks set to follow with the M3 Ultra early in 2024.
The first two families were intentionally simple, consisting of two fundamental designs, one for the basic variant, the other for Pro and Max, and doubled up for the Ultra. With the major difference between Pro and Max being in GPUs, their CPU performance is almost identical. All eight chips are based on CPU clusters of up to four cores, giving their Ultra variants a total of four Performance clusters.
The M3 family is a major departure from this, with each variant more distinct, and greater distance between Pro and Max, which now differ substantially in CPU as well as GPU capability. With its total of 12 CPU cores divided equally between Performance and Efficiency, the M3 Pro is geared more to prolonged battery endurance for the MacBook Pro, while the M3 Max strikes a better balance for those needing higher performance, with twice the number of P cores, more than either of the previous Max variants.
There’s a more fundamental change in the increase in cluster size from four to six. Clusters share three important features: L2 cache, Apple’s legendary AMX matrix co-processor, and common frequency. Run a single high priority (Quality of Service, QoS) thread on a cluster of P cores, and you’ll see them all run up to the same high frequency, even though the rest of them may not be doing anything useful. This makes it easy to move threads around the cores within a cluster, and to accommodate additional threads without having to run cores outside that active cluster at higher frequency.
Choosing the optimum cluster size is a complex task, and is partly driven by their engineering implementation, and the need to strike the right balance between core types and numbers. Provision for thread overflow from the first cluster of P cores differs greatly between the M3 Pro and Max. On the Pro, overflowing threads are loaded onto its single cluster of six E cores, where they’re run with better energy efficiency but lower performance than they would be on the second cluster of P cores in the Max.
Both P and E cores in M3 chips deliver higher performance without using any more power than their predecessors, particularly when using their NEON vector processing unit. Tasks that are thought to be run at least in part on the AMX have also had a substantial performance boost, although each co-processor now serves six rather than four cores. Code calling on Apple’s Accelerate library benefits most of all, with some of its functions running at 170% of the speed of Firestorm P cores in an M1.
These three M3 variants we have seen so far are perhaps the chips that Apple would have liked to have shipped in the first Apple silicon Macs three years ago, had they been ready and had TSMC been able to offer its 3 nm process at the time. That isn’t to dismiss M1 and M2 Macs as not being worth the investment, but if you haven’t bought one yet, version 3 is definitely the Mac you’ve been waiting for. I’m already forming a queue here for a Mac Studio M3 Max to replace its M1 predecessor as soon as I can order one. That’s a New Year to look forward to.