Download - CALCOLATORE

Transcript
Page 1: CALCOLATORE

2

Controllo

Unità Aritmetico

logica

Registri

Memoria Principale

UnitàDisco Display

Unità centrale CPU

Dispositivi di ingresso\uscita

bus

Un calcolatore digitale è composto da CPU,

memorie e dispositivi di input/output.

Page 2: CALCOLATORE

3

Central Processing UnitOrganizzazioneDescrizione

Funzionamento

Page 3: CALCOLATORE

4

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.

Page 4: CALCOLATORE

5

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.

Page 5: CALCOLATORE

6

A+B

A

B

A B

ALU

A+B

Registri

Registro ALU dell’ingresso

Bus di ingresso dell’ALU

Registro di uscita dell’ALU

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.

l

Page 6: CALCOLATORE

7

Arithmetic Logic UnitL’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;

Page 7: CALCOLATORE

8

La memoria della CPU, che è ad alta velocità, viene utilizzata per memorizzare temporaneamente istruzioni e dati più frequentemente acceduti.

Page 8: CALCOLATORE

9

Il funzionamento della CPU si basa su una sequenza di operazioni, che insieme prendono il nome di fetch-decode-execute:

1 prelievo delle istruzioni dalla memoria, e immissione di queste nel registro delle istruzioni; Caricamento del nuovo program counter

2 dterminazione del tipo di istrizzone3 ricerca operandi ed esegui l’istruzione.

Page 9: CALCOLATORE

10

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’hardware le esegue direttamente.

Page 10: CALCOLATORE

11

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.

Page 11: CALCOLATORE

12

Ci sono dei principi di progettazione chiamati principi di progettazione RISC, che gli architetti delle CPU possono seguire. Tra i più importanti troviamo:

Page 12: CALCOLATORE

13

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.

Page 13: CALCOLATORE

14

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.

Page 14: CALCOLATORE

15

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.

Page 15: CALCOLATORE

16

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 si sovrappongono con le altre istruzioni;

Page 16: CALCOLATORE

17

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.

Page 17: CALCOLATORE

18

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.

Page 18: CALCOLATORE

19

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 lettura delle istruzioni

Stadio di decodifica delle istruzioni

Stadio di lettura degli operandi

Stadio di esecuzione delle istruzioni

Stadio di scrittura

Page 19: CALCOLATORE

20

Registri

Cache

Memoria principale

Dischi magnetici

Nastri Dischi ottici

+lente+capacita`di memorizzazione

Da 32KB a alcuni MB

Da 16MB a decine di GB

Da alcuni GB a decine di TB

Memorizzazione di archivi

Memorizzazione permanente

Page 20: CALCOLATORE

21

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, ma economico; gli ingegneri sono in grado di costruire memorie veloci come le CPU, ma il costo complessivo del sistema sarebbe molto elevato..

Page 21: CALCOLATORE

22

La validita’ di questo metodo dipende dalla quantità` di parole che si trovano nella cache. Statisticamente i programmi non accedono alla memoria a 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.

CPU

cache

Memoria principale

bus

Configurazione comune di CPU, cache e memoria

Page 22: CALCOLATORE

23

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.