Architetture dei processori/Pipeline: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Hellisp (discussione | contributi)
m ha spostato Wikiversità:Facoltà di Informatica/Architetture dei processori/Processore monolitico/Pipeline a Wikiversità:Facoltà di Informatica/Architetture dei processori/Pipeline
Hellisp (discussione | contributi)
Riga 22:
 
*Il secondo problema consiste nei salti condizionati.
I programmi contengono delle istruzioni condizionate che se una specifica condizione è verificata provvedono a interrompere il flusso abituale del programma e a mandare in esecuzione un altro pezzo di programma indicato dall'istruzione di salto. Ogni volta che questo accade il microprocessore si trova a dover eseguire un nuovo flusso di operazioni e quindi deve svuotare la pipeline del precedente flusso e caricare il nuovo flusso. Ovviamente queste operazioni fanno sprecare cicli di clock e quindi deprimono il throughput. Per ridurre questo problema le CPU adottano delle unità chiamate [[Wikiversità:Facoltà di Informatica/Architetture dei processori/ProcessoreUnità monolitico/Pipeline/BPUpredizione salti|unità di predizione delle diramazioni]] (in inglese ''Branch Prediction Unit'') che fanno delle previsioni sul flusso del programma. Queste unità riducono notevolmente i cicli persi per i salti. Queste unità fanno un'analisi speculativa del codice cercando di prevedere se il salto verrà eseguito oppure no e fanno eseguire alle pipeline il codice più
 
== Evoluzioni ==