1 / 25

Microprocessore Intel 8086

Microprocessore Intel 8086. Fondamenti architetturali. Evoluzione in pillole. Introdotto nel 1978, il chip 8086 a 16 bit conteneva appena 29.000 transistor e operava a 5 MHz .

cale
Télécharger la présentation

Microprocessore Intel 8086

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microprocessore Intel 8086 Fondamenti architetturali

  2. Evoluzione in pillole Introdotto nel 1978, il chip 8086 a 16 bit conteneva appena 29.000transistor e operava a 5 MHz. 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 Registri generali CU ALU Si riconoscono gli elementi fondamentali della macchina di Von Neumann

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

  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) l’8086 è 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 L’8086 rappresenta una evoluzione di una precedente serie denominata 8080 in cui l’indirizzamento di memoria centrale era a 16 bit. Con 16 bit possiamo indirizzare al massimo 64K (65536) locazioni. I progettisti stabilirono che l’8086, pur conservando alcune delle impostazioni precedenti, dovesse indirizzare fino ad 1M (1048576), 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. L’8086 possiede un BUS indirizzi a 20 bit. Con 20 bit possiamo indirizzare appunto 1048576 locazioni.

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

  13. Calcolo dell’indirizzo effettivo Registri a 16 bit CS PC x 10h + Indirizzo a 20 bit

  14. Calcolo dell’indirizzo effettivo : esempio CS 1AB3h (in binario1101010110011) PC 051Fh ( in binario 10100011111) x 10h 1AB30h + 051Fh 1B04Fh ( in binario 11011000001001111) EA = Effective Address

  15. I registri I registri dell’8086 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 H = High L = Low Registro accumulatore AX BX Registro contatore CX DX Sono registri da 16 bit utilizzabili anche come registri da 8 bit detti anche general purpose per l’uso generale che si fa di questi registri nei programmi (Ad ogni registro viene inoltre assegnato un compito particolare rispetto alle varie istruzioni)

  17. I registri puntatori source index destination index stack pointer SI DI SP BP IP Utilizzati dalle istruzioni che operano sulle stringhe Utilizzati dalle istruzioni che operano sullo stack 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.

  18. I registri di segmento code segment data segment extra segment stack segment CS DS ES SS Punta al segmento che contiene eventualmente altri dati Punta al segmento che contiene le istruzioni Punta al segmento che contiene i dati Punta al segmento che contiene lo stack 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

  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) overflow traboccamento sign zero segno auxiliary Risultato nullo parity carry riporto 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 l’indirizzo della memoria contenente le istruzioni e dal puntatore all’istruzione da eseguire all’interno del segmento. Segmento Stack Segmento Extra Segmento Dati Segmento Codice Programma in memoria

  21. Lo stack SS:SP Si chiama stack un area della memoria in cui vengono “accatastati” i dati in modo tale da poter recuperare gli stessi a partire dall’ultimo inserito, secondo una modalità definita LIFO. prima locazione dello stack TOP seconda locazione dello stack terza locazione dello stack …. locazione dello stack PUSH Dato 1 PUSH Dato 2 BOTTOM ultima locazione dello stack Viene utilizzato, in genere, per la gestione dei sottoprogrammi. 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

More Related