Motorola 68881

(Doorverwezen vanaf Motorola 68882)

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.

Motorola 68881 FPU

Overzicht bewerken

 
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 bewerken

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 bewerken

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 bewerken

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 bewerken

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 bewerken

68881 bewerken

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

68882 bewerken

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

68040 bewerken

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

Externe links bewerken