| Fabricant | Motorola |
|---|
| Fréquence | 16 Mhz à 50 Mhz |
|---|
| Nombre de transistors |
155000 (68881) 176000 (68882) |
|---|---|
| Cœur | - |
Le Motorola 68881 est un coprocesseur mathématique destiné à travailler en complément à la famille de microprocesseurs m68k de Motorola.
Le Motorola 68882 est une version améliorée du 68881, mais tout à fait compatible pour le reste.
Les 68881 et 68882 ont été utilisés comme coprocesseurs optionnels dans beaucoup de modèles d'Atari, d'Amiga, de Macintosh.

Le Motorola 68881 connaît quatre formats de nombre :
| Bits | Description |
|---|---|
| 95 | signe |
| 94-80 | exposant |
| 79-64 | toujours à zéro |
| 63-0 | mantisse |
| Bits | Description |
|---|---|
| 63 | signe |
| 62-52 | exposant |
| 51-0 | mantisse |
| Bits | Description |
|---|---|
| 31 | signe |
| 30-23 | exposant |
| 22-0 | mantisse |
| Bits | Description |
|---|---|
| 95 | signe de la mantisse |
| 94 | signe de l'exposant |
| 93-92 | 00, ou NAN ou infini si 11 |
| 91-80 | les trois chiffres décimaux les moins significatifs de l'exposant |
| 79-76 | le chiffre décimal le plus significatif de l'exposant mantisse |
| 75-68 | pas tenu en compte |
| 67-64 | le chiffre le plus significatif de la mantisse |
| 63-0 | mantisse |
Ses 8 registres de données (de FP0 à FP7) ont une largeur de 10 octets (80 bits), bien que la taille d'un réel de précision étendue puisse s'étendre sur 12 octets.
Il possède en outre 3 registres de contrôle :
| Bits | Champ | Description |
|---|---|---|
| 3-0 | ? | zéro |
| 5-4 | ROUND | méthode d'arrondissement 00 : au plus proche 01 : zéro 10 : moins l'infini 11 : plus l'infini |
| 7-6 | PREC | précision de l'arrondissement 00 : étendu 01 : simple 10 : double 11 : réservé |
| 8 | INEX1 | sortie décimale inexacte |
| 9 | INEX2 | opération inexacte |
| 10 | DZ | division par zéro |
| 11 | UNFL | underflow |
| 12 | OVFL | overflow |
| 13 | OPERR | erreur d'opérande |
| 14 | SNAN | signal Not-A-Number |
| 15 | BSUN | Branch/Set in UNorderd |
| Bits | Description |
|---|---|
| 7-0 | exception accrue |
| 2-0 | toujours à zéro |
| 3 | INEX!INEX2!OVFL |
| 4 | DZ |
| 5 | UNFL & INEX2 |
| 6 | OVFL |
| 7 | BSUN!SNAN!OPERR |
| 15-8 | statut des exceptions |
| 8 | INEX1 : sortie décimale inexacte |
| 9 | INEX2 : opération inexacte |
| 10 | DZ : division par zéro |
| 11 | UNFL : underflow |
| 12 | OVFL : overflow |
| 13 | OPERR : erreur d'opérande |
| 14 | SNAN : signal Not-A-Number |
| 15 | BSUN : Branch/Set in UNorderd |
| 23 | signe d'un quotient |
| 22-17 | quotient |
| 24 | NAN : Not A Number |
| 25 | I : infini |
| 26 | Z : zéro |
| 27 | N : négatif |
| 31-28 | zéro |
FPIAR (Floating Point Instruction Address Register) est le registre d'adresse de l'instruction en cours.