Changing the system architectures and complexities of Apple’s butterfly approach to ISAs


Apple computers will move away from Intel chips to their own ARM-based design. An interesting thing about Apple as a company is that it has never felt the need to link to a particular system architecture or ISA. While a company like Microsoft tied its fortune to Intel’s x86 architecture, and IBM, Sun, HP, and other giants preferred vertical integration, Apple has been moving toward its fifth system architecture for its computers since the company was formed.

What makes this latest change possibly unique, however, is that instead of Apple relying on a third-party provider for peripheral CPUs and ICs, they are now targeting a vertical integration approach. Although ARM ISA is licensed by Apple from Arm Holdings, the ‘Apple Silicon’ design used in Apple’s ARM processors is theirs, produced by Apple’s own engineers, and produced by foundries at Apple’s behest.

In this article, I’d like to take a look at Apple’s architectural decisions over the decades, and how they made Apple’s move toward vertical integration practically a certainty.

A product of its time

The Apple I. Wooden board not included in delivery.

The 1970s was definitely the time when computing took over to living rooms in the US, with the Commodore PET, Tandy TRS-80, and Apple II microcomputers defining in the late 1970s. Only About a year before the launch of Apple II, the recently formed partnership between Steve Wozniak and Steve Jobs had produced the Apple I computer. The latter sold as a bare assembled PCB for $ 666.66 ($ 2,995 in 2019), with approximately 200 units. sold.

Like Apple I, Apple II, and Commodore PET were based on the MOS 6502 MPU (microprocessor unit), which was essentially a cheaper and faster version of Motorola’s 6800 MPU, with the Zilog Z80 being the other popular choice of MPU. What made the Apple II different was Wozniak’s engineering shortcuts to cut hardware costs, using various tricks to save DRAM update circuits separately and eliminate the need for separate video RAM. According to Wozniak in a Byte interview in May 1977, “[..] a personal computer should be small, reliable, convenient to use and inexpensive. “

With the Apple III, Apple saw the need to provide compatibility with the Apple II, which was made easy because the former maintained the same 6502 MPU and a compatible hardware architecture. However, Apple engineers imposed limitations that prevented the emulated Apple II system from accessing more than a fraction of Apple III’s RAM and other hardware.

The 32-bit Motorola era

With the unfortunate Apple Lisa (1983) and the much more successful Apple Macintosh (1984), Apple made the transition to the Motorola 68000 (m68k) architecture. The Macintosh was the first system to feature what would become the classic series of Mac OS operating systems, then imaginatively titled ‘System 1’. As the first step in the brave new world of 32-bit, GUI-based, mouse-driven desktops, it didn’t focus on backward compatibility. It also cost more than $ 6,000 when adjusted for inflation.

Welcome to the future of home computing.

The reign of m68k-based Macintosh systems lasted until the launch of the Macintosh LC 580 in 1995. That system featured a Motorola 68LC040 running at 33 MHz. That particular CPU in the LC 580 had an error causing it to malfunction. when used with a software FPU emulator. Although a fixed version of the 68LC040 was introduced in mid-1995, it was too late to prevent many LC 580s from shipping with the faulty CPU.

The year before the launch of the LC 580, the first Power Macintosh system had already been released after a few years of Apple working with IBM on the PowerPC range of chips. The reason for this change could be found primarily in the anemic performance of the CISC m68k architecture, with Apple concerned that the industry shift to the IBM RISC (POWER), MIPS, Sun (Sparc) and HP (PA-RISC) architectures. ). This left Apple no choice but to find an alternative to the m68k platform.

Gain POWER or Go Vertical

Development of what became known as the Power Macintosh series of systems began in 1988, with Apple briefly flirting with the idea of ​​making its own RISC CPU, to the point where they purchased a Cray-1 supercomputer to aid in design efforts. Ultimately, they were forced to cancel this project due to lack of experience in this area, requiring a look at potential partners.

Apple would see the RISC offerings available from Sun, MIPS, Intel (i860) and ARM, as well as Motorola 88110 (RISC 88000 architecture). All but the Motorola offer were initially rejected: Sun lacked the ability to produce enough CPUs, MIPS had ties to Microsoft, the Intel i860 was too complex, and IBM may not want to license its POWER1 core to third parties. Along the way, Apple took a 43% stake in ARM, and would use an ARM processor in its personal digital assistant Newton.

