Gecko's CPU Library

Motorola 68040 processors

Introduction: 1990

The Motorola 68040 is a microprocessor from Motorola, released in 1990. It is the successor to the 68030 and is followed by the 68060 (the 68050 was an abandoned project and never shipped, the 050 was to the 040 what the 030 was to the 020, a simple die shrink and cache size increase - although the 030 did incorporate a MMU, which the 020 lacked). In keeping with general Motorola naming, the 68040 is often referred to as simply the 040 (pronounced oh-forty). The stripped-down version of the 68040 that lacks the FPU is the 68LC040.

In Macintosh computers, the 68040 was found mainly in the high-end Quadras. The fastest 68040 processor was clocked at 40MHz and it was only used in the Quadra 840AV. The more expensive models in the (short-lived) mid-high Centris also used the 68040, while the cheaper Centris and Performas used the 68LC040. The 68040 was also used in other personal computers such as the Amiga 4000, as well as a number of Workstations and later versions of the NeXT computers.

The 68040 is the first 680x0 family member with an on-chip FPU (floating point unit). It thus includes all of the functionality that previously required external chips, namely the FPU and MMU (which was added in the 030). It also has split instruction and data caches of 4KB each. It is fully pipelined, with six stages.

Unfortunately the '040 ran into the transistor budget limit early in design. While the MMU did not take many transistors (indeed, having it on the same die as the CPU actually saved on transistors) the FPU certainly did. Motorola's 68882 external FPU was known as a very high performance unit and Motorola did not wish to risk integrators using the "LC" version with a 68882 rather than the more profitable full "RC" unit.

Heat was always a problem throughout the 68040's life. While it delivered over double the per-clock performance of the old-when-released 68030 the chip's complexity and power requirements came from a large die and large caches. This affected the scaling of the processor and it never made it past 40MHz. A 50MHz variant was planned, but scrapped. Proto-overclockers reported success using the then-hardcore heatsinks with fans. The 68040 had feature-parity with the Intel 80486 but outperformed it quite significantly on a clock for clock basis. However, the 80486 had the ability to be clocked significantly faster and it did not suffer from overheating problems.

Versions of the 040 were created for specific market segments, including the 68LC040 which removed the FPU, and the 68EC040 which removed both the FPU and MMU. Motorola had intended the EC variant for embedded use but embedded processors during the 68040's time needed nowhere near the power of the 040, so EC variants of the 020 and 030 continued to be common in designs.

Motorola produced several speed grades. The 16MHz and 20MHz parts were never qualified (XC designation) and used as prototyping samples. 25 and 33MHz grades featured across the whole line, but the 40MHz grade was only for the 'full' 68040. A planned 50MHz grade was cancelled after it exceeded the thermal design envelope.

Source: Wikipedia, the free encyclopedia.