AMD Opteron Barcelona

AMD Opteron Barcelona

Dopo una lunga attesa AMD presenta quest'oggi la prima evoluzione delle architetture K8 utilizzate nelle cpu Athlon 64 e Opteron: parliamo del progetto noto con il nome in codice di Barcelona, concretizzatosi con le prime cpu quad core della famiglia Opteron. Analizziamone le caratteristiche architetturali rispetto alle soluzioni K8, prima di poterne valutare in dettaglio le prestazioni velocistiche

di pubblicato il nel canale Processori
AMD
 

Le cache L1, L2 e L3

schema_1.jpg (18963 bytes)I processori AMD della serie Barcelona introducono per la prima volta un'architettura di cache di terzo livello, o L3, che si pone in sequenza dopo le cache L1 e L2; se queste ultime sono specifiche per ciascun core integrato nel processore, la cache L3 è unificata e condivisa tra i vari core. AMD, di conseguenza, ha di fatto ripreso la struttura della cache propria delle cpu Athlon 64 e Opteron, che prevede cache L1 e L2 indipendenti per ciascun Core, aggiungendo una terza cache L3 da 2 Mbytes di capacità che può essere utilizzata in modo indipendente da tutti i core.

Per ciascun Core di processore, pertanto, continuerà ad essere presente una cache L1 da 128 Kbytes, divisa in due blocchi indipendenti da 64 Kbytes ciascuno per dati e istruzioni, affiancata da una cache L2 da 512 Kbytes, quantitativo equivalente a quello di altre soluzioni Athlon 64 sia single che dual core commercializzate da AMD e pari invece alla metà di quello di 1 Mbyte che viene fornito con i processori Opteron sia single che dual core in commercio, oltre che con alcune versioni di cpu Athlon 64 X2.

Le due cache sono di tipo esclusivo, caratteristica già presente nelle precedenti versioni di processore Athlon 64 e Opteron: questo implica pertanto che i dati contenuti nella cache L1 non siano replicati in quella L2, e viceversa; l'approccio scelto da Intel per i propri processori prevede invece cache L2 di tipo inclusivo, pertanto i dati presenti nella cache L1 sono replicati anche in quella L2 portando di conseguenza ad una lieve perdita dei dati massimi memorizzabili nella cache L2, pari al quantitativo di memoria L1 presente nel processore.

schema_funzionamento_cache.gif (15274 bytes)

La struttura di cache sviluppata da AMD per le cpu Barcelona prevede un approccio cosiddetto "victim": un dato rimane nella cache L1 sino a quando non viene spostato dal processore nella cache L2, in quanto deve lasciare spazio per altre informazioni più importanti che devono essere memorizzate nella cache L1. Qualora questo dato si riveli nuovamente necessario al processore per completare la propria elaborazione, è sufficiente riprenderlo dalla cache L2 e riportarlo nella cache L1, con un passaggio molto più rapido di quanto non avvenga dovendo richiedere nuovamente il dato alla memoria di sistema.

In modo simile, qualora sia necessario liberare dello spazio nella memoria cache L2 per nuove informazioni in quel momento considerate più importanti, i dati in sovrappiù vengono spostati nella cache L3 e lasciati in questa. L'algoritmo di gestone della cache L3 opera in modo tale da privilegiare quei dati che possano essere utilizzati principalmente da almeno più di un Core, così da evitare per quanto possibile che un Core debba andare a richiedere le informazioni direttamente dalla memoria di sistema, con un tempo di esecuzione quindi ben superiore ad una lettura dalla memoria cache. La cache L3 è strutturata in modo tale che venga lasciata una copia di un dato eventualmente richiesto da uno dei Core, così che questo possa rimanere in ogni caso accessibile anche agli altri Core.

Le cache L1 e L2 hanno mantenuto la struttura già presente nei processori K8: la cache L1 è associativa a 2 vie e quella L2 associativa a 16 vie. Per la cache L3, infine, AMD ha scelto una struttura di cache associativa a 32 vie.

 
^