From Kick Off World of Soccer - wikickoff
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 40 MHz 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 4 kilobytes 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. For information on Motorola's multiprocessing model with the 680x0 series, see Motorola 68020. The FPU in the 68040 was thus made incapable of IEEE transcendental functions, which had been supported by both the 68881 and 68882 and were used by the popular fractal generating software of the time and little else. The Motorola floating point support package (FPSP) emulated these instructions in software under interrupt. As this was an exception handler, over-use of the transcendental functions caused severe performance penalties.
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 40 MHz. A 50 MHz 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 16 MHz and 20 MHz parts were never qualified (XC designation) and used as prototyping samples. 25 and 33 MHz grades featured across the whole line, but the 40 MHz grade was only for the 'full' 68040. A planned 50 MHz grade was cancelled after it exceeded the thermal design envelope.
For more information on the instructions and architecture, see Motorola 68000.