La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Microprocessore Intel 8086 Fondamenti architetturali.

Presentazioni simili


Presentazione sul tema: "Microprocessore Intel 8086 Fondamenti architetturali."— Transcript della presentazione:

1 Microprocessore Intel 8086 Fondamenti architetturali

2 Evoluzione in pillole Introdotto nel 1978, il chip 8086 a 16 bit conteneva appena transistor e operava a 5 MHz.chiptransistor In confronto, l'attuale processore Pentium 4 contiene 55 milioni di transistor e opera a 3,06 GHz, una velocità più di 600 volte più elevata.

3 Struttura esterna Il package ha una struttura dual in line che significa: due file di 20 piedini (pin) parallele

4 Piedinatura (pin-out) Ogni piedino fornisce una funzionalità diversa. Il CLOCK ad esempio scandisce gli intervalli di tempo sulla base dei quali avvengono tutte le elaborazioni

5 Schema a blocchi Si riconoscono gli elementi fondamentali della macchina di Von Neumann Registri generali CU ALU

6 BIU – Bus Interface Unit Serve per costruire gli indirizzi Contiene più istruzioni prelevate dalla memoria

7 EU – Execution Unit Registri degli operandi e dei flags

8 Il meccanismo di PIPELINE Grazie alla struttura suddivisa nelle due componenti autonome (BIU ed EU) l8086 è in grado di gestire le elaborazioni con modalità pipeline. La pipeline dati è una tecnologia utilizzata dai microprocessori per incrementare il throughput, ovvero la quantità di istruzioni eseguite in una data quantità di tempo. L'elaborazione di un istruzione da parte di un processore si compone di cinque passaggi fondamentali: IF: Lettura dell'istruzione da memoria ID: Decodifica istruzione e lettura operandi da registri EX: Esecuzione dell'istruzione MEM: Attivazione della memoria (solo per certe istruzioni) WB: Scrittura del risultato nel registro opportuno

9 Elaborazione sequenziale Se ipotizziamo un tempo di 1 sec. per ognuna delle fasi, il tempo totale sarà 15 sec.

10 Elaborazione in pipeline Se ipotizziamo un tempo di 1 sec. per ognuna delle fasi, il tempo totale sarà 9 sec. con un risparmio rispetto alla soluzione precedente di 6 sec.

11 Indirizzamento della memoria L8086 rappresenta una evoluzione di una precedente serie denominata 8080 in cui lindirizzamento di memoria centrale era a 16 bit. Con 16 bit possiamo indirizzare al massimo 64K (65536) locazioni. I progettisti stabilirono che l8086, pur conservando alcune delle impostazioni precedenti, dovesse indirizzare fino ad 1M ( ), inoltre stabilirono che i programmatori potessero avere una visione della memoria centrale suddivisa in aree diverse dedicate rispettivamente al codice, ai dati e allo stack. L8086 possiede un BUS indirizzi a 20 bit. Con 20 bit possiamo indirizzare appunto locazioni.

12 Segmentazione della memoria La tecnica utilizzata per indirizzare una maggiore quantità di memoria venne definita segmentazione, cosa che prevede di suddividere lindirizzo in due parti chiamate rispettivamente SEGMENT e OFFSET ognuna in grado di rappresentare un numero da 16 bit. Numero del segmento Indirizzo allinterno del segmento RAM

13 Calcolo dellindirizzo effettivo CS + PC Indirizzo a 20 bit Registri a 16 bit x 10h

14 Calcolo dellindirizzo effettivo : esempio 1AB3 h (in binario ) 1AB30 h + 051F h 051F h ( in binario ) 1B04F h ( in binario ) x 10h CS PC EA = Effective Address

15 I registri I registri dell8086 sono classificati in : Registri generali Registri puntatori Registri di segmento Registro di stato (PSW o Program Status Word) Le dimensioni di ogni registro sono di 16 bit

