# Intel 80386

L'Intel 80386 o Intel i386 (nome in codice: "P3"; abbreviazioni comuni: "Intel 386", "80386", "i386", "386") è una famiglia di microprocessori monolitici general purpose x86 prodotti da Intel tra il 1985 e il 2007.
La famiglia di microprocessori Intel i386 è stata utilizzata come CPU per personal computer principalmente tra il 1986 e il 1994. Le schede madri che supportavano i microprocessori Intel i386 erano molto complesse e costose, paragonate a quelle per i suoi predecessori, ma l'adozione su larga scala dei microprocessori Intel i386 ne favorì la diffusione.
I microprocessori della famiglia Intel i386 sono stati i primi microprocessori Intel dotati di architettura a 32 bit e modalità protetta con supporto hardware alla memoria virtuale paginata. Il successo e il basso costo di questi microprocessori permisero quindi la diffusione su personal computer dei primi sistemi operativi operanti in modalità protetta. L'Intel i386 fu anche la famiglia di microprocessori su cui nacque il kernel Linux.
Predecessore dell'Intel 80386 è stato l'Intel 80286. Successore dell'Intel 80386 è stato l'Intel 80486.

## Storia

Il primo modello della famiglia di microprocessori Intel i386 è stato presentato nell'ottobre del 1985 ma divenne possibile produrlo convenientemente solo nel 1986, quando i primi esemplari arrivarono ai consumatori.

## Descrizione

L'Intel 80386 fu una pietra miliare nell'evoluzione della serie di processori nata con l'Intel 8008: rispetto al suo predecessore, l'Intel 80286, l'80386 aveva un'architettura a 32 bit ed una unità di paginazione della memoria che rese più semplice adottare sistemi operativi dotati di gestione della memoria virtuale. Anche se successivamente la Intel sviluppò e introdusse molti altri modelli, per molto tempo nessuno di questi introdusse novità di portata analoga, fino all'impiego dell'EM64T nel 2004, in netto ritardo rispetto ad altre architetture, come ad esempio DEC Alpha, che già dal 1992 aveva il supporto per i 64 bit.
Per tali motivi si considera questo processore come il capostipite di una nuova famiglia, l'"architettura i386". L'instruction set di questa architettura è noto come IA-32. L'80386 era compatibile con i vecchi processori Intel: la maggior parte delle applicazioni che giravano sui precedenti PC dotati di processori x86 (8086 e 80286) funzionavano ancora sulle macchine 80386 e perfino più velocemente.

## Modelli principali e varianti

Il successo commerciale del primo modello di microprocessore Intel i386 portò l'Intel a sviluppare altre versioni del microprocessore in modo da coprire più segmenti del mercato.

### Modelli principali
#### Intel i386DX

L'Intel i386DX o Intel 80386DX è stato il primo modello della famiglia di microprocessori Intel i386 disponibile in commercio. Inizialmente è stato noto semplicemente come "Intel 80386": le lettere "DX" sono state aggiunte in seguito alla commercializzazione del modello Intel i386SX.

#### Intel i386SX

L'Intel i386SX o Intel 80386SX è una versione a basso costo del modello originale Intel i386DX. È stato introdotto il 16 giugno 1988. Internamente è identico all'Intel i386DX ma ha un bus dati esterno a 16 bit per semplificare la progettazione e il layout delle schede madri. Per affiancare l'Intel i386SX nei calcoli in virgola mobile venne prodotto l'Intel 80387SX, una versione ad hoc del coprocessore matematico Intel 80387.

#### Intel 80376

L'Intel 80376 è stato il primo modello della famiglia Intel 80386 destinato al mercato dei dispositivi embedded. La differenza principale dalla versione standard era che non aveva modalità reale e partiva direttamente in modalità protetta. Venne sostituito a partire dal 1994 dall'Intel i386EX, molto più versatile. La produzione dell'Intel 80376 venne interrotta nel 2001.

#### Intel i386SL

Questa versione fu pubblicata il 15 ottobre 1990, e una seconda versione a 25 MHz uscì un anno dopo. Specificamente studiato per i primi portatili 386, questo chip conteneva 855.000 transistor, tre volte quelli del 386 standard, ed integrava i controller ISA, della memoria e della cache: conteneva anche tutta la circuiteria per la gestione del consumo energetico. Aveva una speciale modalità, il SMM (System Management Mode) in cui il BIOS poteva controllare il consumo energetico ed altre funzioni senza bisogno di supporto dal sistema operativo.

#### Intel i386EX

Questa versione fu introdotta nell'agosto 1994. È esternamente a 16 bit, come il 386SX, ed è pensato per il mercato dei dispositivi embedded. Ha integrate una serie di periferiche:
* controller di interrupt;
* contatori e temporizzatori;
* logica JTAG;
* circuiti di refresh della RAM dinamica;
* Watchdog;
* Unità di I/O integrate seriale e parallelo;
* DMA.
La tensione di alimentazione è ridotta e il chip comprende anche un sistema di gestione del consumo energetico. il core 386EX è interamente in tecnologia statica, cioè può lavorare a qualsiasi frequenza di clock al di sotto di quella nominale, fino all'arresto completo. Questa versione ha avuto un successo notevole, superando di molto il predecessore 80376: è stato impiegato nell'hardware di molti satelliti e microsatelliti artificiali, e perfino nel progetto FlightLinux della NASA.

