Sei sulla pagina 1di 26

3 ­ La CPU

Struttura della CPU

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  1
Ing. Giancarlo Iannizzotto
3 – La CPU

La CPU
• La CPU (Central Processing Unit), svolge 
tutte le funzioni fondamentali di 
processamento dei dati.
• Si compone di una Control Unit (CU), 
una Arithmetic­Logic Unit (ALU), un 
insieme di Registri, un Clock ed un Bus 
interno.

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  2
Ing. Giancarlo Iannizzotto
3 – La CPU

La CPU
• Schema a blocchi di una CPU:
ALU clock
Registro di stato C
Accumulatore
BUS U
Registro B
Registro Dati PC
Registro C

Registro Indirizzi IR
Registro …

Registro di stack
Registro Interruzioni
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  3
Ing. Giancarlo Iannizzotto
3 – La CPU

La Control Unit
• Ha la funzione di eseguire le istruzioni in 
memoria una alla volta attraverso le fasi: 
fetch,  decode, execute

Esegui…
Preleva…
Decodifica…
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  4
Ing. Giancarlo Iannizzotto
3 – La CPU

Istruzione
• Istruzione:  parola  binaria  che  indica  alla  CPU 
di eseguire una funzione fra quelle disponibili.
• Un' Istruzione è composta da due campi:

Codice Operativo Campo Operandi

Sempre presente.  Può non esistere. 
Specifica l’operazione da  Specifica il valore o la 
eseguire tramite un codice  posizione in memoria di 
numerico univoco uno o più operandi
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  5
Ing. Giancarlo Iannizzotto
3 – La CPU

Fase di Fetch
• La CU preleva un’istruzione dalla memoria.
• Il codice operativo viene copiato nel registro detto 
Instruction Register.
Instruction Register
• Il codice operativo indica se è necessario 
prelevare zero, uno o due operandi.
• Gli operandi vengono prelevati e copiati nei registri 
registri
specificati fra Accumulatore, B, C… 
Accumulatore
Area di memorizzazione 
temporanea ad alta 
velocità di accesso
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  6
Ing. Giancarlo Iannizzotto
3 – La CPU

Fase di Fetch
• L’indirizzo di memoria dal quale la CU 
preleva l’istruzione da eseguire è 
contenuto nel registro detto Program 
Counter (PC).
Counter
• Dopo il fetch, il PC viene aggiornato.

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  7
Ing. Giancarlo Iannizzotto
3 – La CPU

Fase di Decode

• La CU determina il tipo di istruzione che 
deve essere eseguita;
• Qualora l’istruzione sia di tipo aritmetico 
o logico, viene passata alla ALU.

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  8
Ing. Giancarlo Iannizzotto
3 – La CPU

Fase di Execute
• La CU esegue l’istruzione;
– Se l’istruzione è aritmetica o logica, è stata 
eseguita dalla ALU.
• L’esecuzione potrebbe richiedere il 
trasferimento del contenuto di un 
registro in una locazione di memoria 
specificata da un altro registro.

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  9
Ing. Giancarlo Iannizzotto
3 – La CPU

Fase di Execute
• L’esecuzione potrebbe richiedere che il 
contenuto del registro PC venga sostituito 
con il contenuto di un altro registro.
• Questa operazione comporterà, al 
prossimo ciclo, l’esecuzione della 
istruzione situata in una locazione di 
memoria non consecutiva a quella 
appena acceduta (JUMP: salto).
salto
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  10
Ing. Giancarlo Iannizzotto
3 – La CPU

La ALU
• L’Unità Aritmetico/Logica (ALU) esegue le 
operazioni di tipo aritmetico o logico sui dati 
contenuti nei registri Accumulatore, B, C…
• Il risultato dell’operazione viene 
memorizzato nell’Accumulatore.

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  11
Ing. Giancarlo Iannizzotto
3 – La CPU

Il Registro di Stato
• Il Registro di Stato, o Flag Register, 
segnala il verificarsi di determinati eventi 
durante la esecuzione del programma.
• Ciascun bit del registro è associato ad un 
evento la cui occorrenza è segnalata dal 
valore assunto dal bit.

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  12
Ing. Giancarlo Iannizzotto
3 – La CPU

Il Registro di Stato
• Ad esempio, un particolare bit a ‘1’ 
segnala che si è verificata, durante 
l’esecuzione dell’ultima operazione 
aritmetica, una divisione per zero.
divisione per zero
• Un altro bit segnala, se posto a ‘1’, che 
durante l’esecuzione dell’ultima 
operazione aritmetico/logica il risultato è 
stato ‘0’.
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  13
Ing. Giancarlo Iannizzotto
3 – La CPU

Il Registro di Stato
• I bit del Registro di Stato sono detti 
FLAG proprio per la loro funzione di 
segnalazione di eventi.
segnalazione
• Altri flag:
– Riporto
– Overflow
– Segno …

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  14
Ing. Giancarlo Iannizzotto
3 – La CPU

