Struttura dei calcolatori (cenni) Corso: Architetture degli Elaboratori Docente: Franco Barbanera Lucidi by G. Bella UNIVERSITA’ DI CATANIA Dip. di Matematica e Informatica Componenti fondamentali Processore (CPU) dispositivi di input/output (I/O) Memoria principale Unità disco Stampante bus F. Barbanera, G. Bella 2 Struttura dei Calcolatori v.2.1 Il Processore Processore (CPU) unita’ di controllo unita’ aritmetico logica (ALU) memoria ad alta velocita’ F. Barbanera, G. Bella L’unita’ di controllo legge le istruzioni dalla memoria centrale e ne determina il tipo L’unita’ aritmetico-logica esegue operazioni aritmetiche e logiche necessarie per l’esecuzione delle istruzioni La memoria e’ un insieme di registri. Ogni registro puo’ memorizzare un valore piu’ o meno grande, dipendente dalle dimensioni del registro. Lettura o scrittura su registro sono molto veloci. 3 Struttura dei Calcolatori v.2.1 registri Il data path L’ALU, i registri e molti bus costituiscono il data path. registri di input L’ALU puo’ avere 2 registri di input e 1 di output. ALU I registri sono collegati ai registri di input. Il registro di output e’ collegato ai registri. F. Barbanera, G. Bella registro di output 4 Struttura dei Calcolatori v.2.1 A+B registri Le istruzioni A B • registro-memoria: trasferisce un dato dalla memoria (esterna) ai registri, o viceversa A • registro-registro: trasferisce un dato da un registro a un altro registri di input B ALU Ciclo del data path: passaggio di due operandi attraverso la ALU e memorizzazione del risultato nei registri. F. Barbanera, G. Bella A+B 5 registro di output Struttura dei Calcolatori v.2.1 Implementazione delle istruzioni 1. via hardware, nella CPU 2. via software, ossia con un interprete implementato secondo (1) •Esistevano le architetture CISC (Complex Instruction Set Computer), sostenute dai colossi IBM, VAX, Intel, … basate su molte e complicate istruzioni, interpretate •Nascono negli anni ’80 le architetture RISC (Reduced Instruction Set Computer), come il DEC Alpha, basate su poche e semplici istruzioni, non interpretate Oggi, anche il Pentium e’ ibridato con tecnologia RISC. F. Barbanera, G. Bella 6 Struttura dei Calcolatori v.2.1 Parallelismo delle istruzioni Prefetching. Esecuzione di un’istruzione divisa in due fasi: lettura dalla memoria ed esecuzione vera e propria. Pipelining. Esecuzione di un’istruzione divisa in molteplici fasi, ognuna gestita da un pezzo di hardware dedicato. lettura delle istruzioni decodifica delle istruzioni F. Barbanera, G. Bella lettura degli operandi 7 esecuzione delle istruzioni scrittura Struttura dei Calcolatori v.2.1 Parallelismo delle istruzioni Doppio Pipelining. Lo stadio di lettura legge due istruzioni mettendo ciascuna in una pipeline (con la propria ALU). lettura delle istruzioni decodifica delle istruzioni lettura degli operandi esecuzione delle istruzioni scrittura decodifica delle istruzioni lettura degli operandi esecuzione delle istruzioni scrittura Due istruzioni possono essere eseguite in parallelo se non si contendono la stessa risorsa, e non dipendono l’una dal risultato dell’altra. F. Barbanera, G. Bella 8 Struttura dei Calcolatori v.2.1 Parallelismo delle istruzioni Architettura superscalare. Una singola pipeline con unita’ funzionali multiple. ALU lettura delle istruzioni decodifica delle istruzioni lettura degli operandi ALU LOAD scrittura STORE Floating point F. Barbanera, G. Bella 9 Struttura dei Calcolatori v.2.1 Parallelismo dei processori array processor : alto numero di coppie processore-memoria vector processor : come sopra ma con unico sommatore per le addizioni multiprocessori : piu’ processori con memoria condivisa multicalcolatori : piu’ calcolatori, ciascuno con memoria privata F. Barbanera, G. Bella 10 Struttura dei Calcolatori v.2.1 Organizzazione della memoria registri cache memoria principale dischi magnetici nastri F. Barbanera, G. Bella dischi ottici 11 Struttura dei Calcolatori v.2.1 La memoria cache piccola e veloce, si trova sullo stesso chip del processore contiene le parole piu’ usate cercando una parola, il processore ispeziona prima la cache la parola cercata viene messa in cache insieme alle sue adiacenti (principio di localita’) F. Barbanera, G. Bella 12 Struttura dei Calcolatori v.2.1 La memoria principale BIT (Binary digIT ), byte, parola (word ) Tipicamente la memoria si divide in celle (o locazioni), ciascuna contenente un fissato numero di bit Ogni locazione ha un numero, l’indirizzo, che serve per individuarla I byte di una parola possono essere memorizzati da sinistra a destra (big endian) o da destra a sinistra (little endian) F. Barbanera, G. Bella 13 Struttura dei Calcolatori v.2.1 I dischi magnetici uno o piu’ piatti di alluminio (diametri 3-12 cm) con rivestimento magnetizzabile testina sospesa da cuscino d’aria negli harddisc, tocca il disco nei floppy-disc la corrente della testina magnetizza la superficie, allineandone le particelle (scrittura) la superficie magnetizzata induce una corrente nella testina (lettura) F. Barbanera, G. Bella 14 Struttura dei Calcolatori v.2.1 Piatti, testine, superfici, tracce, settori, cilindri settore (di lunghezza fissa) superficie 7 superficie 6 piatto 4 superficie 5 superficie 4 piatto 3 superficie 3 superficie 2 testine piatto 2 superficie 1 superficie 0 traccia piatto 1 cilindro (sequenza circolare di bit) F. Barbanera, G. Bella 15 (tracce in una data posizione radiale) Struttura dei Calcolatori v.2.1