Genere
ND
Lingua
ND
PEGI
ND
Prezzo
ND
Data di uscita
ND

Intel

Intel Aggiungi alla collezione

Datasheet

Produttore
Intel

Link

Speciale

In arrivo Nehalem

Il futuro prossimo di Intel si avvicina...

di Antonino Tumeo, pubblicato il

I miglioramenti dal punto di vista della brach prediction non riguardano solo la gestione delle predizioni errate, ma comprendono anche diverse soluzioni per aumentare l'accuratezza delle predizioni stesse. In primo luogo, è stato aggiunto un branch target buffer (BTB) di secondo livello. Il BTB è un buffer in cui vengono salvati i possibili indirizzi ai quali saltare in base alla predizione e, come per ogni memoria, più piccola è, più è veloce. D'altra parte, una memoria troppo piccola costringe a contemplare pochi possibili casi e di conseguenza aumentare la probabilità di sbagliare la predizione. La soluzione integrata da Intel è quella dunque di aggiungere una seconda gerarchia, come accade con le cache, dove con la penalità di una latenza maggiore, ma comunque decisamente inferiore rispetto al dover ripulire la pipeline dalle istruzioni erroneamente lanciate, è possibile andare a salvare un maggior numero di possibili predizioni, nel caso il buffer di primo livello non contenga i dati desiderati. Secondariamente, è stato introdotto un buffer per lo stack di ritorno con supporto alla ridenominazione (Renamed Return Stack Buffer). Il buffer, salvando gli indirizzi dello stack (la pila in memoria dove vengono salvate le variabili utilizzate all'interno di una funzione) al momento della chiamata e del ritorno dalle funzioni, consente di evitare al processore di iniziare a lavorare su dati errati durante una chiamata a funzione anche nel caso di errata predizione.
In ultimo luogo, va sottolineata l'introduzione del loop stream detector. Con questo meccanismo, il processore potrà individuare se le istruzioni in esecuzione sono relative a un loop e, di conseguenza, disabilitare le componenti del core non necessarie alla sua esecuzione (per esempio, le istruzioni sono già caricate e dunque non c'è bisogno di eseguire fetching, o di applicare a esse branch prediction).

Miglioramenti sulle cache

Anche la gerarchia di cache subirà una revisione abbastanza significativa. Ciascun core di Nehalem avrà 32 KB di cache di primo livello rispettivamente per dati e istruzioni (come gli attuali Core 2), e una cache di secondo livello di 256 KB (dati e istruzioni). Sia Penryn che Conroe, invece, si basano su una cache 2L unificata di grandi dimensioni (rispettivamente, 4 MB e 6 MB nei modelli di punta). La differenza è che una cache 2L privata, relativamente piccola, dovrebbe garantire bassa latenza e non soffrire degli effetti dovuti alla contesa di 4 core che cercano di accedervi contemporaneamente. Farà invece la sua apparizione una cache di terzo livello condivisa fino a 8 MB, ma a differenza delle soluzioni di casa AMD, come da tradizione Intel le cache saranno di tipo inclusivo. Ciò significa che i dati presenti in un livello inferiore sono presenti anche nel livello superiore, e che dati non presenti nell'ultimo livello di cache sono sicuramente in memoria, dunque rendendo più semplice la gestione dei meccanismi di ricerca e invalidazione.