### Principali differenze

La tabella sottostante mostra le principali differenze tra i modelli di microprocessori appartenenti alla famiglia Intel i386, varianti comprese. In particolare di ogni variante viene riportato il part number, la frequenza di clock del core, l'ampiezza del bus dati esterno, il voltaggio dell'alimentazione elettrica del core (il cosiddetto "V core"), il tipo del package e il numero di piedini presenti nel package. Infine, nell'ultima colonna della tabella, viene indicato se il microprocessore è predisposto per essere montato su socket oppure è un surface mounting device.
| modello | part number | frequenza | bus dati esterno | V core | package | pin | socket/SMD |
| Intel i386DX | A80386-12 | 12 MHz | 32 bit | 5 V | CPGA | 132 | socket |
| Intel i386DX | A80386-16 A80386DX16 A80386DX-16 | 16 MHz | 32 bit | 5 V | CPGA | 132 | socket |
| Intel i386DX | MG8038616 | 16 MHz | 32 bit | | CPGA | 132 | socket |
| Intel i386DX | MG80386-16/B | 16 MHz | 32 bit | | CPGA | 132 | socket |
| Intel i386DX | A80386-20 A80386DX20 A80386DX-20 | 20 MHz | 32 bit | 5 V | CPGA | 132 | socket |
| Intel i386DX | A80386-25 A80386DX25 A80386DX-25 | 25 MHz | 32 bit | 5 V | CPGA | 132 | socket |
| Intel i386DX | TA80386DX-25 | 25 MHz | 32 bit | | CPGA | 132 | socket |
| Intel i386DX | A80386DX33 A80386DX-33 | 33 MHz | 32 bit | 5 V | CPGA | 132 | socket |
| Intel i386SX | NG80386SX16 NG80386SX-16 | 16 MHz | 16 bit | 5 V | PQFP | 100 | SMD |
| Intel i386SX | NG80386SX20 NG80386SX-20 | 20 MHz | 16 bit | 5 V | PQFP | 100 | SMD |
| Intel i386SX | NG80386SX25 NG80386SX-25 | 25 MHz | 16 bit | 5 V | PQFP | 100 | SMD |
| Intel i386SX | NG80386SX33 NG80386SX-33 | 33 MHz | 16 bit | | PQFP | 100 | SMD |
| Intel 80376 | A80376-16 | 16 MHz | 16 bit | 5 V | CPGA | 88 | socket |
| Intel 80376 | NG80376-16 | 16 MHz | 16 bit | 5 V | PQFP | 100 | SMD |
| Intel 80376 | A80376-20 | 20 MHz | 16 bit | 5 V | CPGA | 88 | socket |
| Intel 80376 | NG80376-20 | 20 MHz | 16 bit | 5 V | PQFP | 100 | SMD |
| Intel i386SL | KU80386SL-20 | 20 MHz | | | PQFP | 196 | SMD |
| Intel i386SL | KU80386SLB1A20 | 20 MHz | | | PQFP | 196 | SMD |
| Intel i386SL | KU80386SLB1C-20 | 20 MHz | | | PQFP | 196 | SMD |
| Intel i386SL | KU80386SLBA-25 | 25 MHz | | 5 V | PQFP | 132 | SMD |
| Intel i386EX | | 16 MHz | 16 bit | 3 V | | | SMD |
| Intel i386EX | | 20 MHz | 16 bit | 3,3 V | | | SMD |
| Intel i386EX | KU80386EX25 | 25 MHz | 16 bit | 5 V | PQFP | 132 | SMD |
| Intel i386EX | FA80386EX25 | 25 MHz | 16 bit | 3,3 V | TQFP | 144 | SMD |
| Intel i386EX | JA80386EX25 | 25 MHz | 16 bit | | TQFP | 144 | SMD |
| Intel i386EX | QU80386EX25 | 25 MHz | 16 bit | | PQFP | 132 | SMD |
| Intel i386EX | KU80386EX33 | 33 MHz | 16 bit | | PQFP | 132 | SMD |
| Intel i386EX | QU80386EX33 | 33 MHz | 16 bit | | PQFP | 132 | SMD |
| Intel i386CX | KD80386CX25 | 25 MHz | 16 bit | 5 V | PQFP | 100 | SMD |
| Intel i386CX | KD80386CX33 | 33 MHz | 16 bit | 5 V | PQFP | 100 | SMD |
| Intel i386CX | KD80386CX40 | 40 MHz | 16 bit | 5 V | PQFP | 100 | SMD |

## Commercializzazione

L'80386 fu il primo processore ad essere distribuito in maniera esclusiva dalla Intel: fino a quel momento ogni componente basato su semiconduttori veniva distribuito dal proprietario del progetto e da alcune aziende licenziatarie. L'esclusività di questo processore diede un grande controllo alla Intel sul suo sviluppo e garantì all'azienda crescenti profitti. Tuttavia, nel marzo 1991 la AMD, dopo aver superato alcuni ostacoli legali, introdusse il suo processore compatibile Am386, facendo così venir meno il monopolio della Intel.
I personal computer con questo processore furono in vendita indicativamente tra il 1987 e il 1992, ma ancora oggi se ne trovano versioni embedded.