Cache: prestazioni o decisione di mercato?

Quanto influisce la memoria cache sulle prestazioni generali di un processore? Risponderemo a questa domanda con una serie di completi test e benchmark.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Cache: prestazioni o decisione di mercato?

La cache nei processori ha l'unico compito di ridurre gli accessi alla memoria per il caricamento dei dati. Mentre la capacità della memoria principale va solitamente da 512 MB a 4 GB, la dimensione della cache va da 256 kB a 8 MB, in base al processore. Anche una cache di piccole dimensioni, come 256kB o 512 kB, è in grado di offrire guadagni prestazionali tangilibili.

Ci sono diversi modi per implementare le gerarchie di cache. Molti sistemi PC sono dotati di processori con una cache di primo livello piccola (L1, fino a 128 kB), che spesso è divisa in cache dati e cache istruzioni. La più ampia cache L2 è utilizzata per immagazzinare i dati, ed è condivisa tra i core del processore. nel caso degli Intel Core 2 Duo; gli Athlon 64 X2 e i Pentium D, invece, sono dotati di cache L2 dedicata per ogni core. La cache L2 lavora esclusivamente o inclusivamente, ciò significa che può sia immagazzinare che copiare il contenuto della cache L1, oppure che non può farlo. Con i nuovi Phenom, AMD offre una cache di terzo livello, che viene utilizzata come memoria cache condivisa tra i quattro core. La stesso approccio viene utilizzato da Intel con i processori Nehalem.

La cache L1 è sempre presente sul processore, ma quella L2 fu inizialmente implementata sulla motherboard (computer 486DX e Pentium). Dei semplici chip SRAM (static RAM) erano utilizzati come memoria cache, mentre successivamente questa memoria fu implementata "on-chip" (Pentium) e poi on-die. Il Pentium Pro fu il primo processore a ospitare 256 Kb di cache L2 all'interno della CPU. Il Pentium III Socket 370, funzionante a velocità comprese tra 500 e 1.13 GHz, fu il primo a integrare la cache L2 nel die, soluzione con la quale si ottennero latenze ridotte.

L'integrazione della cache L2 permise di raggiungere un incremento prestazionale, virtualmente con tutte le applicazioni. L'impatto prestazionale era significante anche se la cache L2 non è il fattore su cui vertono le prestazioni di un microprocessore x86. Se disabilitiamo la cache L2 le prestazioni di un processore si ridurranno più di quanto si riducano eliminando un core da una CPU dual-core.

Tuttavia, la memoria cache non è solo un fattore prestazionale. Diventa infatti un potente strumento per occupare le diverse fasce di prezzo, poiché permette al produttore di riutilizzare dei componenti difettosi differenziandoli per dimensione della cache e velocità di funzionamento. I componenti senza difetti permettono di utilizzare tutta la cache L2 presente, e funzionano a velocità elevate. Se una CPU non raggiunge stabilmente la velocità prestabilita, il die può diventare un modello entry-level per la linea dei processori high-end, come per esempio i Core 2 Duo 6000 con 4 MB di cache e velocità di clock ridotte. Se parte della cache L2 è difettosa, il produttore può disattivarla e creare un modello low-end con meno cache, come per esempio il Core 2 Duo E4000 con 2 MB di cache, o il Pentium Dual Core con solo 1 MB di cache. Tutto ciò ha molto senso per il mercato, ma che differenza fa realmente la cache?