Avatar di Tom's Hardware

a cura di Tom's Hardware

1, 2, 3: livelli cache

Ogni processore moderno integra una cache dedicata che ha in mano le istruzioni e i dati che il processore deve usare quasi immediatamente. Si chiama cache di primo livello, o L1, ed è apparsa per la prima volta nel processore 486DX. Recentemente, i processori AMD hanno iniziato a integrare 64 KB di cache L1 per core, mentre i processori Intel usano 32 KB di cache L1 data / instruction dedicati.

png

La cache L2 è disponibile su tutti i processori a partire dal Pentium II, anche se la prima implementazione sul chip è arrivata con il Pentium Pro (non sul die). I processori attuali offrono fino a 6 MB di cache L2 on-die.

Questo quantitativo di memoria sarà condiviso tra i due core sul Core 2 Duo, per esempio. Le configurazioni tipiche della cache L2 offrono solitamente 512 KB o 1 MB di cache per core. I processori con meno cache L2 si trovano spesso nei prodotti di fascia bassa. Qui uno sguardo alle prime configurazioni di cache L2:

png

Il Pentium Pro aveva la cache L2 nel processore. La generazione seguente Pentium III e Athlon implementava la cache L2 attraverso chip SRAM montati sulla motherboard (1998, 1999).

png

L'introduzione del processo produttivo a 180nm ha permesso ai produttori d'integrare la cache L2 all'interno del die del processore.

png

I primi processori quad-core usavano solitamente i design esistenti, duplicandoli. AMD li aveva realizzati su un solo die, aggiungendo il controller di memoria e un crossbar switch, mentre Intel piazzava semplicemente due die single-core sul package del processore per formare il primo dual-core.

png

La prima cache che è stata condivisa tra due core è stata la L2, sui Core 2 Duo. AMD ha puntato su un quad-core monolitico, il Phenom, mentre Intel ha deciso ancora una volta di accoppiare due die - usando questa volta due dual-core Core 2 - nello sforzo di creare quad-core economici.

La cache di terzo livello esiste fin dai giorni dell'Alpha 21165 (96KB, nel 1995) o dell'IBM Power 4 (256KB, 2001). Tuttavia è stato con l'avvento dell'Itanium 2, il Pentium 4 Extreme (Gallatin, entrambi nel 2003) e Xeon MP (2006) che le cache L3 entrò in uso nell'architettura x86 e quelle derivate.

Le prime implementazioni hanno rappresentato solamente un livello aggiuntivo, mentre le recenti architetture forniscono ai processori multi-core cache L3 capiente e condivisa. L'elevata associatività lo sottolinea. È preferibile cercare per un po' più di tempo all'interno della memoria cache anzichè obbligare i core chiedere dati dalla memoria più lenta. AMD ha introdotto per prima la cache L3 su un prodotto desktop, la famiglia di processori Phenom. Il Phenom X4 a 65nm offriva 2 MB di cache L3, mentre l'attuale generazione a 45 nm (Phenom II X4) integra 6 MB di cache L3. I processori Core i7 e i5 integrano entrambi 8 MB di cache L3.

png

Gli ultimi processori quad-core integrano cache L1 e L2 dedicate per ogni core e un'ampia, condivisa, cache L3 disponibile per tutti i core. Questa cache L3 condivisa è anche in grado di scambiare dati sui quali i core potrebbero lavorare in parallelo.

Leggi altri articoli