L1 vs L2 Cache
La memoria cache è una memoria speciale utilizzata dalla CPU (Central Processing Unit) di un computer allo scopo di ridurre il tempo medio richiesto per accedere alla memoria. La memoria cache è una memoria relativamente più piccola e anche più veloce, che memorizza i dati più frequentemente accessibili della memoria principale. Quando viene richiesta una lettura della memoria, la memoria cache viene controllata per vedere se tali dati sono presenti nella memoria cache. Se tali dati si trovano nella memoria cache, non è necessario accedere alla memoria principale (che richiede più tempo per l'accesso), riducendo quindi il tempo medio di accesso alla memoria. In genere, ci sono cache separate per dati e istruzioni. La cache dei dati viene tipicamente impostata in una gerarchia di livelli di cache (a volte chiamati cache multilivello). L1 (Livello 1) e L2 (Livello 2) sono le cache più in alto in questa gerarchia di cache. L1 è la cache più vicina alla memoria principale ed è la cache che viene controllata per prima. La cache L2 è la successiva in linea ed è la seconda più vicina alla memoria principale. L1 e L2 variano in termini di velocità di accesso, posizione, dimensioni e costi.
L1 Cache
La cache L1 (nota anche come cache primaria o cache di livello 1) è la cache più elevata nella gerarchia dei livelli di cache di una CPU. È la cache più veloce nella gerarchia. Ha una dimensione più piccola e un ritardo minore (zero wait-state) perché è solitamente integrato nel chip. SRAM (Static Random Access Memory) viene utilizzato per l'implementazione di L1.
L2 Cache
La cache L2 (nota anche come cache secondaria o cache di livello 2) è la cache che si trova accanto a L1 nella gerarchia della cache. L2 è generalmente accessibile solo se i dati che si cercano non si trovano in L1. L2 viene solitamente utilizzato per colmare il divario tra le prestazioni del processore e la memoria. L2 viene in genere implementato utilizzando una DRAM (Dynamic Random Access Memory). La maggior parte delle volte, L2 è saldato sulla scheda madre molto vicino al chip (ma non sul chip stesso), ma alcuni processori come Pentium Pro hanno deviato da questo standard.
Qual è la differenza tra L1 e L2 Cache?
Sebbene sia L1 che L2 siano memorie cache, hanno le loro principali differenze. L1 e L2 sono la prima e la seconda cache nella gerarchia dei livelli di cache. L1 ha una capacità di memoria inferiore a L2. Inoltre, è possibile accedere a L1 più velocemente di L2. L2 è accessibile solo se i dati richiesti non sono stati trovati in L1. L1 è solitamente integrato nel chip, mentre L2 è saldato sulla scheda madre molto vicino al chip. Pertanto, L1 ha un ritardo molto piccolo rispetto a L2. Poiché L1 è implementato utilizzando SRAM e L2 è implementato utilizzando DRAM, L1 non ha bisogno di aggiornamento, mentre L2 deve essere aggiornato. Se le cache sono strettamente inclusive, tutti i dati in L1 possono essere trovati anche in L2. Tuttavia, se le cache sono esclusive, gli stessi dati non saranno disponibili sia in L1 che in L2.