Il Clock
• La CPU è una macchina sincrona, il che 
macchina sincrona
significa (in breve) che essa necessita di 
un segnale periodico che stimoli le sue 
componenti a progredire nella 
esecuzione.
• Tale segnale funge da “orologio comune” 
per tutte le componenti della CPU.

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  15
Ing. Giancarlo Iannizzotto
3 – La CPU

Il Clock
• Il clock genera un segnale periodico a 
frequenza molto elevata.
• Il segnale ha un massimo per ogni periodo, 
in corrispondenza del quale tutti i dispositivi 
si sincronizzano. Tale massimo è spesso 
detto “tick”.
• L’esecuzione di una istruzione può 
richiedere anche diversi tick (cicli di clock).
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  16
Ing. Giancarlo Iannizzotto
3 – La CPU

Il Clock
• Il segnale di clock può essere fornito  o 
da un generatore esterno o da un circuito 
interno al microprocessore.
• Ciascuna delle operazioni di prelievo 
dalla memoria, decodifica ed esecuzione 
di un'istruzione richiede un ciclo­macchina 
ciclo­macchina
(alcuni periodi del segnale di clock).

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  17
Ing. Giancarlo Iannizzotto
3 – La CPU

Il Bus
• Il Bus interno della CPU mette in 
comunicazione le unità funzionali della 
CPU ed è composto di:
– Bus Indirizzi: identifica l’unità da 
indirizzare;
– Bus Dati: contiene il dato da trasferire
– Bus di Controllo: specifica l’operazione da 
eseguire (lettura o scrittura)
• La CU funge da Bus Master.
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  18
Ing. Giancarlo Iannizzotto
3 – La CPU

I Registri Dati e Indirizzi
• I Registri Dati ed Indirizzi sono utilizzati dalla 
CU nelle operazioni di lettura e scrittura dalla 
memoria (che avvengono tramite il Bus di 
Sistema)
– Il registro Dati contiene il dato che deve essere 
depositato o che è stato prelevato dalla memoria;
– Il Registro Indirizzi contiene l’indirizzo della 
locazione di memoria da cui prelevare o su cui 
depositare il dato.
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  19
Ing. Giancarlo Iannizzotto
3 – La CPU

Lettura dalla memoria
• Ciclo di lettura dalla memoria:
– La CU scrive nel Registro degli Indirizzi l’indirizzo della 
locazione;
– La CU segnala sul Control Bus di Sistema che intende 
operare una lettura.
– La memoria trasferisce (tramite il Bus Dati di Sistema) 
nel Registro Dati il contenuto della locazione.
– Quando il trasferimento è terminato la memoria segnala 
tramite il Control Bus di Sistema che la lettura è 
avvenuta.

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  20
Ing. Giancarlo Iannizzotto
3 – La CPU

Scrittura in memoria
• Ciclo di scrittura in memoria:
– La CU scrive nel Registro degli Indirizzi l’indirizzo della 
locazione;
– La CU scrive nel Registro Dati il valore che vuole scrivere 
in memoria
– La CU segnala sul Control Bus di Sistema che intende 
operare una scrittura.
– La memoria trasferisce (tramite il Bus Dati di Sistema) il 
contenuto del Registro Dati nella locazione.
– Quando il trasferimento è terminato la memoria segnala 
tramite il Control Bus di Sistema che la scrittura è 
avvenuta.
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  21
Ing. Giancarlo Iannizzotto
3 – La CPU

Interrupt Register
• Il Registro delle Interruzioni (Interrupt 
Registro delle Interruzioni 
Register) segnala l’eventuale 
occorrenza di una condizione di 
interruzione.
interruzione
• Le interruzioni sono particolari eventi 
per cui il normale flusso di esecuzione 
di un programma viene interrotto.

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  22
Ing. Giancarlo Iannizzotto
3 – La CPU

Interrupt
• Quando il registro delle interruzioni 
segnala un interrupt, un particolare 
indirizzo viene copiato nel registro PC.
• Il precedente valore del PC viene 
salvato in una locazione di una 
particolare area di memoria detta 
STACK, la cui posizione è contenuta nel 
STACK
Registro di Stack

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  23
Ing. Giancarlo Iannizzotto
3 – La CPU

Interrupt
• Anche il contenuto degli altri registri 
viene salvato nello STACK, in modo da 
poter essere recuperato.
• La CPU passa quindi ad eseguire una 
sequenza di istruzioni detta Routine di 
Gestione delle Interruzioni.

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  24
Ing. Giancarlo Iannizzotto
3 – La CPU

Interrupt
• Quando la procedura di gestione delle 
interruzioni termina, il valore del registro 
PC che era stato salvato nello STACK 
viene ripristinato insieme ai valori degli 
altri registri.
• L’esecuzione del programma riprende 
così da dove era stata interrotta.

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  25
Ing. Giancarlo Iannizzotto
3 – La CPU

Note
• Il modello di CPU descritto è un modello 
realistico ma semplificato e corrisponde 
sostanzialmente alla struttura delle CPU 
dei primi anni ’80.
• La struttura delle CPU attuali è molto più 
complessa, principalmente a causa 
dell’introduzione di meccanismi per la 
parallelizzazione interna (pipelining).
parallelizzazione interna 

Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni  26
Ing. Giancarlo Iannizzotto