In una CPU troviamo
- insieme di registri veloci
- schema di interconnessione (tramite BUS o MUX-DEMUX)
All'interno dell'Unità di Controllo troviamo
- PC (Program Counter), un registro di tipo contatore preselezionabile. Contiene l'indirizzo di una locazione di memoria, il cui contenuto è mandato al
- Decodificatore di Istruzioni, che permette di riconoscere l'istruzione in entrata.
- Il codificatore di comandi, che, a seconda dell'istruzione decodificata, attiva gli opportuni moduli generando segnali di funzione o di comando, che saranno inviati all'ALU se sono istruzioni aritmetico logiche, alla MEMORIA se sono istruzioni di trasferimento, oppure aggiorneranno il PC se sono istruzioni di salto.
In realtà, non tutto il contenuto del registro va al decodificatore. L'istruzione,
infatti, si divide in codice operativo e referenziamento operandi; solo il codice
è mandato al decodificatore.
Fasi di esecuzione di un'istruzione
L'Unità di Controllo è una macchina sequenziale, come d'altra parte l'Unità
Aritmetico Logica. Modelliamo, quindi, la CU con un automa a due stati:
Il primo stato comprende le fasi di:
- FETCH (caricamento): il PC contiene l'indirizzo di memoria da cui prelevare l'istruzione; quest'ultima arriva al decodificatore
- DECODE (decodifica): l'informazione entra nel transcodificatore, che restituisce un segnale di comando o funzione
Il secondo stato è la fase di
Classificazione delle istruzioni
- istruzioni di trasferimento; non modificano l'operando. Il trasferimento può avvenire in quattro modi:
- memoria->registro
- registro->registro
- registro->memoria
- memoria->memoria
- istruzioni aritmetico-logiche; modificano l'operando (o gli operandi). Esempi di istruzioni aritmetiche: addizione, sottrazione, cambiamento di segno, moltiplicazione, divisione. Esempi di istruzioni logiche: OR, AND, NOT (più quelle che si ottengono componendoli), scorrimento, rotazione, test su stringa o singolo bit, manipolazioni su stringa o su singolo bit.
- istruzioni di comando; sono direttive di comportamento per la macchina. Esempi: HALT e gestione di situazioni anomale.
- istruzioni di salto; si distinguono in:
- salto incondizionato; forza il contenuto del PC
- salto condizionato; forza il contenuto del PC solo se è vera la condizione
- salto a sottoprogramma o subroutine; forza il PC ad un nuovo programma, per poi tornare al punto di interruzione del primo programma
- interruzioni e trap, per situazioni anomale che hanno bisogno di salti all'esecuzione di altri programmi
- istruzioni di ingresso e uscita.
--
GiuseppeMacario - 30 Mar 2002