After many months of rumors and speculation, Apple confirmed this morning during their annual WWDC keynote that the company intends to transition away from using x86 processors at the heart of their Mac family of computers. Replacing the venerable ISA – and the exclusively-Intel chips that Apple has been using – will be Apple’s own Arm-based custom silicon, with the company taking their extensive experience in producing SoCs for iOS devices, and applying that to making SoCs for Macs. With the first consumer devices slated to ship by the end of this year, Apple expects to complete the transition in about two years.

The last (and certainly most anticipated) segment of the keynote, Apple’s announcement that they are moving to using their own SoCs for future Macs was very much a traditional Apple announcement. Which is to say that it offered just enough information to whet developers (and consumers’) appetites without offering too much in the way of details too early. So while Apple has answered some very important questions immediately, there’s also a whole lot more we don’t know at the moment, and likely won’t known until late this year when hardware finally starts shipping.

What we do know, for the moment, is that this is the ultimate power play for Apple, with the company intending to leverage the full benefits of vertical integration. This kind of top-to-bottom control over hardware and software has been a major factor in the success of the company’s iOS devices, both with regards to hard metrics like performance and soft metrics like the user experience. So given what it’s enabled Apple to do for iPhones, iPads, etc, it’s not at all surprising to see that they want to do the same thing for the Mac. Even though the OS itself isn’t changing (much), the ramifications of Apple building the underlying hardware down to the SoC means that they can have the OS make full use of any special features that Apple bakes into their A-series SoCs. Idle power, ISPs, video encode/decode blocks, and neural networking inference are all subjects that are potentially on the table here.

Apple SoCs: Market Leading Performance & Efficiency

At the heart of this shift in the Mac ecosystem will be the transition to new SoCs built by Apple. Curiously, the company has carefully avoided using the word “Arm” anywhere in their announcement, but the latest macOS developer documentation makes it clear Apple is taking their future into their own hands with the Arm architecture. The company will be making a series of SoCs specifically for the Mac, and while I wouldn’t be too surprised if we see some iPad/Mac overlap, at the end of the day Apple will want SoCs more powerful than their current wares to replace the chips in their most powerful Mac desktops.

And it goes without saying that Apple’s pedigree in chip designs is nothing less than top-tier at this point. The company has continued to iterate on its CPU core designs year after year, making significant progress at a time when x86 partner Intel has stalled, allowing the company’s latest Lightning cores to exceed the IPC of Intel’s architectures, while overall performance has closed in on their best desktop chips.

Apple’s ability to outdo Intel’s wares is by no means guaranteed, especially when it comes to replacing the likes of the massive Xeon chips in the Mac Pro, but the company is coming into this with a seasoned design team that has done some amazing things with low-power phone and tablet SoCs. Now we’re going to get a chance to see what they can do when the last of the chains come off, and they are allowed to scale up their designs to full desktop and workstation-class chips. Apple believes they can deliver better performance at lower power than the current x86 chips they use, and we’re all excited to see just what they can do.

Though from an architecture standpoint, the timing of the transition is a bit of an odd one. As noted by our own Arm guru, Andrei Frumusanu, Arm is on the precipice of announcing the Arm v9 ISA, which will bring several notable additions to the ISA such as Scalable Vector Extension 2 (SVE2). So either Arm is about to announce v9, and Apple’s A14 SoCs will be among the first to implement the new ISA, otherwise Apple will be setting the baseline for macOS-on-Arm as v8.2 and its NEON extensions fairly late into the ISA’s lifecycle. This will be something worth keeping an eye on.

Selling x86 & Arm Side-by-Side: A Phased Transition

While for obvious reasons Apple’s messaging today is about where they want to be at the end of their two-year transition, their transition is just that: around two years long. As a result, Apple has confirmed that there will be an overlapping period where the company will be selling both x86 and Arm devices – and there will even be new x86 devices that the company has yet to launch.

