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 be ...
s (FPUs) used in some computer systems in conjunction with Motorola's 32-bit
68020 The Motorola 68020 ("''sixty-eight-oh-twenty''", "''sixty-eight-oh-two-oh''" or "''six-eight-oh-two-oh''") is a 32-bit microprocessor from Motorola, released in 1984. A lower-cost version was also made available, known as the 68EC020. In keepi ...
or
68030 The Motorola 68030 ("''sixty-eight-oh-thirty''") is a 32-bit microprocessor in the Motorola 68000 family. It was released in 1987. The 68030 was the successor to the Motorola 68020, and was followed by the Motorola 68040. In keeping with gener ...
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 opcodes 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, he ...
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 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, ...
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, t ...
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, Sharp X68000,
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 Convergent Technologies was an American computer company formed by a small group of people who left Intel Corporation and Xerox PARC in 1979. Among the founders were CEO Allen Michels, VP Engineering Bob Garrow, head of marketing Kal Hubler, an ...
MightyFrame,
Atari Mega STE The Atari Mega STE is Atari Corporation's final personal computer in the Atari ST series. Released in 1991, the MEGA STE is a late-model Motorola 68000-based STE mounted in the case of an Atari TT computer. Description The MEGA STE is based on ST ...
, 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.


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 me ...
* 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 na ...
, 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