L’unità di controllo cablata è modellata come una Macchina a Stati Finiti (Finite State Machine o FSM).
Negli articoli precedenti abbiamo visto:
- Come funziona una CPU: progetto di circuiti logici #0
- Come funziona una CPU: Flip-Flop SR asincrono #0.1
- Come funziona una CPU: Flip-Flop sincrono #0.1.1
- Come funziona una CPU: Flip-Flop D #0.1.2
- Come funziona una CPU: Flip-Flop Master-Slave #0.1.3
- Come funziona una CPU: Modello di Huffman #0.2
- Come funziona una CPU: progetto di circuiti sequenziali sincroni #0.2.1
- Come funziona una CPU: progetto dei circuiti logici #0.3
- Come funziona una CPU: porte logiche operanti su parole #0.3.1
- Come funziona una CPU: multiplexer #0.3.2
- Come funziona una CPU: decodificatore #0.3.3
- Come funziona una CPU: codificatore (encoder) #0.3.4
- Come funziona una CPU: codificatore prioritario (priority encoder) #0.3.4.1
- Come funziona una CPU: sommatore full-adder #0.3.5
- Come funziona una CPU: sommatore Ripple Carry Adder #0.3.5.1
- Come funziona una CPU: sommatore seriale #0.3.5.2
- Come funziona una CPU: Sommatore con carry-lookahead #0.3.5.3
- Come funziona una CPU: ALU spiegata in modo semplice #0.3.5.4
- Come funziona una CPU: comparatore #0.3.5.5
- Come funziona una CPU: registro a m-bit #0.3.6
- Come funziona una CPU: registro a scalamento (Shift Register) #0.3.6.1
- Come funziona una CPU: contatore semplice #0.3.7
- Come funziona una CPU: contatore asincrono (ripple counter) #0.3.7.1
- Come funziona una CPU: contatore sincrono #0.3.7.2
- Come funziona una CPU: bus spiegato in modo semplice #0.3.8
- Come funziona una CPU: introduzione alla cpu #0.4
- Come funziona una CPU: architettura base di una CPU #0.4.1
- Come funziona una CPU: operazioni fondamentali CPU #0.4.2
- Come funziona una CPU: operazioni sulla ALU #0.4.3
- Come funziona una CPU: accesso in memoria (MAR ed MDR) #0.4.4
- Come funziona una CPU: esecuzione di un’istruzione logica o artitmetica #0.4.5
- Come funziona una CPU: progetto dell’unità di controllo #0.4.6
L’unità di controllo cablata (o hardwired) è un circuito sequenziale che riceve i segnali di ingresso, passa attraverso una variazione degli stati e restituisce i dati in uscita: dei flip-flop memorizzano lo stato corrente, e la rete combinatoria ha in ingresso l’IR e altri segnali e in uscita i segnali di controllo con cui pilotare l’unità di elaborazione.
Le operazioni sono temporizzate da colpi di clock:
- dopo aver ricevuto il segnale di END dell’istruzione precedente, inizia il fetch tramite il registro MAR;
- continua a campionare il segnale MFC in attesa che la memoria sia pronta, finché l’MFC non è pari a 1;
- carica l’istruzione nell’IR tramite il registro MDR;
- esegue l’istruzione contenuta nell’IR pilotando i vari segnali di controllo.
Complessità dell’unità di controllo
Ad un crescente numero di istruzioni presenti nell’Instruction Set del processore corrisponde una crescente complessità dell’UC, la cui progettazione può rivelarsi particolarmente dispendiosa in termini di tempo e risorse.
La complessità dell’unità di controllo è in generale proporzionale al prodotto tra:
- il numero di segnali di controllo (provenienti dall’esterno e dall’unità di elaborazione);
- il numero di stati;
UC cablate: vantaggi
- Minimizza l’area di silicio utilizzata;
- Garantisce la massima frequenza di funzionamento (dell’UC stessa) in quanto il cammino critico del circuito progettato con questo metodo risulta minimo;
- Permette di minimizzare il costo del circuito;
UC cablate: svantaggi
- Le dimensioni della macchina a stati finiti possono essere tali da renderla difficile da progettare;
- Una volta che il circuito è stato sintetizzato (ossia la macchina a stati finiti è stata trasformata nell’hardware corrispondente), questo non ha una struttura regolare, e la sua modifica è in genere estremamente complessa;
Iscriviti ai nostri gruppi Telegram
Link utili