16 I registri generali AHAL BHBL CHCL DHDL AX BX CX DX Sono registri da 16 bit utilizzabili anche come registri da 8 bit detti anche general purpose per luso generale che si fa di questi registri nei programmi (Ad ogni registro viene inoltre assegnato un compito particolare rispetto alle varie istruzioni) Registro accumulatore Registro contatore H = High L = Low

17 I registri puntatori SIDISPBP Sono registri a 16 bit non suddivisibili in byte, che vengono utilizzati per contenere la parte OFFSET degli indirizzi di memoria relativi agli operandi. Il registro IP (parte offset del Program Counter) pur essendo un registro puntatore non può essere utilizzato dal programmatore in quanto gestito direttamente dal sistema. IP Utilizzati dalle istruzioni che operano sulle stringhe Utilizzati dalle istruzioni che operano sullo stack source indexdestination indexstack pointer

18 I registri di segmento CSDSESSS Sono registri a 16 bit che identificano i diversi segmenti che contengono il codice e i dati di un programma. Possono essere modificati dal programmatore code segmentdata segmentextra segmentstack segment Punta al segmento che contiene le istruzioni Punta al segmento che contiene i dati Punta al segmento che contiene eventualmente altri dati Punta al segmento che contiene lo stack

19 Il registro di stato (PSW) E un registro da 16 bit che viene utilizzato bit per bit. Solo 9 sono significativi. Sei sono solo leggibili tre sono anche scrivibili. (La letterina F sta per flag)flag OFSFZFAFPFCFDFIFTF overflow sign zero auxiliary parity carry riporto Risultato nullo segno traboccamento I flag vengono settati(cioè valgono 1) dalle istruzioni aritmetiche e logiche

20 Il program counter Il program counter è costituito dalla coppia di registri CS:IP cioè dal segmento che individua lindirizzo della memoria contenente le istruzioni e dal puntatore allistruzione da eseguire allinterno del segmento. Segmento Stack Segmento Extra Segmento Dati Segmento Codice Programma in memoria

21 Lo stack Dato 1 STACK Si chiama stack un area della memoria in cui vengonoaccatastati i dati in modo tale da poter recuperare gli stessi a partire dallultimo inserito, secondo una modalità definita LIFO.LIFO prima locazione dello stack Dato 2 seconda locazione dello stack terza locazione dello stack ultima locazione dello stack SS:SP PUSH TOP BOTTOM Viene utilizzato, in genere, per la gestione dei sottoprogrammi. …. locazione dello stack

22 Chip In informatica il termine chip può significare: circuito integrato cioè un dispositivo elettronico costituito dall'integrazione di un circuito elettronico su di un substrato di materiale semiconduttore (in genere silicio, ma a volte anche arseniuro di gallio o altri). microprocessore (spesso abbreviato con µP) cioè un componente elettronico digitale formato da transistor racchiuso in uno o più circuiti integrati. Uno o più processori sono utilizzati come CPU da un sistema di elaborazione digitale come può essere un personal computer, un palmare, un telefono cellulare o un altro dispositivo digitale.

23 Transistor I transistor vengono impiegati in ambito elettronico, principalmente, come amplificatori di segnali elettrici o come interruttori elettronici comandati da segnali elettrici Processo di fabbricazione di un transistor

24 Flag Un flag (parola inglese che significa bandierina) in informatica è una variabile che può assumere solo due stati ("vero" o "falso", "on" e "off", "1" e "0", "acceso" e "spento") e che segnala, con il suo valore, se un dato evento si è verificato oppure no, o se il sistema è in un certo stato oppure no.

25 LIFO Il termine LIFO è acronimo inglese di Last In First Out (Ultimo ad entrare, primo ad uscire). Esprime il concetto relativo al modo di immagazzinare dati in cui l'ultimo valore introdotto è il primo ad uscire. Si rappresenta di solito con una pila di libri o di piatti, in cui l'ultimo appoggiato in cima è necessariamente il primo ad essere prelevato, mentre il primo introdotto è raggiunto per ultimo


Scaricare ppt "Microprocessore Intel 8086 Fondamenti architetturali."

Presentazioni simili


Annunci Google