Sistemi di elaborazione e
trasmissione delle
informazioni
Il modello logico-funzionale
dell’elaboratore
Classe III
L’automa programmabile universale
(elaboratore elettronico)
?
Le interfacce
I
n
g
r
e
s
s
i
Interfaccia
di INPUT
Interfaccia
di OUTPUT
U
s
c
i
t
e
INTERFACCIA: dispositivo in grado di adattare i segnali provenienti dall’esterno al
modo di rappresentazione interno e viceversa
L’unità centrale
(dispositivo a rapporto funzionale variabile)
comandi
dati
Interfaccia di OUTPUT
Interfaccia di INPUT
dati
Unità
Centrale
I BUS
Bus indirizzi
3
4
Bus
ingresso
Unità
Centrale
Bus
uscita
Bus
Comandi
Memoria programmi
Interfaccia di OUTPUT
2
Interfaccia di INPUT
1
5
6
7
8
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 dell’informazione
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 l’unità centrale (in numero
limitato)
Memoria dati: dispositivo che permette di memorizzare
grandi quantità di dati , organizzato in una serie di
locazioni indirizzabili
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
Registri utilizzati
Mouse:indirizzo 2
R0 = reg. puntatore istruzioni
Monitor:indirizzo 5
R1 = reg. primo dato
R2 = reg. secondo dato
Esempio:
1. il contenuto della memoria programmi e dell’U.C. al
momento iniziale
Unità centrale
R0
10
R1
R2
Fase di FETCH:
10. Leggi da 1 in R1
11. Leggi da 2 in R2
12. Somma R1+R2 in R1
13. Scrivi R1 in 5
Memoria
programmi
14. Salta a 10
.
emissione sul bus
indirizzi del valore
contenuto in R0
. Lettura dal bus
comandi del
contenuto della
locazione
. Incremento di R0
Esempio:
2. il contenuto della dell’U.C. dopo la fase di fetch ed
execute
Unità centrale
R0
11
R1
754
R2
1
754
Fase di EXECUTE:
.Esecuzione dell’istruzione
caricata
Esempio:
3. il contenuto della memoria programmi e dell’U.C. al
momento dopo l’esecuzione della prima istruzione
Unità centrale
R0
11
754
R1
R2
Fase di FETCH:
10. Leggi da 1 in R1
11. Leggi da 2 in R2
12. Somma R1+R2 in R1
Memoria
programmi
13. Scrivi R1 in 5
14. Salta a 10
.
emissione sul bus
indirizzi del valore
contenuto in R0
. Lettura dal bus
comandi del
contenuto della
locazione
. Incremento di R0
Esempio:
4. il contenuto della dell’U.C. dopo la fase di fetch ed
execute
Unità centrale
R0
12
R1
754
R2
134
2
134
Fase di EXECUTE:
.Esecuzione dell’istruzione
caricata
Esempio:
5. il contenuto della memoria programmi e dell’U.C. al
momento dopo l’esecuzione della seconda istruzione
Unità centrale
R0
12
R1
754
R2
134
Fase di FETCH:
10. Leggi da 1 in R1
11. Leggi da 2 in R2
12. Somma R1+R2 in R1
Memoria
programmi
13. Scrivi R1 in 5
14. Salta a 10
.
emissione sul bus
indirizzi del valore
contenuto in R0
. Lettura dal bus
comandi del
contenuto della
locazione
. Incremento di R0
Esempio:
6. il contenuto della dell’U.C. dopo la fase di fetch ed
execute
Unità centrale
R0
13
R1
888
R2
134
Fase di EXECUTE:
.Esecuzione dell’istruzione
caricata
Esempio:
7. il contenuto della memoria programmi e dell’U.C. al
momento dopo l’esecuzione della terza istruzione
Unità centrale
R0
13
R1
888
R2
134
Fase di FETCH:
10. Leggi da 1 in R1
11. Leggi da 2 in R2
12. Somma R1+R2 in R1
13. Scrivi R1 in 5
Memoria
programmi
14. Salta a 10
.
emissione sul bus
indirizzi del valore
contenuto in R0
. Lettura dal bus
comandi del
contenuto della
locazione
. Incremento di R0
Esempio:
8. il contenuto della dell’U.C. dopo la fase di fetch ed
execute
Unità centrale
R0
14
R1
888
R2
134
888
5
Fase di EXECUTE:
.Esecuzione dell’istruzione
caricata
Esempio:
9. il contenuto della memoria programmi e dell’U.C. al
momento dopo l’esecuzione della quarta istruzione
Unità centrale
R0
14
R1
888
R2
134
Fase di FETCH:
10. Leggi da 1 in R1
11. Leggi da 2 in R2
12. Somma R1+R2 in R1
13. Scrivi R1 in 5
Memoria
programmi
14. Salta a 10
.
emissione sul bus
indirizzi del valore
contenuto in R0
. Lettura dal bus
comandi del
contenuto della
locazione
. Incremento di R0
Esempio:
10. il contenuto della dell’U.C. dopo la fase di fetch
Unità centrale
15
R0
R1
888
R2
134
!?
Attenzione la fase di FETCH
incrementa il Registro R0 !!
Esempio:
11. il contenuto della dell’U.C. dopo la fase di execute
Unità centrale
R0
10
R1
888
R2
134
Attenzione: L’istruzione di SALTO
aggiorna il registro R0
Si ricomincia ……..
Un’evoluzione
Memoria dati
Bus indirizzi
3
4
dati
Bus
ingresso
Unità
Centrale
Bus
uscita
Bus
Comandi
Memoria programmi
Interfaccia di OUTPUT
2
Interfaccia di INPUT
1
dati
5
6
7
8
La struttura definitiva (von Neumann)
Bus indirizzi
Bus dati
Interfaccia
di ingresso
ingressi
Memoria
dati
Memoria
programmi
clock
interrupt
Unità
centrale
Interfaccia
di uscita
uscite
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 l’unità centrale del verificarsi di uno
specifico evento al suo esterno. La tecnica degli
interrupt è fondamentale per una corretta gestione dell’
I/O
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).