Architettura di un calcolatore ● Storia – – – ● Joseph Marie Jacquard Charles Babbage John Von Neumann Architettura FdI 2014/2015 GMDN 2015 1 Storia: macchine automatiche ● Concetto di programmazione già presente in alcuni strumenti in grado di riprodurre automaticamente motivi musicali, come ad esempio i carillon (Europa, dal 1700 circa). – – Cilindro con puntine Lamelle FdI 2014/2015 GMDN 2015 2 FdI 2014/2015 GMDN 2015 3 FdI 2014/2015 GMDN 2015 4 FdI 2014/2015 GMDN 2015 5 Storia: Joseph Marie Jacquard ● ● Un contributo indiretto, ma importante, nell'evoluzione dei calcolatori si deve a Joseph Marie Jacquard. Nel 1804 presentò un sistema a schede perforate in grado di automatizzare le lavorazioni dei telai – – Cilindro Schede perforate FdI 2014/2015 GMDN 2015 6 FdI 2014/2015 GMDN 2015 7 Macchina programmabile ● L'idea innovativa che permise di cambiare i calcolatori in modo radicale rispetto alle macchine automatiche è legata al concetto di programmazione – ● possibilità di fornire in ingresso alla macchina non solo i dati da elaborare, ma anche la sequenza di operazioni da eseguire sui dati. Il programma guida il funzionamento della macchina nello svolgimento di attività di calcolo complesse – la macchina è l'interprete delle istruzioni. FdI 2014/2015 GMDN 2015 8 Storia: Charles Babbage ● ● L'idea del calcolatore programmabile si concretizzò nella progettazione della Macchina Analitica (prima metà del 1800) Doveva essere, nei progetti di Babbage, uno strumento di calcolo "universale" le cui operazioni possono essere di volta in volta specificate insieme ai dati da elaborare. FdI 2014/2015 GMDN 2015 9 Storia: Charles Babbage ● la Macchina Analitica, azionata da un motore a vapore, avrebbe dovuto comporsi di quattro parti fondamentali: – – – – la memoria (store) un’unità di calcolo (mill) la sezione di ingresso (lettore di schede perforate) la sezione di uscita (stampa dei risultati) FdI 2014/2015 GMDN 2015 10 FdI 2014/2015 GMDN 2015 11 Elettricità e calcolatori elettronici ● ● ● L’impiego di dispositivi elettrici nell’ambito del calcolo era cominciato già all’inizio del ‘900, ma solo negli anni ‘30 si compresero appieno le enormi potenzialità di questa nuova tecnologia per la costruzione dei calcolatori. Il passaggio cruciale tra la tecnologia meccanica e quella elettronica non è legato semplicemente all’impiego della corrente elettrica, quanto alla rappresentazione dell’informazione numerica con segnali elettrici. L'era del calcolatore elettronico si apre nel momento in cui l’informazione numerica comincia ad essere rappresentata ed elaborata mediante segnali elettrici. FdI 2014/2015 GMDN 2015 12 Elettricità e calcolatori elettronici ● Nel 1938, il tedesco Konrad Zuse realizzò il primo calcolatore programmabile in senso moderno, denominato Z1. FdI 2014/2015 GMDN 2015 13 Elettricità e calcolatori elettronici ● Nel Regno Unito, inizia la realizzazione nel 1943 di un calcolatore speciale, denominato Colossus, adibito alla decrittazione dei messaggi segreti tedeschi generati mediante la macchina Enigma. FdI 2014/2015 GMDN 2015 14 Elettricità e calcolatori elettronici ● ● Sotto la spinta di esigenze belliche gli Stati Uniti si impegnarono a incrementare le ricerche per la realizzazione di calcolatori più veloci. A partire dal 1943 finanziarono con ingenti somme la progettazione e realizzazione di un grosso calcolatore elettronico. – ENIAC (Electronic Numerical Integrator And Computer) FdI 2014/2015 FdI 2014/2015 GMDN 2015 GMDN 2015 15 ● 170 metri quadri ● 27 tonnellate 16 Storia: Jon Von Neumann ● ● Nel 1944, John von Neumann cominciò a collaborare con il gruppo di scienziati impegnati nella costruzione dell'ENIAC negli USA. Von Neumann capì che la programmazione del computer mediante la riconfigurazione di un numero enorme di interruttori e di cavi era lenta, faticosa e poco flessibile. FdI 2014/2015 GMDN 2015 17 Storia: Jon Von Neumann ● ● Per costruire un vero calcolatore elettronico programmabile occorreva che il programma non fosse rigidamente predisposto nell'hardware (tramite interruttori e cavi), e neppure letto sequenzialmente da nastri o schede perforati (troppo lenti), ma risiedesse in una memoria scrivibile ad accesso veloce, assieme ai dati da elaborare e alle costanti numeriche. Il risultato fu il calcolatore ENIAC, completato nel 1946, che rappresentò il primo grande calcolatore elettronico programmabile basato sull'uso di valvole termoioniche. FdI 2014/2015 GMDN 2015 18 FdI 2014/2015 GMDN 2015 19 Architettura di un calcolatore ● ● ● Il modo in cui le diverse parti di un calcolatore sono organizzate viene definito architettura di un calcolatore. Si fa spesso riferimento all'architettura introdotta da Von Neumann nel 1946. La macchina di Von Neumann si basa su uno schema molto semplice composto da pochi elementi: – – – – Processore Memoria centrale Linee di connessione Input/Output FdI 2014/2015 GMDN 2015 20 Architettura di un calcolatore ● L’architettura base di un calcolatore è rappresentata da: – – – – ● Un sistema che acquisisce dati dall’esterno (ingresso/input) La CPU (Central Processing Unit), il pocessore che eseguele istruzioni sui sui dati acquisiti La memoria centrale, o RAM (Random Access Memory) che contiene le istruzioni e i dati necessari alla CPU per eseguire i calcoli Un sistema che restituisce i dati elaborati (uscita/output) Tutte queste parti sono collegate tra loro attraverso delle linee di comunicazione chiamate bus – – I bus consentono il trasferimento dei dati di ingresso e in uscita La CPU legge/scrive i dati sulla/dalla memoria utilizzando queste linee FdI 2014/2015 GMDN 2015 21 Central Processing Unit (CPU) ● La CPU esegue operazioni elementari – – – – ● Calcoli aritmetici Confronto tra i valori dei dati Scelte in base ai risultati del confronto tra valori Aggiornamento dei valori presenti in memoria centrale Le operazioni elementari sono “scritte” in un linguaggio che la CPU è in grado di interpretare – – Il inguaggio “macchina” ha solo due simboli (zero e uno) Ogni “parola” corrisponde ad una istruzione o a un dato FdI 2014/2015 GMDN 2015 23 CPU ● ● ● All’interno della CPU è presente un clock, una sorta di orologio interno che sincronizza le operazioni della CPU e regola la frequenza delle stesse. La frequenza di clock indica quante operazioni elementari la CPU può eseguire in un secondo. CPU e prestazioni del calcolatore – – la potenza di un calcolatore si misura anche in base alla sua frequenza di clock Una CPU con una frequenza di clock di 1GHz può compiere un miliardo di operazioni elementari in un secondo FdI 2014/2015 GMDN 2015 24 Random Access Memory (RAM) ● ● Spesso la CPU viene indicata come il cervello del calcolatore, ma così non si considera l’importanza della memoria centrale La memoria centrale è indicata con la sigla RAM, che sta per Random Access Memory, memoria ad accesso casuale – ● Il termine casuale è fuorviante, in realtà non indica che l’accesso è fatto casualmente, ma che non è fatto in modo sequenziale. La memoria centrale infatti contiene – – – Le istruzioni che la CPU esegue I dati da elaborare I risultati delle elaborazioni FdI 2014/2015 GMDN 2015 25 RAM ● La memoria centrale rappresenta le informazioni sotto forma di sequenze di bit – – – – La memoria centrale può essere scomposta in celle Ogni cella contiene un bit, ovvero valori 0 e 1 Le celle sono raggruppate in byte o multipli di byte A ogni gruppo di celle è associato un indirizzo, che permette alla CPU di sapere “dove” leggere e scrivere i dati FdI 2014/2015 GMDN 2015 26 RAM ● Memoria e prestazioni del calcolatore – – – – Maggiore è dimensione della memoria maggiore è la quantità di dati a cui la CPU può accedere Una memoria di grandi dimensioni può contenere anche molte istruzioni per il funzionamento della CPU La dimensione della memoria si misura in multipli di byte Una memoria di Gigabyte è in grado di contenere circa un miliardo di byte (ovvero potrebbe contenere un romanzo di circa 100 milioni di parole scritto come solo testo) FdI 2014/2015 GMDN 2015 27 Memoria secondaria (o di massa) ● La memoria di massa è costituita da dispositivi di memorizzazione in grado di mantenere l’informazione per lungo tempo, anche a calcolatore spento (non è una memoria volatile) – – ● ● E’ formata da hard-diski, CD, DVD, chiavette USB, ... Come la memoria centrale contiene istruzioni (programmi) e dati La CPU non accede direttamente alla memoria di massa I dati contenuti nella memoria secondaria devono essere caricati in memoria centrale. – L’accesso alla memoria di massa è molto più lento dell’accesso alla memoria centrale FdI 2014/2015 GMDN 2015 28 Memoria secondaria (o di massa) ● Nei moderni sistemi avviene un continuo scambio di dati tra memoria centrale e memoria di massa – – La memoria di massa può contenere anche le informazioni in uso dalla CPU nel caso di mancanza di spazio in memoria centrale I sistemi con poca RAM utilizzano spesso anche la memoria di massa, diminuendo le prestazioni del calcolatore FdI 2014/2015 GMDN 2015 29 Hard Disk FdI 2014/2015 GMDN 2015 30 HD FdI 2014/2015 GMDN 2015 31 HD vs SSD (Solid State Drive) FdI 2014/2015 GMDN 2015 32 CD, DVD, Blu-ray FdI 2014/2015 GMDN 2015 33 CD, DVD, Blu-ray FdI 2014/2015 GMDN 2015 34 Lunghezza d'onda dei laser FdI 2014/2015 GMDN 2015 35 USB key FdI 2014/2015 GMDN 2015 36 “Caricare” i programmi in memoria ● ● ● Tutte le informazioni vengono memorizzate nella memoria secondaria, Quando si vuole utilizzare uno specifico programma oppure un insieme di dati, il programma e/o i dati devono essere copiati dalla memoria secondaria alla memoria principale. Questa attività, detta di caricamento di un programma e/o di un insieme di dati in memoria principale, viene svolta, in risposta ad una richiesta d’utente, dal sistema operativo. FdI 2014/2015 GMDN 2015 37 Avvio del calcolatore ● ● ● Quando si avvia il computer, quali dati legge la CPU? Il ritardo che si verifica tra il momento in cui si accende il computer e il momento in cui si può iniziare a lavorare, cioè quando il sistema operativo è pronto Esiste una memoria Read-Only Memory (ROM) – – Memoria a sola lettura non volatile Non è né la RAM né la memoria secondaria FdI 2014/2015 GMDN 2015 38 Read Only Memory (ROM) ● ROM: contiene una serie di programmi incorporati nel computer che eseguono le operazioni di base, Basic Input/Output System (BIOS), di supervisione per il computer. – – Alcuni programmi della ROM vengono usati solo in fase di accensione del computer e servono per inizializzare e controllare tutti i componenti hardware presenti Altri programmi forniscono un controllo preciso e dettagliato delle varie componenti del computer, incluse le periferiche di Input/Output come le unità disco, le cui operazioni devono essere testate accuratamente FdI 2014/2015 GMDN 2015 39