Low End Mac's Online Tech Journal

Macintosh CPUs

Part 1, 680x0

The first personal computers each used an 8-bit central processing unit (CPU). Apple, Commodore, Rockwell, and Atari designed their computers around the 6502; Radio Shack's Color Computer used the Motorola 6809; and most others, including the TRS-80 and all CP/M-based computers, used the Zilog Z80 or Intel 8080. All ran in the 1-4 MHz range and could address 64 KB of memory.

Next came 16-bit chips. One of the earliest to achieve popularity was the Intel 8088, a 16-bit CPU (central processing unit, the brains of the computer) on an 8-bit bus. Although this meant memory access was slower than on the earlier 8086 with its 16-bit bus, it made for a cheaper motherboard. The 8086 and 8088 could address up to 1,024 KB of memory in 64 KB banks (this means they worked similarly to the older 8-bit chips that used bank switching as chunks of data and program code had to fit within 64 KB blocks of RAM). IBM designed its PC architecture to provide up to 10 banks (640 KB) to the user, the remaining 6 (384 KB) to hardware, such as video cards, drive controllers, and I/O cards.

After all, who would ever need more than 640 KB of memory?

68000 Family

68000 / 68020 / 68030 / 68040

The 68000

Apple thought differently and adopted a different chip, the Motorola 68000. Perhaps the biggest advantage of the 68000 over the Intel chips was its linear address space. Instead of switching between several banks of memory (which takes time), the 68000 could see a whopping 16 MB of continuous memory, although Apple reserved the top 12 MB for hardware, leaving "only" 4 MB available for running software. (Even Apple can be shortsighted once in a while, although they did remedy this in the 68000-based Portable and PowerBook 100.)

Unlike the 8088 processor with 16-bit internal registers, 20-bit memory addressing (16 banks of 64K), and an 8-bit data bus, the 68000 had 32-bit internal registers, 24-bit memory addressing, and a 16-bit data bus.

Apple first used the 68000 in the 5 MHz Lisa, moving to the 8 MHz version when it introduced the Macintosh in 1984. (This was the same year IBM introduced the 80286-based AT with a 16-bit data bus and 20-bit memory addressing.) Apple used the 8 MHz 68000 until it discontinued to Classic in 1992. The fastest Macs based on the 68000 were the Portable and the PowerBook 100, both running at 16 MHz.

The 68020

Apple took a big step when it introduced the 68020-based Mac II in 1987 - the computer was modular. In addition to six expansion slots, a huge power supply, color support, and room for an internal hard drive, the Mac II ran its 68020 CPU at 16 MHz. The new CPU promised 32-bit addressing, an improvement over the 68000's 24-bit addressing. This allowed new Macs to break the 16 MB barrier, although 32-bit addressing didn't come into its own until System 7. (Unfortunately, the earliest 68020- and 68030-based computers didn't have "clean" 32-bit code in their ROMs, preventing them from working properly with 32-bit addressing enabled. Thankfully Connectix created Mode 32, an extension that patched the system and allowed users to access more than 8 MB of memory and run 32-bit applications.)

The 68020 was the first CPU in the 680x0 family with an onboard instruction cache. This level 1 (L1) cache was 256 bytes in size. Performance was roughly four times faster than the Mac Plus, due to the higher clock speed, wider data bus (32-bit v. 16-bit), and a more efficient processor. Available support chips included the 68881 math coprocessor (FPU or floating point unit) and 68851 memory management unit (MMU). Only the Mac II and the original LC used the 68020 CPU.

The 68030

In 1988 Apple introduced the IIx, which had a 16 MHz 68030 brain. The 68030 incorporated the MMU, giving it the ability to use virtual memory (VM) with third-party software (Apple didn't include VM with the operating system until System 7.0 in 1991). The 68030 could also be used with a newer FPU, the 68882. Overall performance of the 68030 was comparable to the 68020, although the newer chip was eventually available in the "wicked fast" 40 MHz Mac IIfx and in a 50 MHz version on some accelerator cards.

The Mac IIci was the first Mac with a level-2 (L2) cache slot. Although the 68030 has two 256-byte caches (twice as much as the 68020), the speed differential between the 25 MHz CPU and the 80ns system memory kept the IIci from achieving its full potential. A relatively small 32 KB L2 cache would boost performance 20-30%! Larger 64 KB and 128 KB caches were also available, but added so little with a 25 MHz CPU that they didn't catch on. A 32 KB cache was enough - and Apple eventually made that standard on the IIci. (Cache cards use a different kind of memory, static RAM [SRAM]s, with 25ns or faster performance.)

The 68040

The Quadra 700 and 900 introduced the 68040 in 1991. In large part due to a larger L1 cache (KB for data, KB for instructions), the 68040 provided 2.5-3 times the performance of the 68030 at the same clock speed. The base 68040 included its own FPU circuitry; this was missing in the less expensive 68LC040 used in some low end Macs. The slowest model based on the 68040 was the Centris 610, which had a 20 MHz 68LC040. The fastest was the 40 MHz Quadra 840av.

Because they had a larger L1 cache, none of the 68040-based Macs came standard with a L2 cache, although some 128 KB cards were offered by other manufacturers. As with L2 cards on the IIci, these provided a 20-30% performance boost.

The next chip in the 68000 family was the 68060, a wicked fast CPU, but Apple decided to move in a different direction. After examining the Motorola 88000 and perhaps some other RISC (reduced instruction set chips) CPUs, Apple decided to team up with Motorola and IBM to create a new CPU family.

Summary, 680x0 family

CPU       speed*      L1 cache      FPU**  notes
68000     8-16 MHz          none      none  16-bit data bus, 24-bit addressing
68020       16 MHz     256 bytes     68881
68030    16-40 MHz   2x256 bytes     68882  internal PMMU, supports L2 cache
68LC040  20-25 MHz  2x4096 bytes      none  can be replaced with 68040
68040    25-40 MHz  2x4096 bytes  internal
* as used in Apple computers
** FPU typically used with this CPU

Power PC in Part 2

Other Resources

Notice: Use of undefined constant U - assumed 'U' in /var/www/bbm/lowendmac.com/htdocs/tech/recent.php on line 4

Notice: Use of undefined constant md - assumed 'md' in /var/www/bbm/lowendmac.com/htdocs/tech/recent.php on line 5

Notice: Use of undefined constant nd - assumed 'nd' in /var/www/bbm/lowendmac.com/htdocs/tech/recent.php on line 6

Join us on Facebook, follow us on Twitter or Google+, or subscribe to our RSS news feed

Today's Links

Recent Content

About LEM Support Usage Privacy Contact

Custom Search

FollowLow End Mac on Twitter
Join Low End Macon Facebook

Low End Mac Reader Specials









Favorite Sites

Cult of Mac
Shrine of Apple
The Mac Observer
Accelerate Your Mac
PB Central
The Vintage Mac Museum
Deal Brothers
Mac Driver Museum
JAG's House
System 6 Heaven
System 7 Today
the pickle's Low-End Mac FAQ


The iTunes Store
PC Connection Express
Macgo Blu-ray Player
Parallels Desktop for Mac


Open Link