“We are giddy” – an interview with Apple about the Mac silicon revolution | GeekComparison

Logo for Apple's M1 line.

The image representing the Apple M1 chip, as presented by Apple at an event earlier this month.

Some time ago, a group of engineers gathered in an Apple campus building. Isolated from others in the company, they took the guts of old MacBook Air laptops and connected them to their own prototype boards with the goal of building the very first machines that would run macOS on Apple’s own custom-designed ARM-based silicon.

To hear Apple’s Craig Federighi tell the story sounds a bit like a recall to Steve Wozniak in a Silicon Valley garage so many years ago. And this week, Apple finally took the big step engineers were preparing for: The company released the first Macs running on Apple Silicon, marking a transition of the Mac product line away from Intel’s CPUs, which have been industry standard for desktop and laptops for decades.

In a conversation shortly after the M1 announcement with Apple SVP Software Engineering Craig Federighi, SVP Worldwide Marketing Greg Joswiak, and SVP Hardware Technologies Johny Srouji, we learned that—unsurprisingly—Apple has been planning this change for many, many years.

Ars spoke extensively with these executives about the architecture of the first Apple Silicon chip for Macs (the Apple M1). While we had to ask a few questions about the edge cases of software support, there was actually one big question on our mind: What are the reasons behind Apple’s radical change?

Why? And why now?

We started with that big idea, “Why? And why now?” We got a very Apple answer from Federighi:

The Mac is the soul of Apple. I mean, the Mac has brought many of us to computers. And the Mac has brought many of us to Apple. And the Mac remains the tool we all use to do our jobs, to do everything we do here at Apple. And so having the ability… to apply everything we’ve learned to the systems that are at the core of how we live our lives is clearly a long-term aspiration and kind of a dream come true.

“We want to make the best possible products,” added Srouji. “We really needed our own custom silicon to really deliver the best Macs we can.”

Apple started using x86 Intel CPUs in 2006 after it seemed clear that PowerPC (the previous architecture for Mac processors) was nearing the end of the road. For the first few years, those Intel chips were a huge boon to the Mac, enabling interoperability with Windows and other platforms, making the Mac a much more flexible computer. This allowed Apple to focus more on increasingly popular laptops in addition to desktops. They also made the Mac more popular overall, paralleling the huge success of the iPod and soon after, the iPhone.

And for a long time, Intel’s performance was top-notch. But in recent years, Intel’s CPU roadmap has been less reliable, both in terms of performance improvements and consistency. Mac users took notice. But all three men we spoke to insisted that this was not the driving force behind the change.

“This is about what we could do, right?” said Joswiak. “Not about what someone else could or couldn’t do.”

“Every company has an agenda,” he continued. “The software company would like the hardware companies to do this. The hardware companies would like the OS company to do this, but they have competing agendas. And that’s not the case here. We had one agenda.”

When the decision was finally made, the circle of people who knew about it was initially quite small. “But the people who knew were walking around with smiles from the moment we said we were going down this path,” Federighi recalls.

Srouji described Apple as someone who is in a special position to make the transition successfully: “As you know, we don’t design chips as vendors, as vendors or generic solutions – which gives the opportunity to really integrate tightly with the software and the system. and the product – exactly what we need.”

Our virtual sitdown included: Greg
Enlarge / Our virtual sitdown included: Greg “Joz” Joswiak (Senior Vice President, Worldwide Marketing), Craig Federighi (Senior Vice President, Software Engineering), and Johny Srouji (Senior Vice President, Hardware Technologies)

Aurich Lawson / Appel

Designing the M1

What Apple needed was a chip that took the lessons learned from years of refining mobile systems-on-a-chip for iPhones, iPads and other products, then added all sorts of additional functionality to meet the expanded needs from a laptop or desktop computer.

“During pre-silicon, when we were even designing the architecture or defining the functions,” Srouji recalls, “Craig and I would sit in the same room and say, ‘Okay, this is what we want to design. These are the things that matter.'”

When Apple first announced its plans to launch the first Apple Silicon Mac this year, onlookers speculated that the iPad Pro’s A12X or A12Z chips were a blueprint and that the new Mac chip would be something like an A14X – a reinforced variant of the chips. that came in the iPhone 12 this year.

Not precisely so, said Federighi:

The M1 is essentially a superset, if you want to see it relative to the A14. Because when we started building a Mac chip, there were a lot of differences from what we would otherwise have had in a corresponding, say, A14X or something.

We had done a lot of analysis of Mac application workloads, the types of graphics/GPU capabilities required to run a typical Mac workload, the types of texture formats required, support for different types of GPU computing, and things available were on the Mac… even the number of cores, the ability to drive Mac-sized displays, support for virtualization, and Thunderbolt.

There are a lot of capabilities that we developed in M1 that were requirements for the Mac, but they’re all superset capabilities relative to what an app compiled for the iPhone would expect.

Srouji expanded on the point:

The foundation of many of the IPs we built that became the foundation for M1 to build on top of… started over a decade ago. As you may know, we started with our own CPU, then graphics and ISP and Neural Engine.

So we’ve been building these great technologies for over a decade, and a few years ago we said, “Now it’s time to use what we call the scalable architecture.” Because we had the foundation of these great IPs and the architecture is scalable with UMA.

Then we said, “Now it’s time to start building a custom chip for the Mac,” which is M1. It’s not like an iPhone chip that’s on steroids. It’s a very different custom chip, but we do use the base of many of these great IPs.

Unified memory architecture

UMA stands for ‘unified memory architecture’. When potential users look at M1 benchmarks and wonder how it is possible that a mobile-derived, relatively power-efficient chip is capable of that kind of performance, Apple points to UMA as a key ingredient to that success.

Federighi claimed that “modern computational or graphics rendering pipelines” have evolved and become a “hybrid” of GPU computing, GPU rendering, image signal processing, and more.

UMA essentially means that all components – a central processor (CPU), a graphics processor (GPU), a neural processor (NPU), an image signal processor (ISP), and so on – share one pool of very fast memory, positioned very close to all of them . This goes against a common desktop paradigm, for example allocating one pool of memory to the CPU and another to the GPU on the other side of the board.

A slide Apple used to showcase the M1's unified memory architecture at an event this year.

A slide Apple used to showcase the M1’s unified memory architecture at an event this year.

Samuel Axon

When users run demanding, multifaceted applications, traditional pipelines can end up losing a lot of time and efficiency moving or copying data so that it can be accessed by all those different processors. Federighi suggested that Apple’s success with the M1 is due in part to its rejection of this inefficient paradigm at both the hardware and software levels:

Not only did we have the great advantage of just the raw performance of our GPU, but equally important was the fact that with the unified memory architecture we weren’t constantly moving data back and forth and changing formats that slowed it down. And we have a huge performance boost.

And so I think workloads in the past, where it is, come up with the triangles you want to draw, send them to the discrete GPU and let it do its thing and never look back — that’s not what a modern computing pipeline looks like Today. These things go back and forth between many different units of execution to achieve these effects.

That’s not the only optimization. For a few years now, Apple’s Metal graphics API has been using “tile-based deferred rendering”, which the M1’s GPU is designed to take full advantage of. Federighi explained:

Where old-school GPUs would basically work on the whole frame at once, we’re working on tiles that we can move to extremely fast on-chip memory, and then do a massive array of operations with all the different execution units on that tile. It’s incredibly bandwidth efficient in a way these discrete GPUs aren’t. And then you just combine that with the sheer breadth of our pipeline to RAM and the different efficiencies of the chip, and it’s a better architecture.

Leave a Comment