In the near term, it will take Apple some time to build new devices around their in-house SoCs. So even if Apple doesn’t introduce any new device families or form factors over the next two years, the company will still need to refresh x86-based Macs with newer Intel processors to keep them current until their Arm-based successors are ready. And although Apple hasn’t offered any guidance on what devices will get replaced first, it’s as reasonable a bet as any that the earliest devices will be lower-end laptops and the like, while Apple’s pro gear such as the Mac Pro tower will be the last parts to transition, as those will require the most extensive silicon engineering.

This also means that Apple is still on the clock as far as x86 software support goes, and will continue to be so well after they complete their hardware transition. In part a practical statement to avoid Osborning themselves and their current x86-based systems, Apple has confirmed that they will continue supporting x86 Macs for years to come. Just how long that will be remains to be seen, of course, but unless Apple accelerates the retirement x86 Mac support, the company as of late has been supporting Macs with newer OSes and OS updates for several years after their initial launch.

x86 Compatibility: Rosetta 2 & Virtualization

Meanwhile, in order to bridge the gap between Apple’s current software ecosystem and where they want to be in a couple of years, Apple will once again be investing in a significant software compatibility layer in order to run current x86 applications on future Arm Macs. To be sure, Apple wants developers to recompile their applications to be native – and they are investing even more into the Xcode infrastructure to do just that – but some degree of x86 compatibility is still a necessity for now.

The cornerstone of this is the return of Rosetta, the PowerPC-to-x86 binary translation layer that Apple first used for the transition to x86 almost 15 years ago. Rosetta 2, as it’s called, is designed to do the same thing for x86-to-Arm, translating x86 macOS binaries so that they can run on Arm Macs.

Rosetta 2’s principle mode of operation will be to translate binaries at install time. I suspect that Apple is eyeing distributing pre-translated binaries via the App Store here (rather than making every Mac translate common binaries), but we’ll see what happens there. Meanwhile Rosetta 2 will also support dynamic translation, which is necessary for fast performance on x86 applications that do their own Just-in-Time compiling.

Overall Apple is touting Rosetta 2 as offering “fast performance”, and while their brief Maya demo is certainly impressive, it remains to be seen just how well the binary translation tech works. x86 to Arm translation has been a bit of a mixed bag, judging from Qualcomm & Microsoft’s efforts, though past efforts haven’t involved the kind of high-performance chips Apple is aiming for. At the same time, however, even with the vast speed advantage of x86 chips over PPC chips, running PPC applications under the original Rosetta was functional, but not fast.

As a result, Rosetta 2 is probably best thought of as a backstop to ensure program compatibility while devs get an Arm build working, rather than an ideal means of running x86 applications in the future. Especially since Rosetta 2 doesn’t support high-performance x86 instructions like AVX, which means that in applications that use dense, performance-critical code, they will need to fall back to slower methods.

On which note, right now it’s not clear how long Apple will offer Rosetta 2 for macOS. The original Rosetta was retired relatively quickly, as Apple has always pushed its developers to move quickly to keep up with the platform. And with a desire to have a unified architecture across all of its products, Rosetta 2 may face a similarly short lifecycle.

Meanwhile, macOS Big Sur (11.0), the launch OS for this new Mac ecosystem, will also be introducing a new binary format called Universal 2. Apple has ample experience here with fat binaries, and Universal 2 will extend that to cover Arm binaries. Truth be told, Apple already has the process down so well that I don’t expect this to be much more than including yet another folder in an application bundle with the necessary Arm binaries.

Finally, rounding out the compatibility package is an Apple-developed virtualization technology to handle things such as Linux Docker containers. Information on this feature is pretty light – the company briefly showed it off as part of Parallels running Linux in the keynote – so it remains to be seen just what the tech can do. At a minimum, and appropriate for a developers conference, the fact that they have a solution in place for Linux and Docker is an good feature to show off, as these are features that are critical to WWDC’s software developer crowd.

But it leaves unanswered some huge questions about Windows support, and whether this tech can be used to run Windows 10 similar to how Parallels and other virtualization software can run Windows inside of macOS today. As well, Apple isn’t saying anything about BootCamp support at this time, despite the fact that dual-booting macOS and Windows has long been a draw for Apple’s Mac machines.

