Motorola 68040

In keeping with general Motorola naming, the 68040 is often referred to as simply the '040 (pronounced oh-four-oh or oh-forty).

It thus included all of the functionality that previously required external chips, namely the FPU and Memory Management Unit (MMU), which was added in the 68030.

The 68040 processor is used in the flight management computers (FMC) aboard many Boeing 737 aircraft, including all Next Generation and MAX models.

The FPU in the 68040 was 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, heavy use of the transcendental functions caused severe performance penalties.

Although the CPU now fits into a feature chart more like the Motorola 68030, it continues to include the 68040's caches and pipeline and is thus significantly faster than the 68030.

Some mask revisions of the 68LC040 contained a bug that prevents the chip from operating correctly when a software FPU emulator is used.

This means that the only way to use software that requires floating-point functionality is to replace the buggy 68LC040 with a later revision, or a full 68040.

A Motorola 68040 microprocessor
Motorola 68040 die shot with FPU on the left
Die of a Motorola 68LC040