|
|
|
|
Motorola 68040
|
| |
|
| |
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 project having been abandoned.) 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.

Discussion
Ask a question about 'Motorola 68040'
Start a new discussion about 'Motorola 68040'
Answer questions from other users
|
Encyclopedia
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 project having been abandoned.) 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 and Amiga 4000T, 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 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.
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.
Variants
68EC040
The 68EC040 is a version of the Motorola 68040 microprocessor intended for embedded controllers. It differs from the 68040 in that it has no FPU or MMU. This makes it less expensive and draw less power.
68LC040
The 68LC040 is a low cost version of the Motorola 68040 microprocessor with no FPU. This makes it less expensive and draw less power. Although the CPU now fits into a feature chart more like the 68020, it continues to include the 040's caches and pipeline and is thus significantly faster than the 020.
Some mask revisions of the 68LC040 contained a bug which prevents various software FPU emulators from operating correctly.
According to Motorola's errata, any chip with a mask set 2E71M or later is OK.
These revisions are typically found in 68LC040-based Apple Macintosh computers.
Chips with mask set 2E23G (as used in the LC 475) have been confirmed to be buggy.
The bug triggers if an FPU instruction which would trigger an exception resides at the end of a page, and the next page is swapped out. In that case, the CPU will page fault with the PC pointing at that FPU instruction, and then fail to trigger the FPU exception, leading to a variety of errors.
Bibliography
External links
|
| |
|
|