Elementi di base del calcolatore Registri: dispositivi elettronici capaci di memorizzare insiemi di bit (8, 16, 32, 64,…) Clock: segnale di sincronizzazione per tutto il sistema si misura in cicli/secondo [Hz] (3 GHz = 3 x 109 Hz ⇒ 1 ciclo è eseguito in 1/3 x 10-9 s = 0.3ns) Fondamenti di Informatica 1 Il calcolatore Macchina per eseguire sequenze di operazioni elementari Hardware → Architettura Software → Programmi (algoritmi + strutture dati = programmi, N.Wirth) Von Neumann (1945) (SISD) Fondamenti di Informatica 2 Calcolatore di Von Neumann Unità di Controllo (CU) Ingresso (Input) Memoria Uscita (Output) Unità artimetica (ALU) Fondamenti di Informatica 3 Unità di Ingresso Comunica con il calcolatore: 1. Trasduttori (posizione, temperatura, pressione, luminosità,…) 2. Parte elettronica (per mantenere l'informazione, per codificarla, per segnalare lo stato dell'unità,…) Fondamenti di Informatica 4 Unità di Ingresso Permette di: introdurre dati introdurre programmi comunicare con dispositivi normalmente non compatibili con il calcolatore (funziona cioè da interfaccia) Esempi: tastiera, mouse, convertitori A/D, telecamere, microfoni, scanner, lettori di codici a barre,... Fondamenti di Informatica 5 Unità di Uscita Sistema usato dal calcolatore per comunicare con il mondo esterno: 1. Parte elettronica (per mantenere l'informazione, per codificarla, per segnalare lo stato dell'unità,…) 2. Attuatori (trasformano il segnale elettrico digitale in: posizione, temperatura, pressione, luminosità,…) Fondamenti di Informatica 6 Unità di Uscita Permette al calcolatore di: comunicare con il mondo esterno attraverso dispositivi normalmente non compatibili con il calcolatore (funziona cioè da interfaccia) Esempi: stampante, monitor, plotter, altoparlanti, convertitori A/D,... Fondamenti di Informatica 7 Unità di Ingresso-Uscita Alcuni sistemi possono essere utilizzati indipendentemente come Ingresso e Uscita: dispositivi di memorizzazione esterna (dischi, nastri magnetici) Fondamenti di Informatica 8 Unità di Controllo Sequenzializzazione delle operazioni Fetch (lettura istruzione da memoria) Interpretazione del codice operativo Esecuzione dell’istruzione Fondamenti di Informatica 9 Unità Aritmetico-Logica (Arithmetic Logic Unit, ALU) Comandata da segnali di controllo Esegue operazioni aritmetiche e logiche Accumulatore e Flags Esegue operazioni su: dati semplici (+,-,… and, or, …, shift, compl2) dati complessi (*, /, +,- in doppia precisione) floating point (anche come microprogrammi) Fondamenti di Informatica 10 Memoria Memoria principale e secondaria Modalità di accesso: Sequenziale Casuale Fondamenti di Informatica 11 Memoria Organizzazione della memoria Unità di informazione, caratterizzata da: indirizzo o locazione contenuto Parametri caratteristici: capacità [esempio 64 Mega bytes] tempo di accesso [esempio 50 ns] Fondamenti di Informatica 12 Memorie a Sola Lettura ROM - Read Only Memory o memorie a sola lettura La CPU, durante l'esecuzione di un programma, può effettuarne solo la lettura L'informazione permane anche se viene meno la tensione di alimentazione Fondamenti di Informatica 13 Memorie a Sola Lettura La scrittura può essere effettuata con modalità e tempi diversi: PROM: Programmable ROM - La memoria è scrivibile, dal costruttore o dall’utilizzatore, una volta per tutte EPROM: Erasable PROM - La memoria è scrivibile all'utilizzatore e cancellabile con raggi ultravioletti EAROM: Electrically Alterable ROM (EEPROM o E2PROM) - Le celle di memoria sono più volte riscrivibili elettricamente Fondamenti di Informatica 14 Memorie RAM RAM - Random Access Memory Memorie (di solito) a semiconduttore ad accesso casuale che sono sia leggibili sia scrivibili L'informazione scompare se viene meno la tensione di alimentazione RAM statiche o RAM dinamiche L'acronimo RAM viene utilizzato correntemente per indicare le memorie a lettura e scrittura utilizzate come memorie principali di un sistema di elaborazione Fondamenti di Informatica 15 Memorie Flash Le Flash memory sono memorie a stato solido (non hanno parti in movimento) e sono memorie non volatili (mantengono l’informazione anche se non sono alimentate) che si stanno diffondendo in molteplici campi Densità elevata ROM DRAM FLASH Non Volatile EEPROM Lettura e scrittura elettrica Fondamenti di Informatica 16 Dati e Programmi Von Neumann introdusse il calcolatore con programma immagazzinato la cui memoria contiene sia i dati che il programma (OpCodes, Operands) Fondamenti di Informatica 17 Architettura del calcolatore BUS dei dati, BUS degli indirizzi e BUS di controllo PC, Instruction Reg., Address Reg., Data Reg. Parallelismo del calcolatore Fondamenti di Informatica 18 Funzionamento del calcolatore L'unità di controllo sequenzializza due attività: caricamento dell'istruzione (fetch) esecuzione effettiva dell'istruzione (execution) Fondamenti di Informatica 19