ARM Processors for Macintosh

The rumor just broke this week that Apple will be replacing the Intel processors in its Macintosh computers with ARM-based processors of it’s own design by 2020. Most consumers don’t really know what that means, so inevitably there will be a ton of scary sounding articles written to prey on that ignorance. To counter this let’s examine what the actual consequences of such a change would be.

 

History of change

Motorola 68000 processor

Motorola 68000 processor

The Macintosh has gone through two previous processor architecture transitions in it’s 30+ year history. Originally built to run on the 68000 series of processors from Motorola, the first transition was to the PowerPC chips built by IBM, (and Motorola) in the early 90s. The second transition was of course to the Intel x86 architecture in the mid 2000s. I was using Macintosh computers throughout this time and both of these transitions were accomplished with very few issues. The reason for this is that Apple has put themselves in a very good position to make these kind of sweeping changes.

IBM PowerPC 601 Processor

IBM PowerPC 601 Processor

In my last article, I explained how in the 80s and 90s software had to be written specifically for the processor that it was going to run on to get good performance. This is no longer strictly true. In fact Apple’s current software platforms are all based on Steve Jobs’ NextStep OS, (later OpenStep) that was created to run on multiple different architectures. It’s rumored that Apple bought Next instead of it’s competitors because of a demo of the cross-platform capabilities in it’s development tools. Provided that a developer used only Next’s frameworks to build their applications, only a re-compile was necessary to target a different architecture. After purchasing Next, Apple set about the difficult task of transitioning their OS 9 developers over to the new environment. The problem was that while the new development environment was much easier and more modern, porting applications with old code bases would take a lot of re-writing. Developers of large professional application packages, (Adobe, Microsoft, etc) didn’t want to undertake that task because their code bases were very large and very old. Apple gave in and wrote a compatibility environment, (called Carbon) for them that only required them to re-write a portion of the old OS 9 code, (estimates were around 10%) to gain access to the new operating system.

Intel Core i5-2500 Processor

Intel Core i5-2500 Processor

In the mid 2000s when the PowerPC architecture was running out of steam Apple decided that the Macintosh would be better off on the Intel platform. The new Intel Core architecture, (built from the Pentium 3 line and not the Pentium 4) was performing very well for the wattage it was drawing. In contrast, the PowerPC was struggling to keep up in the performance per watt race. The G5 tower systems of the era required liquid cooling to even get close to Intel performance. But the bigger problem was that there were no mobile PowerPC G5 chips at all. It was simply too power-hungry. With laptop and mobile systems selling way more than desktop systems, Apple needed to make the switch to compete. Once again Apple created a translator that would run old code on the new processors, however this time there was a catch. The translator routine was not going to be extended to 64bit code. This would allow old applications to continue to run on new Intel systems but if developers wanted to take advantage of the full speed of 64bit computing they would have to bite the bullet and rewrite their programs. The transition away from the Carbon API was started in 2012 with MacOS X 10.8, but is finally being completed now in 2018 with MacOS X 10.13 High Sierra; which is the final version of the Macintosh operating system to support legacy OS 9 code, (EDIT: This was delayed and Mac OS 10.14 Mojave is the last Mac OS to support legacy code). Apple is finally drawing a line in the sand by requiring developers to move their code from the old Carbon API to the Cocoa API that was taken from NextStep. This gives Apple the ability to change the underlying architecture of the Macintosh much easier than ever before.

Apple A4 Processor from iPad 1

Apple A4 Processor from iPad 1

In 2007 Apple released the iPhone and one of the most interesting details about the device was that they announced it would run a version of the desktop Mac OS that originally came from NextStep. This was a first in mobile computing and showed not only the confidence Apple had in its code but also it’s ability to port to other platforms. The iPhone, iPad and Apple Watch have all used a version of the Mac OS X operating environment and developer tools that are made for the ARM processor architecture. Originally Apple sourced those processors from other manufacturers, but they have since built a world-class processor team over 1000 engineers strong. The current A-series processors are the fastest and most full-featured ARM chips in the world and are currently very close to the ultimate performance of Intel’s mobile chips while soundly beating them in performance per watt. With Intel’s current difficulties in shrinking their fabrication process and the recent security flaws in their designs you can’t blame Apple for thinking this is the right time to make a change.

 

ARM Macintoshes

Apple A11 processor in iPhone X

Apple A11 processor in iPhone X

So we have seen that Apple has the ability to make this transition to ARM processors but what will the result be for consumers? Let’s look at the Pros and Cons of switching to an ARM architecture:

 

PROS:

 

• More secure

Because Apple is designing the entire platform from the ground up, they can build security into the chip like they have on the iPhone. This would allow for systems that are far harder to hack than we have today.

• Tighter integration with Apple software

