Le interfacce Interfaccia di INPUT Interfaccia di OUTPUT
IngressiIngressi UsciteUscite INTERFACCIA: dispositivo in grado di
adattare i segnali provenienti dallesterno al modo di
rappresentazione interno e viceversa
Slide 5
Lunit centrale (dispositivo a rapporto funzionale variabile)
Interfaccia di INPUT Interfaccia di OUTPUT Unit Centrale dati
comandi
Slide 6
I BUS Interfaccia di INPUT Interfaccia di OUTPUT Unit Centrale
Memoria programmi Bus indirizzi Bus Comandi Bus uscita Bus ingresso
12341234 56785678
Slide 7
Definizioni Indirizzi: numeri che identificano univocamente gli
ingressi e le uscite dei dati BUS: canali costituiti da pi linee
binarie in grado di trasportare in parallelo il codice
dellinformazione desiderata Memoria programmi: dispositivo che
permette di memorizzare i comandi, organizzato in una serie di
locazioni indirizzabili Registri: zone atte a memorizzare i dati su
cui deve temporaneamente operare lunit centrale (in numero
limitato) Memoria dati: dispositivo che permette di memorizzare
grandi quantit di dati, organizzato in una serie di locazioni
indirizzabili
Slide 8
Esempio Problema : si voglia calcolare la somma di due numeri,
il primo deve essere inserito in input da tastiera e il secondo in
input con il mouse, fornendo il risultato in output sul monitor.
Periferiche utilizzate Tastiera:indirizzo 1 Mouse:indirizzo 2
Monitor:indirizzo 5 Registri utilizzati R0 = reg. puntatore
istruzioni R1 = reg. primo dato R2 = reg. secondo dato
Slide 9
Esempio: 1. il contenuto della memoria programmi e dellU.C. al
momento iniziale 10. Leggi da 1 in R1 11. Leggi da 2 in R2 12.
Somma R1+R2 in R1 13. Scrivi R1 in 5 14. Salta a 10 10 R0 Unit
centrale Memoria programmi R1 R2 Fase di FETCH:. emissione sul bus
indirizzi del valore contenuto in R0. Lettura dal bus comandi del
contenuto della locazione. Incremento di R0
Slide 10
Esempio: 2. il contenuto della dellU.C. dopo la fase di fetch
ed execute 11 R0 Unit centrale 754 R1 R2 Fase di EXECUTE:.
Esecuzione dellistruzione caricata 1 754
Slide 11
Esempio: 3. il contenuto della memoria programmi e dellU.C. al
momento dopo lesecuzione della prima istruzione 10. 10. Leggi da 1
in R1 Leggi da 2 in R2 11. Leggi da 2 in R2 12. Somma R1+R2 in R1
13. Scrivi R1 in 5 14. Salta a 10 11 R0 Unit centrale Memoria
programmi 754 R1 R2 Fase di FETCH:. emissione sul bus indirizzi del
valore contenuto in R0. Lettura dal bus comandi del contenuto della
locazione. Incremento di R0
Slide 12
Esempio: 4. il contenuto della dellU.C. dopo la fase di fetch
ed execute 12 R0 Unit centrale 134 754 R1 R2 Fase di EXECUTE:.
Esecuzione dellistruzione caricata 2 134
Slide 13
Esempio: 5. il contenuto della memoria programmi e dellU.C. al
momento dopo lesecuzione della seconda istruzione 10. 10. Leggi da
1 in R1 11. Leggi da 2 in R2 Somma R1+R2 in R1 12. Somma R1+R2 in
R1 13. Scrivi R1 in 5 14. Salta a 10 12 R0 Unit centrale Memoria
programmi 134 754 R1 R2 Fase di FETCH:. emissione sul bus indirizzi
del valore contenuto in R0. Lettura dal bus comandi del contenuto
della locazione. Incremento di R0
Slide 14
Esempio: 6. il contenuto della dellU.C. dopo la fase di fetch
ed execute 13 R0 Unit centrale 134 888 R1 R2 Fase di EXECUTE:.
Esecuzione dellistruzione caricata
Slide 15
Esempio: 7. il contenuto della memoria programmi e dellU.C. al
momento dopo lesecuzione della terza istruzione 10. 10. Leggi da 1
in R1 11. Leggi da 2 in R2 12. Somma R1+R2 in R1 Scrivi R1 in 5 13.
Scrivi R1 in 5 14. Salta a 10 13 R0 Unit centrale Memoria programmi
134 888 R1 R2 Fase di FETCH:. emissione sul bus indirizzi del
valore contenuto in R0. Lettura dal bus comandi del contenuto della
locazione. Incremento di R0
Slide 16
Esempio: 8. il contenuto della dellU.C. dopo la fase di fetch
ed execute 14 R0 Unit centrale 134 888 R1 R2 Fase di EXECUTE:.
Esecuzione dellistruzione caricata 888 5
Slide 17
Esempio: 9. il contenuto della memoria programmi e dellU.C. al
momento dopo lesecuzione della quarta istruzione 10. 10. Leggi da 1
in R1 11. Leggi da 2 in R2 12. Somma R1+R2 in R1 13. Scrivi R1 in 5
Salta a 10 14. Salta a 10 14 R0 Unit centrale Memoria programmi 134
888 R1 R2 Fase di FETCH:. emissione sul bus indirizzi del valore
contenuto in R0. Lettura dal bus comandi del contenuto della
locazione. Incremento di R0
Slide 18
Esempio: 10. il contenuto della dellU.C. dopo la fase di fetch
15 R0 Unit centrale 134 888 R1 R2 !? Attenzione la fase di FETCH
incrementa il Registro R0 !!
Slide 19
Esempio: 11. il contenuto della dellU.C. dopo la fase di
execute 10 R0 Unit centrale 134 888 R1 R2 Si ricomincia ..
Attenzione: Listruzione di SALTO aggiorna il registro R0
Slide 20
Unevoluzione Interfaccia di INPUT Interfaccia di OUTPUT Unit
Centrale Memoria programmi Bus indirizzi Bus Comandi Bus uscita Bus
ingresso 12341234 56785678 Memoria dati dati
Slide 21
La struttura definitiva (von Neumann) Interfaccia di ingresso
Memoria dati Memoria programmi Unit centrale Interfaccia di uscita
ingressi uscite clock interrupt Bus indirizzi Bus dati
Slide 22
Definizioni Clock: segnale per la sincronizzazione delle
attivit interne della CPU Interrupt: segnale di natura asincrona,
rispetto alla evoluzione delle attivit interne della CPU, che ha lo
scopo di avvisare lunit centrale del verificarsi di uno specifico
evento al suo esterno. La tecnica degli interrupt fondamentale per
una corretta gestione dell I/O
Slide 23
Cenni sulle memorie ROM: read only memory (memoria a sola
lettura) pu essere utilizzata come memoria programmi per certe
applicazioni specifiche. I dati sono memorizzati in modo
permanente. RAM: random access memory (memoria ad accesso casuale)
utilizzata per la memorizzazione dei dati e dei programmi. I dati
sono memorizzati in modo temporaneo. Memorie di massa: periferiche
utilizzate per la memorizzazione e la conservazione dei dati anche
quando il computer spento (hard-disk e floppy disk).