Motorola 88110, or what might have been Apple’s future.

Under the project name ‘Jaguar’, a system was developed that used the Motorola 88110, but the project was canceled when the president of Apple’s product division (Jean-Louis Gassée) left the company. The renewed doubt at 88110 led to an organized meeting between representatives of Apple and IBM, with the idea of ​​merging the seven POWER1 chips into a single-chip solution. With Motorola also present at this meeting, it was agreed to establish an alliance that would result in the PowerPC 601 chip.

Apple’s System 7 operating system was rewritten to use PowerPC instructions instead of m68k, allowing it to be used with what would become the first PowerPC-based Macintosh, the Power Macintosh 6100. Due to the increased performance of PowerPC relative to m68k at the time, The utility of the Mac 68k emulator that comes with all PowerPC Macs was enough to provide backward compatibility. Later versions used dynamic recompilation to provide even more performance.

Decade of POWER

Who doesn’t miss this apple?

The PowerPC era is perhaps the most distinctive of all Apple designs, with the colorful all-in-one iMac G3 and Power Macintosh G3 and Power Mac G4, along with Power Mac G5 which are still easily recognized computers that distinguish Apple systems. of the ‘PCs’. Unfortunately, at the time of the PowerPC CPU G4 and G5 series, its performance had lagged behind the x86-based offerings of Intel and AMD. Although Intel made a costly mistake with its Netburst (Pentium 4) architecture during the so-called ‘MHz wars’, this did not prevent PowerPC from falling further behind.

The Power Mac G5, with its water-cooled G5 CPUs, struggled to keep up with the competition and performed poorly per watt. The frustrations between IBM and Apple about whether to focus on PowerPC or IBM’s evolution of server CPUs called ‘Power’ did not help here. This led Apple to the obvious conclusion: the future was CISC, with Intel x86. With the introduction of the Intel-based Mac Pro in 2006, Apple’s fourth architectural transition began.

As with the transition from m68k to PPC in the early 1990s, a utility similar to the Mac 68k emulator, called Rosetta, was used. This dynamic binary translator supports translation of G3, G4 and AltiVec instructions, but not G5 instructions. It also comes with a number of other compromises and performance limitations. For example, it does not support applications for Mac OS 9 and earlier versions (‘classic’ Mac OS), or Java applications.

The main difference between the Mac 68k emulator and Rosetta is that the former ran in the kernel space and the latter in the user space, which means that Rosetta is much less effective and less efficient due to the overhead of task switching . These commitments led Apple to also introduce the ‘universal binary’ format, also known as ‘fat binary’ and ‘multi-architecture binary’. This means that the same executable can have binary code for more than one architecture, like PowerPC and x86.

Everything is fine and ends vertically integrated

The future of Apple Silicon.

Some of us may have missed the recent WWDC announcement where Apple made it official that it will switch to the ARM system architecture, leaving Intel after fourteen years. The real reasons behind this change will have to wait, for obvious reasons, but it was revealing when Apple acquired PA Semi, a factory-less semiconductor company, in 2009. Since Apple started producing ARM SoC for its iPhones instead of purchasing them. From other companies, rumors have spread.

As the performance of this Apple Silicon began to match and exceed that of Intel desktop systems at benchmarks with Apple iPhones and iPads, many felt it was only a matter of time before Apple made an announcement like this. . There’s also the lingering issue that Intel hasn’t had a significant processor product update since Skylake’s introduction in 2015.

So there we are, then. It’s 1994 and Apple has just announced that it will transition from m68k CISC to its own RISC architecture (ARM based?). Just 26 years later, Apple is transitioning from x86 CISC to its own ARM-based RISC architecture, seemingly completing a process that started in the late 1980s at Apple.

As for the user experience during this transition, it is effectively a replay of the transition from PowerPC to Intel during 2006 and beyond, with Rosetta 2 (Rosetta Harder?) Handling (some) binary translation tasks for applications that do not yet have a native ARM port and universal binaries (v2.0) for the other applications. For the next decade or so, Apple will find its divide between x86 and ARM before it can presumably settle into its new vertically integrated home after almost half a decade of revolutions between foreign system architectures.