Dev Kits: A12Z As A Taste of Things To Come

Finally, in order to prepare developers to launch native, Arm-compiled software later this year when the first Arm Macs ship, Apple has also put together a developer transition kit, which the company will be loaning out to registered developers. The DTK, as it’s called, was used in Apple’s keynote to demonstrate the features of macOS Big Sur. And while it’s essentially just an iPad in a Mac Mini’s body, it’ll be an important step in getting developers ready with native applications by giving them actual hardware to test and optimize against.

Overall, the DTK is based on Apple’s A12Z processor, and includes 16GB of RAM as well as a 512GB SSD. I wouldn’t be the least bit surprised if the machine is also clocked a bit higher than iPads as well, thanks to the device’s larger form factor, but in an interesting twist of fate it’s still likely to be slower than the iPhone 11 series of devices, which use the newer A13 SoC. The upside, at least, is that the A12Z sets a rather high low for performance, and conversely encourages developers to make efficient applications. So if developers can get their applications running well on an A12Z device, then they should have no problems whatsoever in running those apps on future A14-derived silicon.

And although the A12Z SoC inside the DTKs is a known quantity at this point, like their other beta programs, Apple will be keeping a tight lid on performance. The DTK license agreement bans public benchmarking, and even though developers will pay $500 to take part in the program, the DTKs remain the property of Apple and must be returned. So while leaks will undoubtedly drip out over the coming months, it would seem that we’re not going to get the chance to do any kind of extensive, above-the-board performance testing of Mac-on-Arm hardware until the final consumer systems come out late this year.

Closing Thoughts

While the confluence of events that have led to Apple’s decision may have removed any surprise from today’s announcement, there is no downplaying the significance of what Apple has decided to do. To go vertically integrated – developing their own chips and controlling virtually every aspect of Mac hardware and software – is a big move on its own. But the fact that Apple will be doing this while simultaneously transitioning the macOS and the larger Mac software ecosystem to another Instruction Set Architecture makes it all the more monumental. A large number of things have to go right for the company in order to successfully make the transition, both at the hardware and the software level. Every group within the Mac division will be up to bat, as it were.

The good news is that, as a fixture of the personal computing industry since the very beginning, there are few companies more experienced in these sorts of transitions than Apple. The move to x86 almost 15 years ago more or less created the playbook for Apple’s move to Arm over the next two years, as many of the software and hardware challenges at the same. By not tying themselves down with legacy software – and by forcing developers to keep up or perish – Apple has remained nimble enough to pull off these kinds of transitions, and to do so in a handful of years instead of a decade or longer.

Overall, I’m incredibly excited to see what Apple can do for the Mac ecosystem by supplying their own chips, as they have accomplished some amazing things with their A-series silicon thus far. However it’s also an announcement that brings mixed feelings. Apple’s original move to x86 finally unified the desktop computing market behind a single ISA, letting one system natively run macOS to Windows, and everything in between. But after 15 years of a software compatibility utopia, the PC market is about to become fractured once again.

POST A COMMENT

240 Comments

