sei sul sito di Giovanni Fraterno
Con lo scopo di minimizzare
anche l'impatto del tempo perso dal
microprocessore nell'attendere le altre più lente componenti del PC,
ovvero la RAM, il disco rigido, e così
via, tutti i processori Intel dal Pentium II
in poi, si sforzano di tenere ciò nonostante sempre
piena la pipeline mediante due ulteriori tecniche:
- la previsione di salto
- e
l'esecuzione speculativa.
Tecniche che in effetti consistono entrambe nell'anticipare
il trattamento di pezzi di codice, con ciò tenendo appunto sempre piena
la pipeline, che per la lentezza della RAM, del disco rigido e così via,
sovente correrebbe il rischio di svuotarsi
completamente facendo girare a vuoto il processore.
In effetti, si tratta di algoritmi che permettono di prevedere quali istruzioni verranno eseguite, in modo da
poterle inserire nella pipeline ancor prima
che il programma che sta girando sul PC vi faccia appello.
Naturalmente, prima di
mandare effettivamente in esecuzione l'istruzione caricata nella pipeline in
anticipo, il microprocessore verificherà che
il vero comando richiesto dal programma sia
esattamente quello emerso dall'implementazione
anticipata.
In caso affermativo il microprocessore avrà
guadagnato altro tempo, in caso contrario bisogna svuotare tutta la pipeline per
ricominciare di nuovo, e questa volta su basi corrette.
Gli attuali microprocessori
raggiungono una percentuale di previsioni corrette superiore
al 98 %, il che equivale a dire che i
moderni processori finiscono per buttar via solo il
2 % dei cicli di lavoro.