Unità di controllo (informatica): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m ha spostato Unità di Controllo a Unità di controllo (informatica): esiste già pagina Unità di controllo di carattere generale.. |
Wikipedia:Bot/Richieste/Errori comuni, replaced: perchè → perché, finchè → finché, typos fixed: using AWB |
||
Riga 1:
L''''unità di controllo''' è un componente delle [[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]].
== Input e Output ==
Riga 12:
== Tecniche di implementazione ==
=== Rete combinatoria ===
=== Micro-linguaggio ===
Guardando più attentamente è possibile osservare che il compito dell'unità di controllo è simile a quello di un microprocessore ovvero effettuare delle scelte a seconda degli input e reagire di conseguenza (sequenzializzare le micro-operazioni ecc).
* la ''microprogrammazione verticale'' dove ogni microistruzione specifica poche microoperazioni da eseguire. In questo caso le microistruzioni hanno pochi bit, dove n segnali di controllo sono rappresentati da log2 n bit, ed è quindi necessaria una decodifica successiva dell'istruzione per generare i segnali di controllo
* o una ''microprogrammazione orizzontale'' dove si possono specificare molti segnali di controllo in parallelo e avere tanti bit quanti sono i segnali di controllo da generare. In questo caso è possibile effettuare un elevato parallelismo, e la codifica dei segnali è nulla o limitata.
Riga 30:
== Schema di Wilkes ==
Dal punto di vista prettamente fisico, è possibile implementare una unità di controllo microprogrammata attraverso lo schema di ''Wilkes'', ovvero costruendo una griglia di conduttori a formare una enorme [[matrice]], con dei [[diodi]] collegati agli incroci. Ad ogni colpo di clock viene attivata una riga della matrice, ottenendo dei segnali d'uscita alle colonne collegate con i diodi. La prima parte delle colonne riguarda le istruzioni da eseguire, la seconda parte l'istruzione successiva da eseguire. Ogni riga rappresenta quindi la microistruzione da eseguire e l'intera matrice è la memoria delle microistruzioni. Ovviamente questo schema è rigorosamente orizzontale, e richiede un gran numero di bit.
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
==Pipeline==
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
==Voci Correlate==
Riga 44:
{{Portale|Informatica}}
[[Categoria:
[[Categoria:Terminologia informatica]]
|