Unità di controllo (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Altri progetti: Aggiunto il parametro "Preposizione" nel template "Interprogetto"
fix /migliorata leggibilità wikitesto
Riga 1:
{{F|terminologia informatica|febbraio 2013|nessuna fonte, mancano completamente le sezioni Note, Bibliografia e Collegamenti esterni}}
 
L{{'}}'''unità di controllo''' (dall'inglese:in acronimo ''Control Unit'CU''', in dall'[[acronimoinglese (lingua)|inglese]] '''CU'Control Unit''), è un componente della [[CPU]] che ha il compito di coordinare tutte le azioni necessarie per l'esecuzione di una [[Istruzione (informatica)|istruzione]] e di [[Programma (informatica)|insiemi di istruzioni]]. È il componente che dà la possibilità al microprocessore di eseguire istruzioni diverse. Le azioni che coordinano i vari settori della CPU (la [[Unità aritmetica e logica|ALU]], i [[Registro (informatica)|registri]], il [[Write-Back]]) vengono dette "[[micro operazioni]]", mentre un insieme di micro-istruzioni viene detto "[[microprogramma]]".
 
== Input e Output ==
Line 23 ⟶ 24:
 
== CAR e CBR ==
Si definisce ''CAR'' il registro indirizzi di controllo (''Control Address register''), e ''CBR'' il registro buffer di controllo (''Control Buffer Register''). Un'unità di controllo microprogrammata deve effettuare due operazioni fondamentali nell'unità temporale di riferimento che è il clock. Prelievo di una microistruzione attraverso la determinazione dell'indirizzo della memoria di controllo al quale si deve accedere (e quindi sequenzializzazione delle microistruzioni) e l'esecuzione della microistruzione.

L'unità di controllo opera quindi nel seguente modo:
* il sequenziatore emette un comando di lettura
* La microistruzione contenuta nella locazione della memoria di controllo specificata dal Registro Indirizzi del Controllo (CAR) è trasferita nel Registro Buffer del Controllo (CBR)
Line 36 ⟶ 39:
Supponiamo che l'unità di controllo debba generare K segnali, sia esterni che interni. Con lo schema di Wilkes abbiamo 2k configurazioni possibili. Non tutte queste vengono utilizzate per vari motivi (due sorgenti non possono essere inviate alla stessa destinazione nello stesso ciclo, un registro non può essere sorgente e destinazione nello stesso ciclo, in un ciclo l'ALU può ricevere un unico segnale, in un ciclo il bus di controllo esterno può ricevere un unico segnale), e si potrebbe quindi pensare di ridurre il numero di segnali di ingresso della matrice. Ma questo complicherebbe di parecchio la programmazione e la decodifica in uscita, per cui si usano più bit di quelli strettamente necessari, ma alcune configurazioni non si codificano perché inutilizzate. Una tecnica di codifica delle istruzioni è quella del dividerle in campi, ogni campo, che attiva i suoi segnali di controllo, con la sua codifica. I campi sono indipendenti, e quindi campi diversi possono dare il via ad azioni diverse simultaneamente mentre ogni campo può dare il via a una sola azione per ciclo di clock.
 
== Pipeline ==
{{vedi anche|Pipeline dati}}
{{Vedi anche|Pipeline dati}}In presenza di pipeline all'interno del microprocessore, l'unità di controllo dovrà essere in grado di rilevare hazard sui dati e sui controlli e modificare le istruzioni in corso di esecuzione. Tutti i controlli vengono salvati nei ''registri di pipeline'' e scalate via via in avanti finché non viene completata l'istruzione. L'introduzione della pipeline ha complicato notevolmente la struttura interna dell'unità di controllo, per prevenire i problemi legati agli hazard dei dati e dei controlli.
 
{{Vedi anche|Pipeline dati}}In presenza di pipeline all'interno del microprocessore, l'unità di controllo dovrà essere in grado di rilevare hazard sui dati e sui controlli e modificare le istruzioni in corso di esecuzione. Tutti i controlli vengono salvati nei ''registri di pipeline'' e scalate via via in avanti finché non viene completata l'istruzione. L'introduzione della pipeline ha complicato notevolmente la struttura interna dell'unità di controllo, per prevenire i problemi legati agli hazard dei dati e dei controlli.
 
== Voci correlate ==
* [[CPU]]
* [[Linguaggio di programmazione]]