Architetture dei processori/Pipeline: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Hellisp (discussione | contributi)
Hellisp (discussione | contributi)
Riga 15:
L'implementazione di una pipeline non sempre migliora le prestazioni. Questo è dovuto al fatto che le istruzioni possono richiedere l'elaborazione di dati non ancora disponibili e alla presenza dei salti condizionati.
 
[[Image:Pipeline 5.png|thumb|right|300px|In questa pipeline non è previsto il riporto indietro dei risultati quindi l'istruzione gialla deve attendere la memorizzazione dell'istruzione rossa introducendo due bolle e bloccando la pipeline]]
[[Image:Pipeline-4.png|thumb|right|400px300px|Notare come l'istruzione rossa fornisce il risulatatorisultato dell'operazione direttamente al ciclo successivo per permettere all'istruzione gialla del ciclo successivo di essere eseguita senza rallentamenti]]
*Il primo problema deriva dal lavoro parallelo delle unità.
Supponiamo che la CPU con pipeline debba eseguire il seguente frammento di codice:
[[Image:Pipeline-4.png|thumb|right|400px|Notare come l'istruzione rossa fornisce il risulatato dell'operazione direttamente al ciclo successivo per permettere all'istruzione gialla di essere eseguita senza rallentamenti]]
# A+B=C (istruzione rossa)
# C-1=D (istruzione gialla)