Indice.
- Registro contatore del programma.
- Registro indirizzi.
- Registro delle istruzioni.
- Decodificatore delle istruzioni.
Come si può vedere, essa è costituita da una serie di registri e da un processore di controllo (a sua volta composto da ‘un generatore di segnali e da un decodificatore). Per descrivere il funzionamento della CU (unità di controllo) immaginiamo iI processo di esecuzione di un “istruzione pronta per essere elaborata. Per far ciò innanzi tutto dobbiamo conoscere la funzione di un altro registro, il cosiddetto “registro contatore del programma” (PC). ll PC contiene sempre l’indirizzo di memoria in cui si trova l'istruzione che deve essere eseguita successivamente.
Registro contatore del programma.
Come abbiamo già visto, il passo da compiere prima di eseguire un’istruzione consiste nell’andare a cercarla nella memoria del sistema. ll registro PC indica qual è l'indirizzo di memoria in cui si trova. Una volta ottenuta, e prima di continuare con i passi successivi per l'esecuzione dell'istruzione, un segnale di controllo incrementa di una unità il valore del PC, in modo che il suo contenuto segnali l'indirizzo di memoria che contiene la successiva istruzione da eseguire.
Dato che il sistema di controllo incrementa di una unità il contenuto del PC indicando tramite questo registro gli indirizzi di memoria in cui il microprocessore deve andare a cercare l’istruzione da eseguire è necessario che i programmi siano scritti in posizioni di memoria consecutive.
Registro indirizzi.
ll registro contatore di programma è collegato, per mezzo di un bus interno, a un registro ausiliare detto “indirizzi”. ll registro indirizzi è collegato al bus degli indirizzi del sistema e per questo motivo il suo contenuto è sempre interpretato come un indirizzo. ll trasferimento dei dati contenuti nel PC al registro degli indirizzi, così come il contenuto di questo al bus, viene realizzato mediante i corrispondenti segnali di controllo.
Le dimensioni di questi due registri dipendono dal numero di linee di cui dispone il bus degli indirizzi. Questi ultimo valore è una caratteristica che identifica i microprocessori ed è collegato alla loro capacità di gestire la memoria. Per “gestione di memoria” si intende il numero dei diversi indirizzi che un microprocessore può identificare, e quindi selezionare, per leggere o scrivere una determinata serie di bit.
Come abbiamo già detto, con n bit si possono ottenere fino a 2n parole differenti di n bit ciascuna. Se si identifica ognuna di queste parole con uno specifico indirizzo di memoria, si può dire che un registro di n bit può segnalare qualunque delle possibili 2" posizioni di memoria. Questo numero rappresenta la capacità di gestione della memoria.
Cosi con 8 bit si possono indirizzare fino a 28:256, con 16 fino a 216=65.536 (64K) e con 32 bit fino a 232=4.294.967.296 (4M) posizioni di memoria. Con l'indirizzo appropriato nel bus possiamo leggere dalla memoria l’istruzione che si deve eseguire.
IL trasferimento dei bit che formano l'istruzione viene realizzato attraverso il bus dei dati, che collega la memoria alla unità di controllo della CPU. La CU raccoglie questa informazione (l'istruzione) in un registro denominato “registro dei dati” per il fatto di essere collegato direttamente al bus dei dati. Ricordiamo ancora una volta che la lettura dell’istruzione in memoria, così come il trasferimento di questi dati fino al registro della CU (unità di controllo), è governata da segnali di controllo.
Registro delle istruzioni.
Una volta che l’istruzione si trova nella CPU, parte di essa, più concretamente il codice di istruzione, viene trasferita a un registro della stessa CU (unità di controllo) chiamato “registro delle istruzioni”. Quest'ultimo è direttamente collegato ad un circuito detto processore di controllo, che a sua volta si divide in due blocchi, il “decodificatore delle istruzioni” e il “circuito generale dei segnali di controllo”.
Decodificatore delle istruzioni.
ll decodificatore delle istruzioni è il circuito incaricato di identificare l'istruzione da eseguire. ln funzione di questa identificazione invia un insieme di differenti ordini al circuito generatore di segnali di controllo dello stesso processore di controllo. Per ciascun ciclo di orologio del sistema, il processore di controllo invia ai registri e circuiti collegati all’istruzione in esecuzione gli adeguati segnali di controllo. Questi segnali vengono inviati per mezzo del bus di controllo del sistema.
ll processore di controllo è incaricato anche di fornire tutti quei necessari segnali di controllo che sono stati indicati in precedenza nel processo di ricerca dell’istruzione. Questa ricerca precedente l’esecuzione del l'istruzione è uguale per tutte le istruzioni del sistema. Nella unità di controllo della CPU, infine, esiste un numero variabile di registri ausiliari, le cui incombenze possono essere molto diverse e che dipendono dal microprocessore. In generale i registri ausiliari contengono dati che la CPU utilizza spesso nell'esecuzione di determinate istruzioni e che per ragioni di velocità di processo mantiene al suo interno. È facile intuire che per ottenere un determinato dato la CPU abbisogna di più tempo per accedervi, se questo si trova in memoria invece che in un registro interno.