Come funziona la cache della CPU e cosa sono le cache L1, L2 e L3?

Come funziona la cache della CPU e cosa sono le cache L1, L2 e L3?

Cos'è esattamente la cache della CPU? Perché ci sono cache L1, L2 e L3? Ecco cosa devi sapere e come funzionano.

I processori per computer sono avanzati parecchio negli ultimi anni. I transistor diventano più piccoli ogni anno e i progressi stanno raggiungendo un punto in cui la legge di Moore sta diventando ridondante.

Potresti aver sentito parlare della memoria cache quando si discute di CPU (Centra Processing Unit). Tuttavia, non prestiamo sufficiente attenzione a questi numeri di memoria cache della CPU, né sono il punto culminante principale delle pubblicità della CPU.

Quindi esattamente quanto è importante la cache della CPU e come funziona?

Cos'è la memoria cache della CPU?

In parole povere, una cache di memoria della CPU è solo un tipo di memoria molto veloce. Agli albori dell'informatica, la velocità del processore e la velocità della memoria erano basse. Tuttavia, durante gli anni 80, la velocità del processore iniziò ad aumentare rapidamente. La memoria di sistema all'epoca (RAM) non poteva far fronte o eguagliare le crescenti velocità della CPU, quindi è nato un nuovo tipo di memoria ultraveloce: la memoria cache della CPU.

Ora, il tuo computer ha più tipi di memoria al suo interno.

L'archiviazione primaria, come un disco rigido o un'unità SSD, memorizza la maggior parte dei dati: il sistema operativo e i programmi.

Successivamente, abbiamo la "memoria ad accesso casuale", comunemente nota come RAM. Questo è molto più veloce dell'archiviazione primaria ma è solo un supporto di archiviazione a breve termine. Il tuo computer e i suoi programmi utilizzano la RAM per archiviare i dati a cui si accede di freuente, contribuendo a mantenere le azioni sul tuo computer piacevoli e veloci.

Infinine la CPU ha al suo interno unità di memoria ancora più veloci, note come cache di memoria della CPU.

La memoria del computer ha una gerarchia basata sulla sua velocità operativa. La cache della CPU si trova in cima a questa gerarchia, essendo la più veloce. E' anche il più vicino a dove avviene l'elaborazione centrale, essendo parte della CPU stessa. Secondo Tech Target, "la memoria cache funziona da 10 a 100 volte più velocemente della RAM, richiedendo solo pochi nanosecondi per rispondere a una richiesta della CPU".

Anche la memoria del computer è disponibile in diversi tipi.

La memoria cache è una forma di ram statica (SRAM), mentre la normale RAM di sistema è nota come RAM dinamica (DRAM). La RAM statica può contenere dati senza bisogno di essere costantemente aggiornata, a differenza della DRAM, che rende SRAM ideale per la memoria cache.

Come funziona la cache della CPU?

I programmi e le app sul tuo computer sono progettati come un insieme di istruzioni che la CPU interpreta ed esegue. Quando esegui un programma, le istruzioni passano dalla memoria principale (il tuo disco rigido) alla CPU. E' qui che entra in gioco la gerarchia della memoria.

I dati vengono prima caricati nella RAM e li invia alla cache della CPU. a seconda della CPU, il controller si trova sulla CPU o sul chipset Northbridge sulla scheda madre.

La cache di memoria esegue quindi lo scambio di dati all'interno della CPU. La gerarchia della memoria esiste anche all'interno della cache della CPU.

I livelli di memoria cache della CPU: L1, L2 e L3

La memoria cache della CPU è divisa in tre "livelli": L1, L2 e L3. La gerarchia della memoria è di nuovo in base alla velocità, e quindi, alla dimensione della cache.

Quindi, la dimensione della cache della CPU fa la differenza per le prestazioni?

Cache L1

La cache L1 (livello 1) è la memoria più veloce presente in un sistema informatico. In termini di priorità di accesso, la cache L1 contiene i dati di cui è più probabile che la CPU abbia bisogno durante il completamento di una determinata attività.

La dimensione della cache L1 dipende dalla CPU. Alcune CPU consumer di fascia alta ora dispongono di una cache L1 da 1 MB, come l'Intel i9-9980XE, ma queste costano molto e sono ancora poche e lontane tra loro. Alcuni chipset per server, come la gamma Xeon di Intel, dispongono di una cache di memoria L1 da 1-2 MB.

Non esiste una dimensione della cache L1 "standard", quindi è necessario controllare le specifiche della CPU per determinare l'esatta dimensione della cache di memoria L1 prima dell'acquisto.

La cache L1 è solitamente suddivisa in due sezioni: la cache delle istruzioni e la cache dei dati. La cache delle istruzioni tratta le informazioni sull'operazione che la CPU deve eseguire, mentre la cache dei dati contiene i dati su cui deve essere eseguita l'operazione. 