Apple already writes the drivers for the hardware that goes into their Macintosh systems. However, building the entire machine from the ground up will allow them to create specific integrations that enable their systems to outperform competing solutions. A good example is the iPad Pro that can play 3 simultaneous 4K video streams in iMovie where an Intel Core-m would struggle to play one. Or it could allow tight integration with user features like the Apple Pencil on the iPad Pro. The possibilities are endless.

• More performance/watt

Because it was designed for mobile devices from the beginning ARM chips are the king of low power, high-performance computing. Imagine if your MacBook could go 24-hours on a single charge… Or your iMac could have 16 cores and no fan. ARM is really good at getting the most performance out of the least power.

• Less costly

This is a big one because Apple is really starting to have trouble justifying the price of their Mac systems. At first glance, generic PCs seem like they are so much cheaper. A big part of that is the cost of the Intel-branded processor. Top-end Intel chips can be as much as $1000-$2000 of the purchase price. Apple could reduce that significantly if they made the chips themselves.

• Specific application performance

Apple has built special processing hardware into their iOS chips that do some things extremely quickly. For example, image processing. The camera on the latest iPhone does magic and it does it without seeming to break a sweat. The kind of image processing that would take hours or days on a desktop happens almost instantly. Apple could bring that kind of specific hardware to the desktop and applications written to take full advantage of it would see a huge boost.

 

CONS:

 

• Some applications will need optimizing.

Even though Apple will likely create a translation layer so that Intel code can run, developers will still need to update their programs to see full performance. This will be especially apparent with professional video and image-processing applications. They have the hardest workloads and their code is the oldest. Without analyzing the actual code it’s not really possible to know how much work would have to be done. If the developers are using only Apple’s APIs then it’s as simple as a re-compile, but if they have built their own APIs then it could be a big undertaking.

• Loss of native Windows support

This one might not be too big of a deal as more business applications are moved online, but it is definitely nice to know that you can boot straight to windows if you need to. Windows emulators will still exist but native support is always a plus.

• Potentially Less top-end performance

We have to remember that this is a transition. Apple makes multiple lines of Macintosh computers for a wide variety of users. It would probably take several years to transition all those lines to ARM. They will likely start with the mobile systems. The current MacBook has an Intel Core-M processor that is already bested by the A9X in Apple’s latest iPads. Building an 18-core server chip like the Intel processor in the iMac Pro takes a lot more work. Professional-grade processors aren’t just fast; they also enable professional workflows through massive IO, (input/output) performance. Today’s Intel chips have up to 40 PCIe lanes that each can send/receive 1000MBps of data to peripherals. Apple’s current ARM chips have just now added USB 3 support so they are definitely behind in this area. You can expect Intel chips to remain in the professional grade machines for years and maybe indefinitely. Apple has maintained multiple platforms for years in the past and may choose to do so again.

 

Final thoughts

Apple MacBook (2017)

Apple MacBook (2017)

One of the reasons that tech pundits are skeptical about ARM chips being used in desktop computers is that Microsoft tried to port Windows to ARM chips a few years back and failed. They were trying to get ahead of the iPad by releasing a competing ARM tablet. But Microsoft failed because their rushed implementation of Windows for ARM didn’t run any legacy (Win32) applications. Windows was never designed to be a cross-architechture operating system the way Mac OS was. Apple will succeed in making this transition, and they will do it in their own time and on their terms.

Microsoft Surface RT

Microsoft Surface RT

As for consumers; the majority of them don’t know what processor is in their system. All they care is that it runs the applications they want to use and doesn’t slow down or crash. The reality is that the software you run is much more important than the hardware it runs on. The real question is will Professional users be able to continue using Macs for the heavy workflows that require more advanced hardware? The answer is yes. Apple isn’t “abandoning” professional users even though every few months somebody starts that whisper campaign all over again. Apple just created the iMac Pro, the world’s fastest all-in-one desktop and this year they are creating a brand-new Mac Pro. These actions show that they are committed to their professional customers. Also this news means that they are not discontinuing the Macintosh. I’ve heard a lot of chatter from tech pundits worried that Apple will drop the Macintosh in favor of iOS. Instead, they have just committed to bringing it into a new decade with brand new hardware designs. That should be encouraging to Apple’s most loyal customers.

Finally, it’s important to remember that you don’t have to upgrade your computer every couple of years. The hardware Apple makes works flawlessly for years and in some cases decades. There are people still using and upgrading their 10-year old Mac Pro towers because Apple’s current systems don’t meet all of their needs. My main system is still a top-end MacBook Pro from 2013. I’ve stuck with it because it’s stable and runs all of the software I need to use. Apple systems bought today will still be going strong in 2028 and beyond and the professional user will continue to have a home on the Mac platform, no matter what processor it uses.