I ran my own blog from November 2006 till October 2014. All posts are still online, but I don't have time to update it anymore. Please note that all images and media files have been removed when the backup was moved to a new host in early 2016. Enjoy!

Famous Processors: The Motorola 680x0 Family

7. february 2008

The Motorola 68k is a family of 16/32-bit CISC microprocessors that were first introduced in 1979 and are still in use today, thus being on the market for 28 years. The architecture has been used in many Unix workstations as well as in famous computers such as the Apple Macintosh, the Commodore Amiga and the Atari ST.


Motorola started the development of the original MC 68000 in 1976, when many 8-bit processor manufacturers were already working on the next generation 16-bit CPUs. Instead of creating a common 16-bit architecture, Motorola decided to instantly jump to a 16/32 bit hybrid design. The Motorola 68000 was never intended to be compatible with earlier 8-bit 6800 CPUs.


The Motorola 68000 had eight 32-bit registers, which made it a true 32-bit processor, and it has a 24-bit address bus, allowing it to address up to 16 MB of physical memory. One of its biggest problem may have been the lack of support for virtual memory, which made it hard using the Motorola 68000 in Unix workstations (although there were workaroungs).

In 1982, the Motorola 68010 added true virtual memory support which fixed this problem. The same year Motorola also released the 68008, which featured an 8-bit data bus and a smaller (20 bit) address bus.

The second generation Motorola 68020, released in 1984, finally added a 32-bit ALU and a 32-bit address bus, new instructions and addressing modes, it was available at speeds ranging from 12 MHz to 33 MHz. It also added multiprocessor support which allowed to build systems using up to eight 68020 processors or math processors at a time. But true multiprocessor machines using the 68020 were quite rare, most Unix workstations used a 68020 along with an FPU (68881 or 68882) and an MMU.


In 1987, the Motorola 68030 was released - it was mostly based on the MC68020 core design, but added an on-chip split instruction and data cache of 256 bytes each and a built-in MMU, and it reached speeds of up to 50 MHz. It was used in the Apple Macintosh II, in the NeXT Cube, the Atari TT and Falcon, some Amigas and Unix workstations.


The years later, in 1990, the Motorola 68040 was released, it featured an on-chip FPU, larger on-chip caches (2* 4kb), it was fully pipelined and offered speeds of up to 40 MHz. It was used in the Apple Quadra computers, in the Amiga 4000 and in some NeXT workstations. The 68040's FPU was incapable of IEEE transcendental functions, the processor had a lot of heat problems and it didn't scale well, finally it was impossible to clock it higher than 40 MHz and a planned 50 MHz upgrade had to be cancelled.


The Motorola 68060 was released in 1994, it was a completely new superscalar design that addad a second integer pipeline, a two cycle integer multiplication unit, a faster FPU, and branch prediction logic, making it 2 to 3 times faster than a 68040 at the same clockrate. It was released at 50 MHz, later upgrades even offered 66 and 75 MHz.


The 68060 was the last 68k chip ever developed, as Motorola abandoned the architecture in favour of the PowerPC RISC processor. It was used in some third party accelerator boards, but Apple didn't use it as they wanted to push the PowerPC and Unix workstations had already switched to RISC designs such as MIPS, SPARC or Alpha AXP for example.

Today, the Motorola 68k architecture isn't used as CPU in computers and workstations anymore, but the architecture has survived as core of embedded processors such as the Motorola ColdFire and DragonBall.