Intel 8086
A. FERRARI
MATERIALE DALLA DISPENSA DI P. OLLARI
Intel 8086
 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.
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 possono accedere ad una sola locazione di memoria,
perciò uno degli operandi deve essere un registro. Il risultato viene memorizzato in
uno degli operandi.
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.
Il processore ha una velocità di clock tra i 4,77 (nei primi pc IBM) e i 10 MHz.
Wikipedia
X-86
 Con x-86 si intende l’architettura di microprocessori inizialmente sviluppata
dall’azienda Intel negli anni ’70, e che è ancora oggi predominante sul mercato
mondiale. Altre importanti aziende producono calcolatori basati su questa
tecnologia, i cui diritti sono stati a suo tempo venduti, ad esempio AMD.
 Il nome x-86 deriva dal primo microprocessore della serie, Intel 8086 (1976), a
cui sono seguite numerose versioni via via più potenti che hanno mantenuto il
suffisso nel nome: 8088 (1979), 80186 (1980), 80286 (1982), 80386 (1986),
80486 (1989).
 Sono da considerarsi macchine x-86 anche i modelli successivi all’80486, che
hanno dovuto rinunciare al nome ‘numerico’ per l’impossibilità di brevettarlo:
Pentium (o P5, 1993), Pentium Pro (o P6, 1995), Pentium II (1997), Pentium III
(1999), Pentium 4 (o P7, 2000), Pentium M (2003), Pentium D (2005), Core 2
Duo (o P8, 2006).
 Tutti i processori di questa famiglia sono tutti retrocompatibili e, in particolare,
tutti ancora in grado di eseguire le istruzioni originali dell’ISA primitiva del
progenitore, l’Intel 8086, benché esso fosse una macchina a 16 bit, mentre le
ultime citate sono tutte a 32 bit e, in parte, a 64 bit.
Chip 8086
Intel 8088
 Intel 8088 è un microprocessore a 4.77MHz prodotto dalla Intel




basato sull'8086.
Ha un'architettura interna a 16 bit (come l'8086), un data bus a 8
bit (la metà dell'8086) e un address bus da 20 bit, quindi l'8088 è in
grado di indirizzare 220 = 1.048.576 byte = 1MB di memoria.
Questo processore fu utilizzato nei primi PC IBM.
Quando uscì sul mercato i pregi dell'8088 rispetto all'8086 erano la
frequenza di clock maggiore (4.77 MHz) e il prezzo inferiore.
Nonostante l'introduzione di modelli successivi e di gran lunga più
avanzati, l'8088 è uscito di produzione solo nel settembre del 2007;
non veniva più usato come processore per PC dal 1992, ma
nell'industria aveva trovato altri interessanti impieghi.
Wikipedia
Chip 8088
Architettura 8086
 L'Intel 8086 (consideriamo l’Intel 8088 come del
tutto equivalente, anche se il bus dati è a 8 bit), è un
microprocessore a 16 bit (ampiezza dei registri e del
Dbus) con 20 linee sull’Abus per un totale di 1Mbyte
di spazio di indirizzamento fisico (220 = 1048756
celle).
 L'unità di interfaccia con il bus o Unità di Controllo è
denominata BIU (Bus Interface Unit), e passa le
istruzioni all'ALU (detta EU da Execution Unit.
Architettura
Address bus (20 bits)
Execution Unit
(EU)
AH
AL
BH
BL
CH
CL
DH
DL
General purpose
register
SP
Segment
register
BP
SI
DI
CS
Data bus
(16 bits)
DS
SS
ALU Data bus
(16 bits)
ALU
Flag register

ES
IP
Instruction Queue
Bus
control
External bus
EU
control
Bus Interface Unit (BIU)
 L'Intel 8086 possiede 14 registri da 16 bit, di cui quattro registri
per uso generico (AX, BX, CX, DX), a cui si può accedere anche
come se fossero otto registri a 8 bit (AH e AL, BH e BL, CH e CL,
DH e DL), due registri indice per indirizzare in memoria (SI, DI) e
due registri dedicati alla gestione dello stack (BP e SP).
 A questi si aggiungono altri quattro registri detti di segmento (CS,
ES, DS e ES), dedicati specificatamente all’indirizzamento della
Memoria. Completano il set di registri l’Instruction Pointer IP e il
registro PSW (Program Status Word), denominato Flag register.
 Lo spazio degli indirizzi di I/O si avvale di un indirizzamento a 16
bit, per un totale di 64KByte (216 = 65536) registri di Input/Output
disponibili. Completa la sezione di I/O un set di 8 linee di
interruzione hardware (poi ampliato a 16) e un canale DMA per
dispositivi di I/O con ampio traffico.
 La frequenza originale del clock di CPU valeva 4,77 MHz.
Registri
Registri

4 registri di uso generale, pur utilizzati frequentemente come registri di memorizzazione
temporanea (a 16 o a 8 bit), sono dedicati a precisi compiti e sono coinvolti
implicitamente in numerose istruzioni.




AX, o registro Accumulatore, è predisposto per le istruzioni aritmetiche (somme, sottrazioni, moltiplicazioni e
divisioni).
BX, o registro Base, è l’unico dei registri di uso generale che può specificare un indirizzo di memoria
CX, o registro Contatore, è utilizzato implicitamente nelle istruzioni di conteggio dei cicli
DX, o registro di I/O consente di indirizzare le porte di I/O. Usato anche in moltiplicazioni e divisioni.
2 registri indice sono usati nelle istruzioni per manipolare array di caratteri (stringhe).
 SI, o registro Indice Sorgente, specifica l’indirizzo da cui leggere l’array
 DI, o registro Indice Destinazione, specifica l’indirizzo in cui scrivere l’array.
 2 registri dedicati allo stack sono in grado di indirizzare in memoria, anche se non
liberamente.




BP, o Base Pointer, contiene l’indirizzo di partenza della pila di stack, per poter gestire il passaggio dei parametri delle procedure
SP, o Stack pointer, contiene sempre l’indirizzo di memoria dell’ultimo elemento sullo stack.
IP e Flag, sono registri non modificabili esplicitamente.


IP, o Instruction Pointer, contiene la parte meno significativa dell’indirizzo della prossima istruzione da eseguire. Il programmatore non lo
modifica mai.
Flag, o registro dei Flags, è l’unico registro intepretato a singolo bit, ove ogni bit ha un significato differente e concorre a descrivere lo stato
attuale del Processore dopo l’esecuzione dell’ultima istruzione.
Tebella riassuntiva
Core i7 Extreme
 Core i7 Extreme è il nome commerciale di una serie di microprocessori x86
di nona generazione sviluppati da Intel e presentati il 17 novembre 2008.
 Le CPU Core i7 Extreme, insieme alle controparti di fascia medio alta Core
i7, sono state le prime incarnazioni della nuova architettura Nehalem,
successiva alla Intel Core Microarchitecture, e che andrà progressivamente
a sostituire in tutti i settori di mercato, prendendo gradualmente il posto
dei Core 2 Duo, Core 2 Quad e Core 2 Extreme.
 Come ormai abitudine da parte di Intel, i processori "Extreme" vengono
proposti per la fascia più alta del mercato desktop (e in un secondo tempo
anche mobile), e oltre ad avere valori di clock più elevati, vengono anche
accompagnati dalla presenza del moltiplicatore sbloccato sia verso il basso
che verso l'alto in modo da semplificare le operazioni di overclock tipiche di
questa fascia di utenti.
Wikipedia