Motorola 68881
Motorola MC68881 (numit Motorola 68881 sau 68881) este un FPU utilizabil de Motorola 68020 și Motorola 68030 CPU - uri prin intermediul lor coprocessor interfață și ca un periferic pe Motorola 68000 , Motorola 68010 și Motorola 68012 procesoare. Adăugarea unui 68881 a crescut substanțial costul computerului, dar a adăugat o FPU capabilă de matematică rapidă în virgulă mobilă . La acea vreme, acest lucru era util în principal pentru software matematic și științific.
Prezentare generală
CPU-urile 68020 și 68030 au fost proiectate cu o unitate 68881 una lângă alta. Setul lor de instrucțiuni rezervat așa-numitele instrucțiuni „linie F” - adică toate codurile opc care încep cu cifra hexagonală „F” au fost neutilizate și au provocat unele excepții, ușor de gestionat de sistemul de operare al computerului. Dacă ar exista o unitate 68881 în sistem, CPU l-ar folosi pentru a executa instrucțiunea. În caz contrar, ar fi aruncat o excepție, capturată de sistemul de operare, care ar fi putut fi chemat fie un emulator FPU pentru a executa instrucțiunea, fie ar fi returnat o eroare programului.
68881 avea opt registre de date pe 80 de biți. A gestionat șapte moduri diferite de reprezentare a numerelor, inclusiv precizie simplă, precizie dublă și precizie extinsă, definite de standardul IEEE 754 (rev.10). A fost conceput special pentru aritmetica în virgulă mobilă și nu era un procesor complet. De exemplu, dacă o instrucțiune necesită calcularea unei adrese, CPU-ul primar o va prelua înainte de a trece controlul la 68881.
Perechea CPU / FPU a fost proiectată astfel încât ambele unități să poată funcționa simultan. Când CPU-ul a întâmpinat o instrucțiune din 68881, i-ar transmite toate operanzii necesari pentru acea instrucțiune, iar apoi FPU ar lăsa CPU-ul liber pentru a continua cu execuția următoarei instrucțiuni.
Motorola 68882 a fost o evolutie a 68881, caracterizată printr -o mai bună înlănțuire , și , dacă este necesar , disponibil la un mai mare ceas . Setul său de instrucțiuni era identic cu cel al modelului 68881. Motorola a susținut în unele reclame că 68882 a fost capabil să execute unele instrucțiuni cu 40% mai rapid decât un 68881 la aceeași rată de ceas, dar această afirmație nu reflecta performanța tipică.
Principalele computere echipate cu 68881 sau 68882 FPU au fost Sun Microsystems Sun 3 , familia Macintosh II a computerelor Apple și Amiga 3000 a Commodore . Unele produse de la terți pentru Amiga au folosit 68881/2 ca dispozitiv cartografiat cu memorie pentru 68000 .
Când a fost introdus Motorola 68040 , acesta a inclus unitatea FPU intern. Majoritatea instrucțiunilor și modurilor numerice ale modelului 68881 au fost acceptate în hardware, dar unele dintre ele au fost emulate de software.
Statistici
68881
- 155.000 tranzistori interni
- Viteza la 16 MHz: 160k FLOPS
- Viteza de 20 MHz: 192 kFLOPS
- Viteza de 25 MHz: 240 kFLOPS
68882
- 176.000 tranzistori interni
- Viteza de 25 MHz: 264 kFLOPS
- Viteza de 33 MHz: 352 kFLOPS
- Viteza de 40 MHz: 422 kFLOPS
- Viteza de 50 MHz: 528 kFLOPS
68040
- Viteza FPU de 25 MHz: 3.500 MFLOPS
- Viteza FPU de 33 MHz: 4.662 MFLOPS
- Viteza FPU de 40 MHz: 5.600 MFLOPS
Aceste date provin de la (EN) FAQ comp.sys.m68k . Nu există date pentru versiunile de 16 MHz și 20 MHz ale modelului 68882, deși aceste cipuri au fost de fapt produse.
Referințe
- (RO) Motorola MC68000 Family Programmer's Reference Manual (PDF) pe freescale.com. Adus la 3 iunie 2007 (arhivat din original la 24 septembrie 2015) .
- (RO) din comp.sys.m68k FAQ pe esacademy.com.
Controlul autorității | LCCN ( EN ) sh88005905 |
---|