miniatuur|200px|Motorola 68881 FPU 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 miniatuur|200px|Motorola 68882 FPU 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
Categorie:Motorola-processor