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 10 9 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 E 2 PROM) - 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 Non Volatile FLASH 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