Architetture dei processori/Unità di decodifica: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Hellisp (discussione | contributi)
m ha spostato Wikiversità:Facoltà di Informatica/Architetture dei processori/Unità di decodifica a Architetture dei processori/Unità di decodifica
Broc (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
L'unità di decodifica si occupa di ricevere le istruzioni in ingresso e di attivare le opportune unità interne del processore per eseguire l'istruzione caricata. Nei primi processori questa unità provvedeva a tradurre l'istruzione in opportuno microcodice che veniva utilizzato per gestire l'ALU i registri l'accumulatore e le atre unità funzionali dei processori. Con l'avvento delle unità dotate di pipeline il microcodice è stato sostituito da segnali di controllo che temporizzano le varie unità .
 
Alcuni [[w:microprocessori|microprocessori]] comunque utilizzano ancora parzialmente il microcodice per codificare alcune istruzioni che vengono considerate poco utilizzate ma che devono essere mantenute per ragione di compatibilità. Questa strategia permette di risparmiare transistor ma ovviamente produce un degrado delle prestazioni.
 
Nei microprocessori superscalari l'unità di decodifica diventa una componente critica del processore dato che l'unità si occupa di riceve le unità e di organizzarle in modo da ridurre al minimo possibile gli stalli delle pipeline. Questo viene ottenuto eseguendo le istruzioni fuori ordine, cioè l'unità di decodifica riconosce quali istruzioni non sono vincolate da altre istruzione e provvede a anticiparle o ritardarle rispetto al normale flusso del programma al fine di massimizzare l'utilizzo delle pipeline.