Intel 8086

Da Wikipedia, l'enciclopedia libera.
Intel 8086
Central processing unit
KL Intel D8086.jpg
Prodotto dal 1978 al 1992
Produttore Intel, AMD, NEC, Fujitsu, Harris (Intersil), OKI, Siemens AG, Texas Instruments, Mitsubishi.
Frequenza CPU MHz / 10 MHz
Set di istruzioni x86-16
Package 40 pin DIP

L'Intel 8086 è un microprocessore a 16 bit progettato dalla Intel nel 1978, che diede origine all'architettura x86. È basato sull'8080 e sull'8085 (è compatibile con l'assembly dell'8080), con un insieme di registri simili, ma a 16 bit. L'unità di interfaccia con il bus (detta BIU da Bus Interface Unit) passa le istruzioni all'unità di esecuzione (detta EU da Execution Unit) attraverso una coda FIFO di prefetch (6 byte), in modo che il fetch e l'esecuzione delle istruzioni fosse contemporaneo – una forma primitiva di pipelining (le istruzioni dell'8086 avevano una dimensione tra 1 e 6 byte).

Ha quattro registri a 16 bit per uso generico, a cui si può accedere come se fossero otto registri a 8 bit, e quattro registri a 16 bit di indice (incluso lo stack pointer). I registri per i dati sono spesso utilizzati implicitamente dalle istruzioni, complicando l'uso degli stessi per memorizzare valori temporanei. Ha uno spazio di indirizzamento a 16 bit per l'I/O, cioè può accedere a 65.536 dispositivi di I/O a 8 bit e dispone di una tabella di vettori per gli interrupt fissa. La maggior parte delle istruzioni può accedere ad una sola locazione di memoria, perciò uno degli operandi deve essere un registro. Il risultato viene memorizzato in uno degli operandi.

Schema Intel 8086

Ci sono anche quattro registri per i segmenti che possono essere calcolati dai registri di indice. I registri di segmento permettono alla CPU di accedere ad un megabyte di memoria in un modo particolare. Invece di fornire i byte mancanti, come nella maggior parte dei processori che supportano la segmentazione, l'8086 fa uno shift a sinistra di 4 bit del registro di segmento e lo somma all'indirizzo. Il risultato è che i segmenti si possono sovrapporre (parzialmente o totalmente), il che è stato considerato come un indice di cattiva progettazione da molti sviluppatori. Anche se questo è un vantaggio per la programmazione in linguaggio assembly, dove il controllo sui segmenti è completo, causa invece confusione nei linguaggi che fanno molto uso dei puntatori (come ad esempio il linguaggio C). Lo schema di segmentazione dell'8086 rende difficile una rappresentazione efficiente dei puntatori ed è possibile avere due puntatori con valori diversi che puntano ad una stessa locazione di memoria. Inoltre non si può estendere facilmente per aumentare lo spazio di indirizzamento a più di un megabyte. In effetti questo è stato fatto nell'Intel 80286 cambiando radicalmente lo schema di indirizzamento.

Il processore ha una velocità di clock tra i 4,77 (nei primi pc IBM) e i 10 MHz.

Tempi di esecuzione in cicli (stime):

  • addizione: 3–4 (registri), 9+IE–25+IE (accesso in memoria)
  • moltiplicazione: 70–118 (registri), 76+IE–143+IE (accesso in memoria)
  • copia valori: 2 (registri), 8+IE–14+IE (accesso in memoria)
  • salto "near": 11–15 (registri), 18+IE (accesso in memoria)
  • salto "far": 15 (registri), 24+IE (accesso in memoria)

IE: tempo per calcolare l'indirizzo effettivo, tra i 5 e i 12 cicli

L'8086 non prevede nessuna istruzione per i calcoli in virgola mobile, ma può essere collegato ad un coprocessore matematico per aggiungere questa caratteristica. Lo standard era l'Intel 8087, ma produttori come Weitek offrirono presto alternative con prestazioni superiori.

L'8086 fu clonato dai processori NEC V20, V25 e V30.

Microcomputer che usano l'8086[modifica | modifica sorgente]

Il primo microcomputer commerciale costruito utilizzando l'8086 fu il Mycron 2000.

Anche la IBM Displaywriter, una macchina per la scrittura di testi, utilizzava la 8086.

Era basato sull'8086 anche M24: il primo e più famoso dei computer PC-compatibili costruiti in Italia da Olivetti.

I PC IBM utilizzavano la versione interfacciata esternamente a 8 bit del medesimo processore, l'8088.

Anche l'IBM System/2 Model 30, utilizzava la 8086.

Anche il microcomputer Giano 88, prodotto da Elit Micromegas intorno al 1980, utilizzava Intel 8088, con il quale, grazie ad un sistema operativo proprietario, riusciva a gestire fino a 4 terminali

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

Articolo basato su Intel 8086 da FOLDOC, utilizzato con licenza Foldoc.

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