Motorola 68881
De Motorola 68881 en Motorola 68882 waren computerchips voor zwevendekommagetalbewerkingen ofwel Floating Point Units (FPU) in de 68000-familie van de Amerikaanse elektronicaproducent Motorola, waarvan de halfgeleidertak in 2004 werd verzelfstandigd als Freescale Semiconductor. Men kon ze gebruiken als coprocessor samen met een hoofdprocessor uit de derde generatie processoren in de 68000-familie, namelijk de 68020 en 68030. De 68882 was een qua prestaties verbeterde versie van de 68881. Met de integratie van de FPU in de vierde-generatie 68040 kwam een einde aan het gebruik van een externe FPU.

Overzicht

Motorola ontwierp de 68020- en 68030-microprocessoren zodanig dat ze samen met de 68881 kon worden gebruikt. In de instructieset van de processoren was er een set van opcodes gereserveerd met die begonnen met de hexadecimale "F". Bij het uitvoeren van een dergelijke instructie ontstaat er een interrupt, welke in geval van de aanwezigheid van de externe FPU-coprocessor leidt tot uitvoering van de berekening door die FPU. Indien de FPU niet aanwezig is moet de berekening in software gebeuren, ofwel resulteren in een foutmelding.

Architectuur
De 68881 bevatte acht 80-bit gegevensregisters, welke zeven verschillende getalrepresentaties toelieten. Dit omvatte onder andere enkele precisie, dubbele precisie en uitgebreide precisie, zoals beschreven in de IEEE-standaard voor vlottende-komma, IEEE 754-1985. Het gezamenlijk ontwerp van hoofdprocessor en FPU was zodanig dat de hoofdprocessor en de FPU gelijktijdig konden werken.

Motorola 68882
De 68882 was een verbeterde versie van de 68881, met een identieke instructieset maar een verbeterde pipelining. Hij was tevens beschikbaar op hogere kloksnelheden.

Toepassing
De 68881 of 68882 vond toepassing in verschillende systemen, zoals de Sun-3 van Sun Microsystems, de Macintosh II van Apple, sommige systemen van Atari en de Commodore Amiga 3000.

Integratie
Met de introductie in 1990 van de derde generatie van de 68000-familie, de 68040, integreerde Motorola de FPU met de hoofdprocessor, net zoals concurrent Intel dat deed op zijn 80486. De 68040 moest echter een aantal instructies, de zogenaamde transcedente functies zoals machtsverheffen en trigonometrische bewerkingen, wegens technologische beperkingen nog in software emuleren.

Complexiteit en prestaties

68881
 155.000 transistoren
 16 MHz-versie: 160 KFLOPS
 20 MHz-versie: 192 KFLOPS
 25 MHz-versie: 240 KFLOPS

68882
 176.000 transistoren
 25 MHz-versie: 264 KFLOPS
 33 MHz-versie: 352 KFLOPS
 40 MHz-versie: 422 KFLOPS
 50 MHz-versie: 528 KFLOPS

68040
 25 MHz-FPU: 3.500 MFLOPS
 33 MHz-FPU: 4.662 MFLOPS
 40 MHz FPU: 5.600 MFLOPS

Externe links
 Referentiehandleiding Motorola MC68000
 comp.sys.m68k FAQ

Motorola-processor