Motorola 68881


Una FPU Motorola 68881 FPU

The Motorola 68881 was a mathematical coprocessor that was used in some computer systems that used the CPU 68020 or 68030. The addition of the 68881 chip substantially increased the cost of the computer, but having a dedicated floating point unit (FPU) enabled perform mathematical calculations in a floating point much more quickly. At the time of commercialization of 68881, this is useful mainly for scientific and mathematical applications. General description

The 68020 and 68030j processors were designed with a separate 68881 chip in mind. Their sets of instructions reserved the "F-line" instructions, that is, the opcodes beginning with the hexadecimal digit 0xF were "traps" that generated an interruption, yielding control to the operating system of the computer. If a 68881 was present on the system, the CPU allowed it to execute the instruction. If not, the operating system could either call an FPU emulator to execute the instruction using integer code 68020, or return an error code to the program.

The 68881 had 80-bit data records. It allowed seven different modes of numerical representation, including simple precision, double precision and extended precision, as defined by the IEEE standard for floating-point arithmetic (IEEE 754). It was designed specifically for floating-point arithmetic and was therefore not a general-purpose processor. For example, when an instruction required any address calculation, the main processor had to prepare it before giving the control to 68881.

The processor and coprocessor pair were designed so that both would run in parallel: when the CPU encountered a 68881 instruction, all the necessary operands were passed to the FPU, and then the FPU freed the CPU to continue executing the next instruction .

The Motorola 68882 was an upgraded version of the 68881, with improved pipelining and available at higher clock speeds. Its set of instructions was the same as that of the 68881. Motorola claimed in some commercial documentation that it executed certain instructions 40% faster than a 68881 at the same clock speed, although this did not reflect the typical performance at all. p>

Notable computers that included a 68881 or 68882 are Sun 3 from Sun Microsystems, Apple Computer's Macintosh II family and the Commodore Amiga 3000. Some Amiga-licensed products used the 68881/2 as a 68000 memory-mapped peripheral .

When the Motorola 68040 was introduced, its design already included the FPU internally. Most instructions and numerical rendering modes on the 68881 were supported on hardware, but some were not, so they were emulated in software.

wiki

Popular Posts