All Topics  
Motorola 68040

 
Motorola 68040

   Email Print
   Bookmark   Link






 

Motorola 68040



 
 
The Motorola 68040 is a microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
 from Motorola
Motorola

Motorola, Inc. is an United States, multinational, Fortune 100, telecommunications company based in Schaumburg, Illinois. It is a manufacturer of wireless telephone handsets, also designing and selling wireless network infrastructure equipment such as cellular transmission base stations and signal amplifiers....
, 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 Quadra
Macintosh Quadra

The Macintosh Quadra series was Apple Computer's product family of professional high-end Apple Macintosh personal computers built using the Motorola 68040 central processing unit....
s.






Discussion
Ask a question about 'Motorola 68040'
Start a new discussion about 'Motorola 68040'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The Motorola 68040 is a microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
 from Motorola
Motorola

Motorola, Inc. is an United States, multinational, Fortune 100, telecommunications company based in Schaumburg, Illinois. It is a manufacturer of wireless telephone handsets, also designing and selling wireless network infrastructure equipment such as cellular transmission base stations and signal amplifiers....
, 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 Quadra
Macintosh Quadra

The Macintosh Quadra series was Apple Computer's product family of professional high-end Apple Macintosh personal computers built using the Motorola 68040 central processing unit....
s. 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
Macintosh Centris

Macintosh Centris was a set of three 1993 Apple Macintosh models that were built around the Motorola 68LC040 and Motorola 68040 CPUs. The name was chosen to indicate that the consumer was selecting a Macintosh in the center of Apple's product line: lower performance than the Macintosh Quadra computers, but higher performance than th...
 also used the 68040, while the cheaper Centris and Performas
Macintosh Performa

The Macintosh Performa series was Apple Computer's consumer product family of Apple Macintosh personal computers from 1992 until 1997, when the introduction of the Power Macintosh 5x00 series ended this product line....
 used the 68LC040. The 68040 was also used in other personal computers such as the Amiga 4000
Amiga 4000

The Commodore International Amiga 4000, or A4000, was the successor of the Amiga 2000 and Amiga 3000 computers. There are two models, the A4000/040 released in October 1992 with a Motorola 68040 Central processing unit, and the A4000/030 released in April 1993 with a Motorola 68EC030....
 and Amiga 4000T
Amiga 4000T

The Amiga 4000T, also known as A4000T, was a tower version of the Amiga 4000 computer. Using the Advanced Graphics Architecture chipset, it was originally released in small quantities in 1994 with a 25 MHz Motorola 68040 CPU, and rereleased in greater numbers after Commodore's demise by Escom in 1995, along with a new variant whic...
, as well as a number of Workstation
Workstation

A workstation is a high-end microcomputer designed for technical or scientific applications. Intended primarily to be used by one person at a time, they are commonly connected to a local area network and run multi-user operating systems....
s and later versions of the NeXT
NeXT

NeXT, Inc. was an American computer company headquartered in Redwood City, California, California, that developed and manufactured a series of computer workstations intended for the higher education and business markets....
 computers.

The 68040 is the first 680x0 family member with an on-chip FPU
Floating point unit

A floating-point unit is a part of a computer system specially designed to carry out operations on floating point numbers. Typical operations are addition, subtraction, multiplication, division , and square root....
 (floating point unit). It thus includes all of the functionality that previously required external chips, namely the FPU and MMU
Memory management unit

A memory management unit , sometimes called paged memory management unit , is a computer hardware component responsible for handling accesses to computer memory requested by the central processing unit ....
 (which was added in the 030). It also has split instruction and data caches of 4 kilobyte
Kilobyte

Kilobyte is a unit of Computer data storage equal to either 1,024 bytes or 1,000 bytes , depending on context.It is abbreviated in a number of ways: KB, kB, K and Kbyte....
s each. It is fully pipelined
Instruction pipeline

File:5 Stage Pipeline.svgAn instruction pipeline is a technique used in the design of computers and other digital electronic devices to increase their instruction throughput ....
, 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
Motorola 68881

The Motorola 68881 was a floating-point coprocessor computer chip that was utilized in some computer systems that used the Motorola 68020 or Motorola 68030 central processing unit....
 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
Motorola 68020

The Motorola 68020 is a 32-bit microprocessor from Motorola, released in 1984. It is the successor to the Motorola 68010 and is succeeded by the Motorola 68030....
.) The FPU in the 68040 was thus made incapable of IEEE transcendental function
Transcendental function

A transcendental function is a function that does not satisfy a polynomial equation whose coefficients are themselves polynomials, in contrast to an algebraic function, which does satisfy such an equation....
s, 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
Motorola 68000

The Motorola 68000 is a 16/32-bit Complex instruction set computer microprocessor core designed and marketed by Freescale Semiconductor ....
.

Variants


68EC040

The 68EC040 is a version of the Motorola 68040 microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
 intended for embedded controllers. It differs from the 68040 in that it has no FPU
Floating point unit

A floating-point unit is a part of a computer system specially designed to carry out operations on floating point numbers. Typical operations are addition, subtraction, multiplication, division , and square root....
 or MMU
Memory management unit

A memory management unit , sometimes called paged memory management unit , is a computer hardware component responsible for handling accesses to computer memory requested by the central processing unit ....
. This makes it less expensive and draw less power.

68LC040

The 68LC040 is a low cost version of the Motorola 68040 microprocessor
Microprocessor

A microprocessor incorporates most or all of the functions of a central processing unit on a single integrated circuit . The first microprocessors emerged in the early 1970s and were used for electronic calculators, using Binary-coded decimal arithmetic on 4-bit Word ....
 with no FPU
Floating point unit

A floating-point unit is a part of a computer system specially designed to carry out operations on floating point numbers. Typical operations are addition, subtraction, multiplication, division , and square root....
. 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 cache
Cache

In computer science, a cache is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive to fetch or to compute, compared to the cost of reading the cache....
s and pipeline and is thus significantly faster than the 020.

Some mask
Mask (computing)

In computer science, a mask is data that is used for bitwise operations.Using a mask, multiple bits in a byte, nibble, word can be set either on, off or inverted from on to off in a single bitwise operation....
 revisions of the 68LC040 contained a bug
Software bug

A software bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from behaving as intended . Most bugs arise from mistakes and errors made by people in either a program's source code or its software architecture, and a few are caused by compilers producing incorrect code....
 which prevents various software FPU emulator
Emulator

An emulator duplicates the functions of one system using a different system, so that the second system behaves like the first system. This focus on exact reproduction of external behavior is in contrast to some other forms of computer simulation, which can concern an abstract model of the system being simulated....
s 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
Instruction (computer science)

In computer science, an instruction is a single operation of a central processing unit defined by an instruction set architecture. In a broader sense, an "instruction" may be any representation of an element of an executable program, such as a bytecode....
 which would trigger an exception
Exception handling

Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions - special conditions that change the normal flow of execution....
 resides at the end of a page, and the next page is swapped out. In that case, the CPU will page fault
Page fault

In computer storage technology, a page is a fixed-length block of memory that is used as a unit of transfer between physical memory and external storage like a hard disk, and a page fault is an interrupt to the software raised by the hardware, when a program accesses a page that is mapped in address space, but not loaded in physical memory....
 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