RETRODREAMSAMIGA & SPECTRUM
Menu

← All chips

68040.chip

PGA-179 · MC68040RC25 · drawing, not a photo

Motorola 68000Motorola

1990

Motorola 68040

Maths, memory and caches on a single chip, and heat that demands respect.

Announced in January 1990, the 68040 was the first in the family to put floating point, memory management and 8 KB of cache on the same chip. It is the processor of the Amiga 4000/040, the Macintosh Quadra and the best-known NeXT machines.

bits inside
32
bus bits
32
MHz at most
40
transistors
1,200,000
addressable
4 GB

The answer to the 486

Motorola showed the 68040 in April 1989, announced it in January 1990 and began shipping it in small quantities at the end of that year, at 795 dollars each. On the other side was the Intel 486, which also brought floating point onto the processor.

Motorola claimed more than four times the per-cycle performance of the 68020 and 68030. Independent measurements showed more modest gains, but the leap was a big one.

Inside

It has about 1.2 million transistors, more than four times the 68030. The pipeline has six stages, and there are two 4 KB caches, one for instructions and one for data, each with its own MMU: sixteen times more cache than the 68030.

It was the first in the family with the floating-point unit on the chip itself. But it doesn't carry every instruction of the 68881 and 68882: the transcendental functions, such as sine, cosine and logarithms, are missing. When a program uses them, the processor raises an exception and a Motorola software package, the FPSP, does the sum. It works, but it is slow if the program relies heavily on them.

32-bit data and address buses, 4 GB. The official clocks were 25, 33 and 40 MHz; the 16 and 20 MHz versions never got beyond samples. The chip needs two clocks, one of them at twice the bus frequency. It comes in a 179-pin ceramic PGA or a 184-pin QFP.

68LC040 and 68EC040

The 68LC040 is the 68040 without the floating-point unit, but with the MMU. The 68EC040 has neither. They are cheaper and run cooler.

Some masks (manufacturing revisions) of the 68LC040 have a defect that stops them working properly with a software floating-point emulator: the program meant to imitate the missing FPU ends up failing. Parts with mask 2E71M or later, introduced in mid-1995, no longer have the problem.

Where it was used

At Apple, it was in almost the whole Quadra range; the 40 MHz version only appeared in the Quadra 840AV. It was in the later NeXT machines and in HP 9000 series 400 workstations.

It has flown, too: it is in the flight management computers of many Boeing 737s, including the Next Generation and MAX versions, and in the flight control system of the Swedish Saab JAS 39 Gripen fighter.

In the Amiga

The A4000/040, from 1992, had a 68040 at 25 MHz on the A3640 processor card. The A4000T, the tower, also shipped with a 68040 at 25 MHz. Since the processor sits on a separate card, swapping it for an accelerator is simple.

AmigaOS needs 68040.library to handle the instructions the 68040 doesn't have in hardware. Without it, programs that use floating point may crash.

For the A1200 and the A2000 there were accelerators with the 68040 and 68LC040. Heat was always a problem: Motorola even planned a 50 MHz version, but cancelled it because it ran too hot.

Did you know…

  1. The 50 MHz 68040 never existed: Motorola cancelled it because it exceeded the chip's thermal limit.

  2. It is often said that the 68040 lost to the 486 because it couldn't climb in clock speed without overheating, while Intel kept climbing and making versions for laptops.

  3. There are 68040s flying: the flight management computers of many Boeing 737s use one.

  4. The FPSP, Motorola's package that completes the 68040's FPU, is the same kind of solution that 68040.library provides in AmigaOS.

  5. Launched at 795 dollars, the 68040 dropped to 595 dollars for volume orders.

  6. Between the two 4 KB caches and the 68030, the difference in size is sixteenfold.

Where it's found