Il processore
Architettura dell’elaboratore
Il processore
Il processore
Registri: memorie locali della CPU
La CPU utilizza registri per la memorizzazione di
istruzioni e dati
IR (Instruction Register)
PC (Programm Counter)
PSW (Process Status Word)
La CPU esegue istruzioni in linguaggio macchina
In modo sequenziale e ciclico (ciclo macchina
o ciclo CPU)
Effettuando operazioni di lettura delle
istruzioni dalla memoria centrale
Dati letti e modificati in memoria centrale:
accesso tramite indirizzo delle celle
Il processore
Il processore
Il processore
ALU (Airthmetic Logic Unit):
svolgimento di istruzioni aritmetiche e logiche
Registri fondamentali dell’unità di controllo
PC (Program Counter): registro contatore delle
istruzioni
IR (Instruction Register): contiene una copia
dell’istruzione da eseguire
Operazioni
aritmetiche: somma, sottrazione,
moltiplicazione, divisione
Operazioni logiche: confronto di due dati: =, <, >,
AND, OR
Dotata di alcuni registri per la memorizzazione dei
dati di input/output
Utilizzati nel ciclo macchina della CPU
Il processore
Fase di lettura
La CPU esegue 4 fasi in modo ciclico (ciclo
macchina o ciclo CPU)
Lettura (Fetch)
Decodifica
Esecuzione
Scrittura
Dettagli sulla fase di lettura (fetch)
1. unità di controllo legge in PC l’indirizzo di
memoria contente l’istruzione da eseguire
2. contenuto di PC inviato alla memoria (bus
indirizzi)
3. memoria trasferisce il contenuto della cella
all’indirizzo inviato (bus dati)
4. dato inviato copiato in IR
5. contenuto del PC viene incrementato (istruzione
successiva)
Fase di decodifica
Fasi di esecuzione e scrittura
Fase di decodifica di un’istruzione
1. Viene individuata la parte che identifica
l’operazione
2. Vengono individuate le parti che specificano
gli operandi
Fase di esecuzione
Esecuzione dell’istruzione, in genere da parte
della ALU
Fase di scrittura
Risultato scritto
Esempio di funzionamento della CPU
Trasferimento del contenuto
di cella 44 nel registro R01
Trasferimento del contenuto
di cella 52 nel registro R02
Somma del contenuto dei
registri R01 e R02 e
memorizzazione nel registro
R03
Trasferimento del contenuto
del registro R03 nella cella di
memoria di indirizzo 44
Programma
101
load R01, 44
102
load R02, 52
103
add R01, R02, R03
104
store R03, 44
In un registro interno alla CPU
Memoria centrale
Esempio di funzionamento della CPU
CPU
ALU
Unità di controllo
PSW
Registri
PC
Indirizzi di memoria
IR
101
Esempio di funzionamento della CPU
Memoria
Ind
contenuto
…
…
44
22
…
…
52
10
…
…
101
load R01, 44
load R02, 52
102
103
104
add R01, R02, R03
store R03, 44
Esempio di funzionamento della CPU
Istruzione 101
PC contiene valore 101
Fase di fetch
CPU manda sul bus indirizzi 101
La memoria invia sul bus dati il
contenuto della cella 101
(istruzione viene copiata dalla
memoria in IR)
Contenuto del PC viene incrementato
Programma
101 load R01, 44
102
load R02, 52
103
add R01, R02, R03
104
store R03, 44
Esempio di funzionamento della CPU
Esempio di funzionamento della CPU
Memoria
CPU
Ind
contenuto
…
…
44
22
…
…
52
10
…
…
101
load R01, 44
load R02, 52
102
103
104
add R01, R02, R03
store R03, 44
ALU
Unità di controllo
PSW
Registri
PC
102
IR
load R01, 44
Esempio di funzionamento della CPU
Istruzione 101
Fase di decodifica ed esecuzione
CPU richiede il contenuto della cella
di memoria di indirizzo 44
Programma
101 load R01, 44
102
Memoria invia contenuto della cella
44
103
104
load R02, 52
add R01, R02, R03
store R03, 44
Esempio di funzionamento della CPU
Memoria
Ind
…
…
44
22
…
…
52
10
…
…
101
load R01, 44
load R02, 52
102
103
104
Esempio di funzionamento della CPU
CPU
ALU
Unità di controllo
add R01, R02, R03
store R03, 44
Esempio di funzionamento della CPU
La CPU passa all’istruzione 102
Programma
Lettura del contenuto della cella 102
e caricamento dell’istruzione in IR
101 load R01, 44
Decodifica ed esecuzione
102
load R02, 52
103
add R01, R02, R03
104
store R03, 44
PSW
Registri
R01
contenuto
22
PC
102
IR
load R01, 44
Esempio di funzionamento della CPU
Esempio di funzionamento della CPU
Memoria
CPU
Ind
contenuto
…
…
44
22
…
…
52
10
…
…
101
load R01, 44
load R02, 52
102
103
104
Unità di controllo
ALU
PSW
Registri
R01
R02
22
10
add R01, R02, R03
store R03, 44
Esempio di funzionamento della CPU
Esecuzione dell’istruzione 103
(somma)
Nella fase di esecuzione l’unità di
controllo
• trasmette alla ALU il codice
dell’istruzione da svolgere (add)
• Attiva collegamenti tra registri R01
e R02 e ALU
ALU esegue la somma e scrive il
risultato in R03
Programma
101 load R01, 44
102
load R02, 52
103
add R01, R02, R03
104
store R03, 44
PC
103
IR
load R02, 52
Esempio di funzionamento della CPU
Memoria
Ind
contenuto
…
…
44
22
…
…
52
10
…
…
101
load R01, 44
load R02, 52
add R01, R02, R03
store R03, 44
102
103
104
Esempio di funzionamento della CPU
CPU
ALU
Unità di controllo
PSW
Registri
R01
R02
R03
22
10
32
PC
103
IR
load R02, 52
Esempio di funzionamento della CPU
Esecuzione dell’istruzione 104
(store)
Viene prelevato indirizzo 44 e
inviato alla memoria
Programma
101 load R01, 44
Inviato alla memoria il
contenuto del registro R03
102
load R02, 52
103
add R01, R02, R03
104
store R03, 44
Esempio di funzionamento della CPU
Esempio di funzionamento della CPU
CPU
Memoria
ALU
Unità di controllo
PSW
Registri
R01
R02
R03
22
10
32
PC
IR
105
store R03, 44
Ind
contenuto
…
…
44
32
…
…
52
10
…
…
101
load R01, 44
load R02, 52
102
103
104
add R01, R02, R03
store R03, 44
Funzionamento della CPU
La velocità di elaborazione della CPU dipende
dalla frequenza dei cicli macchina: clock
Viene espressa in hertz (unità misura di
frequenza)
Attualmente si usano gigahertz (GHz).
9
1 gigahertz (simbolo GHz) = 10 Hz =
1.000.000.000 Hz
Funzionamento della CPU
Legge di Moore: numero di transistor su un chip
raddoppia circa ogni 24 mesi
E’ un’osservazione empirica
Memoria
Architettura dell’elaboratore
Memoria
Dispositivo di memorizzazione:
immagazzinamento dati e istruzioni utili per
l’elaboratore
Caratteristiche fondamentali di una memoria
generica :
velocità della memoria
capacità di memorizzazione
memorizzazione permanente o temporanea
costo della memoria
Memoria
Memoria
Velocità di memorizzazione cresce con il costo
per bit
Esistono memorie di limitata capacità, veloci
(costo alto)
Memorie di grande capacità ma lente (costo
contenuto)
Tipi di memoria:
registri CPU
memoria centrale: memoria temporanea o di
lavoro
di sola lettura o ROM (Read Only Memory )
memoria di massa (o secondaria): area di
memorizzazione permanente
Memoria centrale
Memoria centrale
Caratteristiche della memoria centrale:
contiene istruzioni e dati che la CPU elabora
costituita da celle
ogni cella identificata da un indirizzo univoco
viene detta RAM (Random Access Memory ,
memoria ad accesso casuale o accesso diretto )
è una memoria volatile
Indirizzi delle
celle di
memoria
Contenuto delle
celle di
memoria
Memoria centrale
Accesso ai dati
Acceso alle memoria centrale → diretto: si
accede in modo diretto ad una cella tramite
l’indirizzo
Tempo di accesso costante
Oltre all’accesso diretto ai dati:
Accesso sequenziale: sequenza accesso predefinita
Ogni
cella richiede lo stesso tempo
Accesso misto: serie di accessi diretti seguiti da una ricerca
sequenziale
ROM (Read Only Memory): memoria di sola
lettura, permanente
Dati contenuti in memoria ROM: programmi e
istruzioni per la fase di inizializzazione
(bootstrap)
Non è utilizzata per memorizzare i dati
dell’utente
il tempo di accesso varia a seconda di dove si trova il dato
utilizzato nei dischi
Accesso associativo: simile all’accesso diretto
Memoria ROM
tempo di accesso variabile
tipico dei nastri
Dipendente dal valore che si sta cercando
tempo di accesso costante per ogni cella
usato nelle memorie cache