220 likes | 414 Views
CALCOLATORE. Unità centrale CPU. Un calcolatore digitale è composto da CPU , memorie e dispositivi di input/output. Controllo. Unità Aritmetico logica. Dispositivi di ingressouscita. Registri. Unità Disco. Display. Memoria Principale. bus. Central Processing Unit. CPU.
E N D
CALCOLATORE Unità centrale CPU Un calcolatore digitale è composto da CPU, memorie e dispositivi di input/output. Controllo Unità Aritmetico logica Dispositivi di ingresso\uscita Registri Unità Disco Display Memoria Principale bus
Central Processing Unit CPU Descrizione Organizzazione Funzionamento
Descrizione CPU La CPU e’ il “cervello” del calcolatore e il suo compito è quello di eseguire i programmi, residenti nella memoria, leggendo ed eseguendo le loro istruzioni. I componenti sono collegati tra loro attraverso dei bus.
Bus Un bus, che è un gruppo di fili tra loro paralleli, ha il compito di trasportare segnali di controllo, dati e indirizzi. Il Bus puo’ essere esterno alla CPU e ha lo scopo di permettere la comunicazione tra la memoria e i dispositivi di I\O.
Organizzazione della CPU Data Path A+B L’organizzazione interna di una CPU è caratterizzata dal data path, che è costituito da una serie di componenti, tra i quali l’ALU, i registri, e molti bus di comunicazione. Registri A B Registro ALU dell’ingresso A B l Bus di ingresso dell’ALU ALU Registro di uscita dell’ALU A+B
Arithmetic Logic Unit ALU L’ALU esegue dei calcoli matematici sui dati e poi memorizza il risultato in un registro in uscita. I dati hanno due possibilità di percorsi: registro-memoria i dati vengono trasportati dal registro di uscita alle memoria e/o viceversa;
Memoria CPU La memoria della CPU, che è ad alta velocità, viene utilizzata per memorizzare temporaneamente istruzioni e dati più frequentemente acceduti.
Funzionamento della CPU Il funzionamento della CPU si basa su una sequenza di operazioni, che insieme prendono il nome di fetch-decode-execute: • prelievo delle istruzioni dalla memoria, e immissione di queste nel registro delle istruzioni; Caricamento del nuovo program counter • dterminazione del tipo di istrizzone • ricerca operandi ed esegui l’istruzione.
Hardware e Software L’hardware e’ l’insieme degli elementi costitutivi di un elaboratoreIl software serve per utilizzare il calcolatore.Il software suddivide le istruzioni in piccole porzioni che esegue in modo più semplice attraverso un interprete, mentre l’hardwarele esegue direttamente.
Storia della CPU Durante gli anni 70’ dello scorso secolo il mercato dei calcolatori era in pieno sviluppo e aumentava sempre di più la richiesta di calcolatori a basso costo. Lo sviluppo di software eliminava i limiti di costo inerenti alla esecuzione di istruzioni complesse.
Principi di progettazione per i calcolatori moderni Ci sono dei principi di progettazione chiamati principi di progettazione RISC, che gli architetti delle CPU possono seguire. Tra i più importanti troviamo:
Tutte le istruzioni vengono eseguite direttamente dall'hardware Tutte le istruzioni comuni vengono eseguite direttamente dall’hardware e non vengono interpretate da microcodice, per cui il sistema e’ più veloce. Mentre per i calcolatori che implementano istruction set CISC le istruzioni vengono scomposte in miscroistruzioni anche se questo passaggio rallenta la macchina.
Ottimizzare la velocita' con la quale vengono iniziate le istruzioni I calcolatori moderni cercano di iniziare piu’ istruzioni possibili al secondo. Il parallelismo svolge quindi un ruolo fondamentale nel miglioramento delle prestazioni perché inviare una grossa quantità di istruzioni lente a intervalli brevi e’ possibile solo se istruzioni multiple si possono eseguire contemporaneamente.
Le istruzioni dovrebbero essere facilmente decodificabili Una limitazione della velocita’ con la quale vengono mandate in esecuzione le istruzioni e’ dovuta alla decodifica delle istruzioni. Per eliminare questo problema bisogna usare istruzioni con struttura regolare, di lunghezza fissa, con un numero limitato di campi e con formati molto simili.
Solo le istruzioni di load e store dovrebbero contenere indirizzi di memoria La maggior parte delle operazioni di load e store trasferiscono dati tra la memoria e i registri. Queste operazioni di trasferimento sono piu’ lente e quindi talvolta sisovrappongono con le altre istruzioni;
Disporre di molti registri Poiche’ l’accesso alla memoria e’ molto lento e’ necessario disporre di molti registri, almeno 32, in modo che un’istruzione, una volta letta, possa essere conservata in un registro fin quando non e’ piu’ necessaria.
Parallelismo Un modo per accelerare il funzionamento dei chip e’ aumentare la velocità del clock e i ricercatori utilizzano il parallelismo, nel tentativo di eseguire due o piu’ operazioni contemporaneamente per ottenere maggiori prestazioni con la frequenza di clock a disposizione.
Parallelismo a livello di istruzioni Per eseguire piu’ istruzioni parallelamente si usava un prefetch buffer, che le prelevava invece di aspettare la lettura completa della memoria. Quindi il processo si divideva in due parti: lettura della memoria e esecuzione. Stadio di decodifica delle istruzioni Stadio di lettura degli operandi Stadio di esecuzione delle istruzioni Stadio di lettura delle istruzioni Stadio di scrittura
Una gerarchia di memoria Registri +lente Cache Da 32KB a alcuni MB +capacita`di memorizzazione Memoria principale Da 16MB a decine di GB Dischi magnetici Da alcuni GB a decine di TB Nastri Dischi ottici Memorizzazione di archivi Memorizzazione permanente
Memoria cache Storicamente la capacita’ di accesso ai dati da parte delle CPU e’ sempre stata limitata dalla velocita’ di I/O della memoria. In realta`non si tratta di un problema tecnologico, maeconomico; gli ingegneri sono in grado di costruire memorie veloci come le CPU, ma il costo complessivo del sistema sarebbe molto elevato. .
La validita’ di questo metodo dipende dalla quantità` di parole che si trovano nella cache. Statisticamente i programmi non accedono alla memoriaa caso: se La CPU richiede un dato della memoria di indirizzo A, e` assai probabile che l`accesso seguente si troverà` nelle vicinanze di A. Memoria principale CPU cache bus Configurazione comune di CPU, cache e memoria
Memoria principale La memoria e`quella parte del calcolatore dove vengono immagazzinati i programmi e i dati. Alcuni ricercatori del settore usano il termine store (magazzino) o storage (immagazzinamento) invece di memoria, anche se il termine storage solitamente si riferisce alla memorizzazione su disco.