HOME

TheInfoList



OR:

The Motorola 68881 and Motorola 68882 are
floating-point unit In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can b ...
s (FPUs) used in some computer systems in conjunction with Motorola's 32-bit 68020 or 68030 microprocessors. These coprocessors are external chips, designed before floating point math became standard on CPUs. The Motorola 68881 was introduced in 1984. The 68882 is a higher performance version produced later.


Overview

The 68020 and 68030 CPUs were designed with the separate 68881 chip in mind. Their instruction sets reserved the "F-line" instructions – that is, all
opcode In computing, an opcode (abbreviated from operation code, also known as instruction machine code, instruction code, instruction syllable, instruction parcel or opstring) is the portion of a machine language instruction that specifies the opera ...
s beginning with the
hexadecimal In mathematics and computing, the hexadecimal (also base-16 or simply hex) numeral system is a positional numeral system that represents numbers using a radix (base) of 16. Unlike the decimal system representing numbers using 10 symbols, h ...
digit "F" could either be forwarded to an external coprocessor or be used as "traps" which would throw an exception, handing control to the computer's
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
. If an FPU is not present in the system, the OS would then either call an FPU
emulator In computing, an emulator is hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run software or use peri ...
to execute the instruction's equivalent using 68020 integer-based software code, return an error to the program, terminate the program, or crash and require a reboot.


Architecture

The 68881 has eight 80-bit data registers 3] (a 64-bit mantissa plus a sign bit, and a 15-bit signed exponent). It allows seven different modes of numeric representation, including single-precision, double-precision, and extended-precision, as defined by the IEEE floating-point standard, IEEE 754. It was designed specifically for floating-point math and is not a general-purpose CPU. For example, when an instruction requires any address calculations, the main CPU handles them before the 68881 takes control. The CPU/FPU pair are designed such that both can run at the same time. When the CPU encounters a 68881 instruction, it hands the FPU all operands needed for that instruction, and then the FPU releases the CPU to go on and execute the next instruction.


68882

The 68882 is an improved version of the 68881, with better instruction pipelining, pipelining, and eventually available at higher clock speeds. Its instruction set is exactly the same. Motorola claimed in some marketing literature that it executes some instructions 40% faster than a 68881 at the same clock speed, though this did not reflect typical performance, as seen by its more modest improvement in the table below. The 68882 is pin compatible with the 68881 and can be used as a direct replacement in most systems. The most important software incompatibility is that the 68882 uses a larger FSAVE state frame, which affects
UNIX Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
and other preemptive multitasking OSes that had to be modified to allocate more space for it.


Usage

The 68881 or 68882 were used in the
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, ...
Sun-3 workstations, IBM RT PC workstations,
Apple Computer Apple Inc. is an American multinational technology company headquartered in Cupertino, California, United States. Apple is the largest technology company by revenue (totaling in 2021) and, as of June 2022, is the world's biggest company ...
Macintosh II The Macintosh II is a personal computer designed, manufactured, and sold by Apple Computer from March 1987 to January 1990. Based on the Motorola 68020 32-bit CPU, it is the first Macintosh supporting color graphics. When introduced, a basic s ...
family,
NeXT Computer NeXT Computer (also called the NeXT Computer System) is a workstation computer that was developed, marketed, and sold by NeXT Inc. It was introduced in October 1988 as the company's first and flagship product, at a price of , aimed at the hig ...
, Sharp
X68000 The is a home computer created by Sharp Corporation. It was first released in 1987 and sold only in Japan. The initial model has a 10 MHz Motorola 68000 CPU, 1 MB of RAM, and lacks a hard drive. The final model was released in 1993 with ...
,
Amiga 3000 The Commodore Amiga 3000, or A3000, is a personal computer released by Commodore in June 1990. It features improved processing speed, improved graphics rendering, and a new revision of the operating system. It is the successor to the Amiga 2000 ...
, Convergent Technologies MightyFrame, Atari Mega STE, TT, and
Falcon Falcons () are birds of prey in the genus ''Falco'', which includes about 40 species. Falcons are widely distributed on all continents of the world except Antarctica, though closely related raptors did occur there in the Eocene. Adult falcons ...
. Some third-party Amiga and Atari products used the 68881 or 68882 as a memory-mapped peripheral to the
68000 The Motorola 68000 (sometimes shortened to Motorola 68k or m68k and usually pronounced "sixty-eight-thousand") is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Secto ...
.


Versions


68881

* 155 000 transistors on-chip * 12 MHz version * 16 MHz version ran at 160 k
FLOPS In computing, floating point operations per second (FLOPS, flops or flop/s) is a measure of computer performance, useful in fields of scientific computations that require floating-point calculations. For such cases, it is a more accurate mea ...
* 20 MHz version ran at 192 kFLOPS * 25 MHz version ran at 240 kFLOPS


68882

* 176 000 transistors on-chip * 25 MHz version ran at 264 kFLOPS * 33 MHz version ran at 352 kFLOPS * 40 MHz version ran at 422 kFLOPS * 50 MHz version ran at 528 kFLOPS These statistics came from th
comp.sys.m68k FAQ
No statistics are listed for the 16 MHz and 20 MHz 68882, though these chips were indeed produced.


Legacy

Starting with the
Motorola 68040 The Motorola 68040 ("''sixty-eight-oh-forty''") is a 32-bit microprocessor in the Motorola 68000 series, released in 1990. It is the successor to the 68030 and is followed by the 68060, skipping the 68050. In keeping with general Motorola ...
, floating point support was included in the CPU itself.


References

;Notes
freescale.com - Motorola MC68000 Family Programmer's Reference Manualfaqs.org - comp.sys.m68k FAQ
{{Authority control Coprocessors Floating point Integrated circuits 68k architecture