Cache L2

La cache L2 (Livello 2) è più lenta della cache L1 ma di dimensioni maggiori. Laddove una cache L1 può misurare in kilobyte, le moderne cache di memoria L2 misurano in megabyte. Ad esempio, l'ottimo Ryzen 5 5600X di AMD ha una scheda cache L1 da 384 KB e una cache L2 da 3 MB (più una cache L3 da 32 MB).

La dimensione della cache L2 varia a seconda della CPU, ma la sua dimensione è in genere compresa tra 256 KB e 32 MB. La maggior parte delle CPU moderne impacchetta più di una cache L2 da 256 KB e questa dimensione è ora considerata piccola. Inoltre, alcune delle CPU moderne più potenti hanno una cache di memoria L2 più ampia, che supera di gran lunga gli 8 MB. 

Quando si tratta di velocità, la cache L2 è in ritardo rispetto alla cache L1 ma è comunque molto più veloce della RAM di sistema. La cache di memoria L1 è in genere 100 volte più veloce della RAM, mentre la cache L2 è circa 25 volte più veloce.

Cassa L3

Sulla cache L3 (Livello 3). All'inizio, la cache di memoria L3 si trovava effettivamente sulla scheda madre. Questo è stato molto tempo fa, quando la maggior parte delle CPU erano solo processori single-core. Ora, la cache L3 nella tua CPU può essere enorme, con CPU consumer di fascia alta dotate di cache L3 fino a 32 MB, mentre le rivoluzionarie CPU Ryzen 7 5800X3D di AMD sono dotate di cache L3 da 96 MB. Alcune cache della CPU del server possono superare questo limite, con un massimo di 128 MB.

La cache L3 è l'unità di memoria cache più grande ma anche la più lenta. Le CPU moderne includono la cache L3 sulla CPU stessa. Ma mentre le cache L1 e L2 esiste per ogni core sul chip stesso, la cache L3 è più simile a un pool di memoria generale che può essere utilizzato dall'intero chip.

Le seguenti immagini mostrano i livelli di cache della memoria della CPU per una CPU Intel Core i5-3570K lanciata nel 2012 e una CPU AMD Ryzen 5800X, lanciata otto anni dopo, nel 2020. I dati della cache della CPU si trovano nell'angolo in basso a destra della seconda immagine.

Nota come la cache L1 è divisa in due, mentre L2 e L3 sono rispettivamente più grandi su entrambe le CPU? Eppure sull'AMD Ryzen 5800X, la cache L3 è più di cinque volte più grande dell'Intel i5-3570K. 

Di quanta memoria cache della CPU ho bisogno?

E' una buona domanda. Più è meglio, come ci si potrebbe aspettare. Le ultime CPU includeranno naturalmente più memoria cache della CPU rispetto alle generazioni precedenti, con anche una memoria cache potenzialmente più veloce. Una cosa che puoi fare è imparare a confrontare le CPU in modo efficace. Ci sono molte informazioni là fuori e imparare a confrontare e confrontare diverse CPU può aiutarti a prendere la giusta decisione di acquisto.

Il design della memoria cache è in continua evoluzione, soprattutto perché la memoria diventa più economica, più veloce e più densa. Ad esempio, una delle innovazioni più recenti di AMD è Smart Access Memory e Infinity Cache, che aumentano entrambe le prestazioni.

In che modo i dati si spostano tra le cache di memoria delle CPU?

La grande domanda: come funziona la memoria cache della CPU?

Nei suoi termini più basilari, i dati fluiscono dalla RAM alla cache L3, quindi L2 e infine alla L1. Quando il processore cerca i dati per eseguire un'operazione, cerca prima di trovarli nella cache L1. Se la CPU lo trova, la condizione viene chiamata cache hit. Procede quindi a trovarlo in L2 e poi in L3.

Se la CPU non trova i dati in nessuna delle cache di memoria, tenta di accedervi dalla memoria di sistema (RAM). Quando ciò accade, è noto come cache miss.

Ora, come sappiamo, la cache è progettata per velocizzare lo scambio di informazioni tra la memoria principale e la CPU. Il tempo necessario per accedere ai dati dalla memoria è chiamato "latenza".

La memoria cache L1 ha la latenza più bassa, essendo la più veloce e la più vicina al core, e L3 ha la più alta. La latenza della cache di memoria aumenta quando si verifica un errore nella cache poiché la CPU deve recuperare i dati sulla memoria di sistema.

La latenza continua a diminuire man mano che i computer diventano più veloci efficienti. A bassa latenza la RAM DDR4 e DDR5 e gli SSD super veloci riducono la latenza, rendendo l'intero sistema più veloce che mai. In questo, anche la velocità della memoria di sistema è importante.

 

 

Torna al blog