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). In keeping with general Motorola naming, the 68040 is often referred to as simply the 040. 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 was 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.
For more information on the instructions and architecture, see Motorola 68000.
References
This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.