View All Comments

  • StuntFriar - Sunday, June 28, 2020 - link

    This isn't as difficult as you make it out to be. All modern game engines are multi-platform by nature - even 10 years ago, bespoke in-house engines tended to run on x86 (PC) and PowerPC (consoles) natively (and ARM, if you were also doing mobile / handheld), so the engineers have already been doing stuff like this for years, if not decades.

    In engines like UE4, you can already make iOS builds which use desktop-class Metal shaders, so they can already look as good as their desktop counterparts - performance notwithstanding (and I wouldn't bet against Apple in getting a high-performance CPU/GPU combination out).

    Epic has been updating the UE4 rendering pipeline on mobile, unifying it with the desktop/console one to bring them to parity (which is possible thanks to Metal and Vulkan), so the feature set between platforms would soon be identical. The only thing that's not standardised yet is ray tracing, which is still very much hardware dependent, but there's nothing stopping Apple from including it in their future GPUs.
    Reply
  • StuntFriar - Sunday, June 28, 2020 - link

    Also worth pointing out that 99.9% of your game code and scripting would be platform independent (usually to account for differences in platforms).

    When porting an engine over to a new platform, the bulk of the work would be on the rendering pipeline and asset importers. Ditto with optimizations such as concurrency. A lot of the existing frameworks for user input, memory management, game object lifecycle and UI can be re-used or modified for new platforms so it's hardly re-writing from scratch.

    Nobody rewrites games from scratch to support new platforms.
    Reply
  • scottrichardson - Tuesday, June 30, 2020 - link

    Fair comment. But what if, and this is a huge if, Apple ends up releasing silicon with GPUs that start to pull away from the big guys? What if they make their platform so damn compelling that more and more people make the switch and suddenly the lowest performing systems are the measly old Windows PCs still stuck using giant graphics cards and hot CPUS? Reply
  • tripadago - Wednesday, June 24, 2020 - link

    Great, finally official Reply
  • JustMe21 - Thursday, June 25, 2020 - link

    Apple is doing as Apple always tried to do, control everything. You might see the EU looking into it one day, but the US never would.

    I think we will see ARM performance in general improve as it starts scaling up to match Intel and AMD in performance. So, at first, if Microsoft keeps on the ball with Windows for ARM, we will start to see low cost PCs and laptops with Windows for ARM. This also means that Microsoft will need to encourage developers to code for UWP so the software works on any platform, we will see the reemergence of Windows Tablets and possibly Windows Phones again. We will also see more Linux distributions compiled for ARM as well.

    Hopefully, this also means that as ARM performance improves, we will see cheaper x86 processors. I also hope we will see manufactured ARM processors we can drop in sockets and not just integrated SoC motherboards. I like having the ability to build my own computer, but I wouldn't be surprised if one day everything is all integrated. Afterall, we are seeing laptops with integrated memory, so I expect SSDs to be soldered on at some point too. Of course, I would wonder if the EU might go on some kind of e-waste reduction initiative and require some companies to manufacture devices so things are user replaceable to reduce e-waste.
    Reply
  • techconc - Thursday, June 25, 2020 - link

    "You might see the EU looking into it one day, but the US never would."

    Huh? What law are you implying Apple is breaking by designing their own silicon? Comments like this are absolutely ridiculous.

    "as ARM performance improves"

    One ISA isn't inherently faster than another. It's the chip that's designed around that ISA that determines performance. Outside of Apple, nobody seems willing to step up and design a custom chip anymore. Everyone is content to use ARM reference designs. As for Apple, I believe you'll see with the A14 that they've already passed Intel in core design from both a performance and power efficiency perspective.
    Reply
  • varase - Saturday, July 18, 2020 - link

    I think even the protectionist EU would find it hard to stomach forcing Apple to sell in-house locally developed A SoC silicon to competitors - and AFAIK the don't even have any PC or laptop makers in the EU, do they?

    The EU really seems to be content sitting on their laurels and for some reason have had trouble moving into the 21st century ... not sure why.

    As for the Wintel alliance - I expect the Mac to gain a huge competitive advantage in energy efficiency, performance, and the ability to run millions of iOS and iPadOS software natively due to a common instruction set architecture and common frameworks - something I can't see anyone else cashing in on.

    If they add touchscreen to the Macs, you'll have the ability to interact with the Mac just as you do on your phone - though the undo gesture may have to be changed 😏.
    Reply
  • ksec - Monday, June 29, 2020 - link

    Implementing aarch32 in ARMv8 has always been optional. May be ARMv9 will completely get rid of it while having SVE2 as standard? Reply
  • mccracken0070 - Thursday, July 2, 2020 - link

    Finally I have found something which helped me.Appreciate it! Visit here https://www.masterbuildinginspectors.com.au/about/ Reply
  • studynotebd - Saturday, July 4, 2020 - link

    I also think the main issue is one of performance.
    https://studynotebd.info/2018/05/english-to-bangla...
    Reply

Log in

Don't have an account? Sign up now