Sistemi di elaborazione e trasmissione delle informazioni Il modello logico-funzionale dell’elaboratore Classe III
L’automa programmabile universale (elaboratore elettronico) ?
Le interfacce Ingressi Uscite Interfaccia di INPUT Interfaccia di OUTPUT 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) Interfaccia di OUTPUT Interfaccia di INPUT Unità Centrale dati dati comandi
I BUS Interfaccia di OUTPUT 5 6 7 8 Interfaccia di INPUT 1 2 3 4 Unità Bus indirizzi Interfaccia di OUTPUT 5 6 7 8 Interfaccia di INPUT 1 2 3 4 Unità Centrale Bus ingresso Bus uscita Bus Comandi Memoria programmi
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 Mouse:indirizzo 2 Monitor:indirizzo 5 Registri utilizzati R0 = reg. puntatore istruzioni R1 = reg. primo dato R2 = reg. secondo dato
Esempio: 1. il contenuto della memoria programmi e dell’U. C Esempio: 1. il contenuto della memoria programmi e dell’U.C. al momento iniziale Unità centrale R1 10 R0 R2 Fase di FETCH: . emissione sul bus indirizzi del valore contenuto in R0 . Lettura dal bus comandi del contenuto della locazione . Incremento di R0 Leggi da 1 in R1 Leggi da 2 in R2 Somma R1+R2 in R1 Scrivi R1 in 5 Salta a 10 Memoria programmi
Esempio: 2. il contenuto della dell’U. C Esempio: 2. il contenuto della dell’U.C. dopo la fase di fetch ed execute Unità centrale 754 R1 11 R0 R2 1 754 Fase di EXECUTE: .Esecuzione dell’istruzione caricata
Esempio: 3. il contenuto della memoria programmi e dell’U. C Esempio: 3. il contenuto della memoria programmi e dell’U.C. al momento dopo l’esecuzione della prima istruzione Unità centrale 754 R1 11 R0 R2 Fase di FETCH: . emissione sul bus indirizzi del valore contenuto in R0 . Lettura dal bus comandi del contenuto della locazione . Incremento di R0 Leggi da 1 in R1 Leggi da 2 in R2 Somma R1+R2 in R1 Scrivi R1 in 5 Salta a 10 Memoria programmi
Esempio: 4. il contenuto della dell’U. C Esempio: 4. il contenuto della dell’U.C. dopo la fase di fetch ed execute Unità centrale 754 R1 12 134 R0 R2 2 134 Fase di EXECUTE: .Esecuzione dell’istruzione caricata
Esempio: 5. il contenuto della memoria programmi e dell’U. C Esempio: 5. il contenuto della memoria programmi e dell’U.C. al momento dopo l’esecuzione della seconda istruzione Unità centrale 754 R1 12 134 R0 R2 Fase di FETCH: . emissione sul bus indirizzi del valore contenuto in R0 . Lettura dal bus comandi del contenuto della locazione . Incremento di R0 Leggi da 1 in R1 Leggi da 2 in R2 Somma R1+R2 in R1 Scrivi R1 in 5 Salta a 10 Memoria programmi
Esempio: 6. il contenuto della dell’U. C Esempio: 6. il contenuto della dell’U.C. dopo la fase di fetch ed execute Unità centrale 888 R1 13 134 R0 R2 Fase di EXECUTE: .Esecuzione dell’istruzione caricata
Esempio: 7. il contenuto della memoria programmi e dell’U. C Esempio: 7. il contenuto della memoria programmi e dell’U.C. al momento dopo l’esecuzione della terza istruzione Unità centrale 888 R1 13 134 R0 R2 Fase di FETCH: . emissione sul bus indirizzi del valore contenuto in R0 . Lettura dal bus comandi del contenuto della locazione . Incremento di R0 Leggi da 1 in R1 Leggi da 2 in R2 Somma R1+R2 in R1 Scrivi R1 in 5 Salta a 10 Memoria programmi
Esempio: 8. il contenuto della dell’U. C Esempio: 8. il contenuto della dell’U.C. dopo la fase di fetch ed execute 888 Unità centrale 888 R1 14 R0 R2 134 5 Fase di EXECUTE: .Esecuzione dell’istruzione caricata
Esempio: 9. il contenuto della memoria programmi e dell’U. C Esempio: 9. il contenuto della memoria programmi e dell’U.C. al momento dopo l’esecuzione della quarta istruzione Unità centrale 888 R1 14 134 R0 R2 Fase di FETCH: . emissione sul bus indirizzi del valore contenuto in R0 . Lettura dal bus comandi del contenuto della locazione . Incremento di R0 Leggi da 1 in R1 Leggi da 2 in R2 Somma R1+R2 in R1 Scrivi R1 in 5 Salta a 10 Memoria programmi
Esempio: 10. il contenuto della dell’U.C. dopo la fase di fetch Unità centrale 888 R1 15 134 R0 R2 !? Attenzione la fase di FETCH incrementa il Registro R0 !!
Esempio: 11. il contenuto della dell’U.C. dopo la fase di execute Unità centrale 888 R1 10 134 R0 R2 Attenzione: L’istruzione di SALTO aggiorna il registro R0 Si ricomincia ……..
Un’evoluzione 5 6 7 8 1 2 3 4 Unità Centrale Interfaccia di INPUT Memoria dati Bus indirizzi 5 6 7 8 dati Interfaccia di INPUT Interfaccia di OUTPUT 1 2 3 4 dati Unità Centrale Bus ingresso Bus uscita Bus Comandi Memoria programmi
La struttura definitiva (von Neumann) Bus indirizzi Bus dati Interfaccia di ingresso Memoria dati Memoria programmi Unità centrale Interfaccia di uscita clock uscite ingressi interrupt
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).