All’inizio di ogni istruzione l’UC genera il segnale di controllo che serve per eseguire la fase di Fetch. Alla fine dell fase di Fetch nel IR c’è l’istruzione.
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
Gli obiettivi di progettazione di un’unità di controllo sono:
- minimizzare la quantità di hardware;
- massimizzare la velocità di esecuzione;
- ridurre il tempo di progetto (flessibilità).
A seconda delle esigenze si possono scegliere due tipi di unità di controllo: cablata e microprogrammata.
Generalmente i sistemi CISC sono dotati di un’unità di controllo microprogrammata, e i RISC di una cablata. L’unità di controllo dei microprocessori 8086 è microprogrammata
L’UC si presenta come un grande circuito sequenziale (ed in quanto tale, rispetta il modello di Huffman) perché ne si possono descrivere le specifiche ricorrendo ad un diagramma degli stati.
Il progettista, sulla base dell’instruction set, progetta l’unità di elaborazione. Per ogni istruzione, stabilisce quindi quali microistruzioni siano necessarie per l’esecuzione dell’istruzione stessa.
Dopodiché, stabilisce le specifiche dell’UC. Si parte generalmente da una descrizione del suo funzionamento, basata ad es. su un diagramma a stati. Si esegue poi la trasformazione in hardware.
Esistono 2 strategie:
- unità di controllo cablate (o hardwired):
- la UC viene considerata come un normale circuito sequenziale, a cui applicare i metodi tradizionali di progetto;
- unità di controllo microprogrammate:
- ogni operazione che l’unità di controllo deve eseguire viene descritta da una microistruzione. I valori da assegnare ai segnali di controllo in corrispondenza di ogni microistruzione sono immagazzinati in un’apposita Memoria;
Iscriviti ai nostri gruppi Telegram
Link utili