Advanced Smart Cache

Intel deve tornare in testa nel settore server e per questo presenta la serie Xeon 5100 a 3.0 GHz e 4 MB di cache L2 provando a spodestare l'Opteron di AMD. Diamo uno sguardo in particolare alla nuova architettura Core 2.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Advanced Smart Cache

La cache L2 unificata è una caratteristica che va menzionata immediatamente. Permette a un grande quantitativo di cache L2 di essere condivisa tra due core (2 MB o 4 MB). L’operazione di caching può essere così più efficace perchè i dati non vengono più immagazzinati due volte in cache L2 differenti (nessuna replicazione). Tutta la cache L2 è altamente dinamica e può essere adattata a ogni core, il che significa che ogni singolo core potrà allocare, se richiesto, il 100% dell’area della cache L2 dinamicamente.

La condivisione dei dati è ora più efficiente, perchè non è generato del carico sul front side bus mentre si legge o scrive all’interno della cache (come nel caso del Pentium D), evitando code quando entrambi i core provano ad accedervi. Un buon esempio che mostra i vantaggi in ambiente multi-threaded lo abbiamo quando un core scrive dati all’interno della cache mentre l’altro legge qualcosa in contemporanea. I cosiddetti "cache misses" sono diminuite, le latenze sono state ridotte e l’accesso è più veloce, dato che in passato il fattore limitante è sempre stato il Front Side Bus.

Smart Memory Access

Dopo lo sviluppo di un’architettura di processo molto efficiente e con una potente cache L2, Intel ha voluto renderla più efficiente possibile. Ogni dual-core Core si presenta con otto unità di prefetc: due dati e una istruzione per core e due prefetcher come parte della cache L2 condivisa. Intel afferma che c’è differenza in ogni modello Core (Merom/Conroe/Woodcrest) in modo da eseguire il prefetch dei dati in maniera differente, a seconda che il modello sia mobile, desktop o server.

Un prefetcher riceve dati all’interno di un’unità di alto livello che utilizza algoritmi speculativi. Questa è progettata per fornire dati che devono essere fornirti velocemente, riducendo la latenza e incrementando l’efficienza. I prefetcher di memoria guardano costantemente i campioni d’accesso di memoria, provando a predire se c’è qualcosa che possono spostare nella cache L2 – solo nel caso che questi dati dovranno essere utilizzati poco dopo. Allo stesso tempo, i prefetcher sono altamente sintonizzati per controllare il traffico, il quale può essere sequenziale. In questo caso, l’operazione di prefetched caching non ha molto senso.