Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor...

12
Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto

Transcript of Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor...

Page 1: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

Il µP Intel 8086

Marco Lettieri

3 C Informatica

A.S. 2009/2010

All’attenzione del

Professor Claudio Gatto

Page 2: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

Brevi cenni storici

Il microprocessore 8086 fece il suo ingresso nel 1978. Aveva un bus dati a 16 bit ed era stato realizzato completamente in America con la tecnologia HNMOS ( ossia N- Channel Silicon Gate ).

Alla fine degli anni ’70 i microprocessori erano tutti con un bus dati a 8 bit e un bus indirizzi a 16 e non erano molto versatili proprio per questo motivo; con l’avvento del microprocessore 8086 della Intel si aveva una potenza molto maggiore e una versatilità migliore dei precedenti,quindi molte più locazioni di memoria (erano circa 1.048.576 ) e uno spazio di indirizzamento pari a 1Mbyte.

Page 3: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

L’ 8086 ha 29.000 transistor e opera a 5 Mhz.

La sua struttura è anche detta “dual in line” ossia due file di piedini parallele.

Sono 20 piedini per lato, 40 in totale

Page 4: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

Registri

Possiede tre tipi di registri:

• Registri di dati

• Registri puntatori

• Registri segment

Page 5: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

Registri Dati

I registri dati sono AX (registro accumulatore),BX (registro base),CX (registro contatore) e DX (registro dati). Possono essere usati come registri da 16

bit o dividerli in parti parti da 8 bit ciascuna: bassa(ad esempio AL(Low)) e alta(AH(high)).

Page 6: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

Registri Puntatori

IP(Puntamento d’istruzione) che contiene il puntatore dell’istruzione da seguire, come se fosse un segnalibro.

SP(Puntamento di Pila(Stak Pointer)) che contiene il puntatore alla testa dello stack.

BP(Puntatore di base) è utilizzato come base per accedere allo stack.

SI(Indice della sorgente) e DI(Indice della destinazione).

Page 7: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

Registri Segmento

CS,DS,ES e SS. Sono registri che generano gli indirizzi

fisici per fare accesso alla memoria. CS contiene il puntatore d’inizio del

segmento codici, DS il puntatore d’inizio del segmento dati, ES di dato supplementare e SS di stack.

In altre parole i registri segmento individuano dove trovare i vari segmenti.

Page 8: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

Il registro dei FlagEsistono due tipi di flag:Flag di stato e flag di controllo.OF (OVERFLOW FLAG) indica l’eccedenza in un calcolo;DF (DIRECTION FLAG) indica, nelle operazioni di manipolazioni delle stringhe

la direzione;IF (INTERRUPT FLAG);TF (TRAP FLAG) consente l’esecuzione delle interruzioni “passo passo” per il

debug;SF (SIGN) indica il segno del risultato;ZF (ZERO) indica se il risultato vale o no 0;AF (AUXILIARY CARRY FLAG) è usato nelle operazioni con BCD;PF (PARITY FLAG) indica se il risultato è pari;CF (CARRY FLAG) indica se c’è riporto dall’operazione precedente.

Il flag può essere 0 o 1: se vale 0 la condizione non è verificata, 1 se lo è (ad esempio se CF vale 0 vuole dire che il risultato dell’operazione precedente non ha riporto, se invece vale 1 lo ha.)

Page 9: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

I principali vantaggi di questa segmentizzazzione sono:

• Spazio di indirizzamento pari a 1Mbyte e inidirizzi a 16 bit.• Separazione tra dati,codice e stack e quindi la possibilità di

di avere più segmenti dati,codice e stack.• Possibilità di sovrapporre i segmenti.

Page 10: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

BIU (Bus Interface Unit)

La BIU è un sottosistema che gestisce a tutti i dati e alle istruzioni provenienti (e verso) l’esterno.

Gestisce quindi anche:• Il fetch delle istruzioni;• La lettura e scrittura dei risultati delle

operazioni aritmetiche;• Generazione degli indirizzi;• L’accodamento delle istruzioni.

Page 11: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

La BIU lavora parallelamente con la EU(executive unit) che è il sottoprogramma che esegue i calcoli.

Insieme eseguono l’operazione di “prefetch” che carica in via preventiva le istruzioni dalla memoria e le memorizza nella coda delle istruzioni.

Page 12: Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.

FINE