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).