Intel 8087

Da Wikipedia, l'enciclopedia libera.
Intel 8087
Central processing unit
Intel C8087.jpg
Un coprocessore matematico Intel 8087
Prodotto 1980
Produttore Intel, AMD, Cyrix
Frequenza CPU MHz / 10 MHz
Set di istruzioni x87
Package 40 pin DIP

L'Intel 8087 fu il primo coprocessore matematico prodotto dalla Intel, e fu progettato per essere utilizzato insieme all'Intel 8088 e all'8086.[1] Lo scopo dell'8087 era di accelerare i calcoli in virgola mobile: la velocità di calcolo aumentava dal 20% al 500% a seconda dell'applicazione specifica. Fu prodotto inizialmente con clock di 5 MHz, e successivamente portato ad 8 MHz (modello 8087-2) e 10 MHz (modello 8087-1).[2]

Questo coprocessore aggiungeva circa 60 nuove istruzioni disponibile al programmatore, il set x87, il cui codice mnemonico iniziava per "F" per distinguerle dalle istruzioni standard per gli interi dell'8086/88, e i cui opcodes iniziavano tutti con i cinque bit "11011": oltre a divisione, somma e moltiplicazione l'8087 poteva calcolare radici quadrate, tangenti ed elevamenti a potenza. Poteva operare anche con interi, sebbene molto più lentamente.

L'interfaccia fra l'8087 e il processore principale 8086/8088 era, in pratica, una "non interfaccia": l'8087 condivideva gli stessi bus dati, indirizzi e segnali della CPU e duplicava internamente tutta la logica di decodifica delle istruzioni dell'8086. Quindi leggeva le istruzioni caricate dal processore principale finché non riconosceva una istruzione in virgola mobile (compito facile, vista la particolarità dei suoi opcodes): allora l'8086 si fermava e subentrava l'8087, che a operazione finita accedeva alla memoria (se necessario) e poi segnalava al processore principale di ripartire.

L'8087 (e tutti i suoi successori) non fornisce un insieme di registri utilizzabili liberamente, ma offre uno stack di 8 registri da 80 bit che vanno da ST0 a ST7, e tutte le istruzioni operano implicitamente su ST0, la cima dello stack, se non altrimenti specificato: per questo motivo le istruzioni del coprocessore non hanno quasi mai argomenti. I risultati dei calcoli vengono salvati in memoria effettuando push e pop dei valori di questo stack.

Quando la Intel progettò l'8087 puntava a creare un formato standard per i futuri progetti. In effetti, una delle caratteristiche di maggior successo di questo coprocessore fu l'introduzione di uno dei primi standard per i PC x86: il formato in virgola mobile IEEE 754. L'8087 forniva due tipi base di tipi di dati a virgola mobile: singola precisione a 32 e doppia precisione a 64 bit, anche se internamente tutti i dati venivano silenziosamente portati a 80 bit per aumentare la precisione sui calcoli complessi. Inoltre l'8087 forniva un formato BCD a 80 bit e dati interi a 16, 32 e 64 bit.

L'8087, annunciato nel 1980, fu affiancato da nuove versioni per i successivi modelli di CPU: prima l'80287, poi l'80387DX/SX. L'Intel 80486, il Pentium e tutte le CPU successive inclusero un coprocessore matematico direttamente nel proprio core ponendo fine, di fatto, all'era dei coprocessori matematici esterni. L'Intel 486SX era una CPU con la FPU disabilitata, ed era possibile affiancarla a un 487.

Essendo un componente relativamente costoso, e al tempo stesso non necessario a tutti gli utilizzatori dei personal computer del tempo, i costruttori prevedevano sulla scheda madre uno zoccolo vuoto, atto all'inserimento del coprocessore, fornito come opzione, all'eventuale cliente che ne avesse fatto richiesta.

Note[modifica | modifica wikitesto]

  1. ^ Intel 8087, CPU-World.com. URL consultato il 02/04/2013.
  2. ^ Intel 8087, CPU Museo. URL consultato il 02/04/2013.

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Elenco dei processori Intel
Famiglia 4 bit/8 bit: 4004 | 4040 | 8008 | 8080 | 8085     Famiglia 16 bit: 8086 | 8088 | 80186 | 80188 | 80286 Intel-logo.svg
Famiglia IA-32: 80386 | 80486 | RapidCAD | OverDrive
Gamma Pentium: Pentium | Pentium Pro | Pentium II | Celeron | Pentium III | Pentium III-M | Pentium 4 | Pentium 4-M | Mobile Pentium 4 | Pentium 4 EE | Celeron D | Pentium D | Pentium EE
Processori Mobile: Pentium M | Celeron M | Core Duo | Core Solo
Gamma Core: Core 2 Duo | Core 2 Quad | Core 2 Extreme
Gamma Nehalem: Core i3 | Core i5 | Core i7 | Core i7 Extreme
Processori per Server: Xeon

Famiglia IA-64: Itanium | Itanium 2
Non x86 compatibili: Intel iAPX 432 | Intel i860 | Intel i960

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica