Negli ultimi anni i processori dei computer hanno fatto passi da gigante, divenendo sempre più piccoli e sempre più potenti. Tuttavia, quando si parla di processori, non contano solo i transistor e le frequenze, ma anche la cache. Sapete esattamente di che cosa si tratta?
Probabilmente, avete già sentito parlare di memoria cache quando si parla di CPU (Central Processing Unit). Tuttavia, è altrettanto probabile che non abbiate prestato sufficiente attenzione ai numeri della memoria cache della CPU o alle sue caratteristiche più tecniche.
Cerchiamo allora di comprendere quanto è realmente importante la memoria cache della CPU e come funziona!
Indice dei contenuti
Che cos'è la memoria cache della CPU?
In termini molto sintetici, la memoria cache della CPU è un tipo di memoria… molto veloce. Agli albori dell'informatica, la velocità del processore e la velocità della memoria erano piuttosto basse. Tuttavia, negli anni '80 la velocità dei processori iniziò ad aumentare rapidamente, tanto che la memoria di sistema dell'epoca (RAM) non era in grado di far fronte o di eguagliare l'aumento della velocità della CPU. Ne conseguì la nascita di un nuovo tipo di memoria ultraveloce: la memoria cache della CPU.
Ciò premesso, condividiamo come oggi il computer disponga di diversi tipi di memoria. La memoria primaria, come un disco rigido o un'unità SSD, contiene la maggior parte dei dati: il sistema operativo e i programmi.
C’è poi la memoria ad accesso casuale, comunemente nota come RAM. È molto più veloce della memoria primaria, ma è solo un mezzo di archiviazione a breve termine: in altre parole, il computer e i suoi programmi utilizzano la RAM per memorizzare i dati a cui si accede di frequente, contribuendo così a mantenere le operazioni sul computer piuttosto snelle.
Infine, la CPU ha al suo interno unità di memoria ancora più veloci, note come cache di memoria della CPU.
Leggi anche: Qual è la differenza tra RAM e cache?
Come funziona la cache della CPU?
I programmi e le applicazioni del computer sono progettati come una serie di istruzioni che la CPU interpreta ed esegue: quando si esegue un programma, dunque, le istruzioni passano dalla memoria primaria (il disco rigido) alla CPU. Ed è qui che entra in gioco la gerarchia della memoria.
I dati vengono prima caricati nella RAM e poi inviati alla CPU, che è in grado di eseguire un numero gigantesco di istruzioni al secondo. Per sfruttare appieno la sua potenza, la CPU ha bisogno di accedere a una memoria superveloce, ed è proprio qui che entra in gioco la cache della CPU, che esegue quindi il passaggio dei dati all'interno della CPU.
I livelli di memoria cache della CPU: L1, L2 e L3
La memoria cache della CPU è a sua volta suddivisa in tre livelli: L1, L2 e L3.
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 la CPU ha più probabilmente bisogno per portare a termine un determinato compito.
La dimensione della cache L1 dipende dalla CPU. Alcune CPU consumer di fascia alta sono dotate di una cache L1 da 1 MB, come l'Intel i9-9980XE, ma costano molto e sono ancora poche. Anche alcuni chipset per server, come la gamma Xeon di Intel, dispongono di una cache L1 da 1-2 MB.
Non esiste una dimensione "standard" della cache L1, pertanto è necessario verificare 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 si occupa delle 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. Mentre una cache L1 può misurare in kilobyte, le moderne cache L2 misurano in megabyte. Ad esempio, l'apprezzato Ryzen 5 5600X di AMD ha una 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 in genere è compresa tra 256KB e 32MB. La maggior parte delle CPU moderne ha una cache L2 superiore a 256 KB, e questa dimensione è ormai considerata piccola. Inoltre, alcune delle CPU moderne più potenti hanno una cache L2 più grande, che supera ampiamente gli 8 MB. Per esempio,
Per quanto riguarda la velocità, la cache L2 è in ritardo rispetto alla cache L1, ma è comunque molto più veloce della RAM di sistema. La cache L1 è in genere 100 volte più veloce della RAM, mentre la cache L2 è circa 25 volte più veloce.
Cache L3
Si arriva così alla cache L3 (livello 3). Contrariamente agli inizi, oggi la cache L3 della CPU può essere enorme: le CPU consumer di fascia alta dispongono di cache L3 fino a 32 MB, mentre le rivoluzionarie CPU Ryzen 7 5800X3D di AMD sono dotate di 96 MB di cache L3. Alcune cache L3 di CPU server possono superare questo valore, arrivando fino a 128 MB.
La cache L3 è l'unità di memoria cache più grande ma anche la più lenta. Le CPU moderne includono la cache L3 nella CPU stessa. Ma mentre le cache L1 e L2 esistono per ogni core sul chip stesso, la cache L3 è più simile a un pool di memoria generale che l'intero chip può utilizzare.
Leggi anche: Come cancellare la cache su un Mac?
Di quanta memoria cache della CPU ho bisogno?
Molti utenti si domandano di quanta memoria cache della CPU si abbia bisogno e… è una buona domanda! Come ci si può aspettare, una quantità maggiore è meglio. Le CPU più recenti includono naturalmente più memoria cache della CPU rispetto alle generazioni precedenti, con una memoria cache potenzialmente più veloce. Si tenga anche conto che il design della memoria cache è in continua evoluzione, soprattutto perché la memoria diventa sempre più economica, veloce e densa…
Come si muovono i dati tra le cache di memoria delle CPU?
Sintetizzando, i dati passano dalla RAM alla cache L3, poi alla L2 e infine alla L1. Quando il processore è alla ricerca di dati per eseguire un'operazione, cerca innanzitutto di trovarli nella cache L1. Se la CPU lo trova, la condizione si chiama cache hit. Procede quindi a cercarlo nella L2 e poi nella L3. Se la CPU non trova i dati in nessuna delle cache, tenta di accedervi dalla memoria di sistema (RAM). Quando ciò accade, si parla di cache miss.
La cache è progettata per accelerare il passaggio 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, mentre la L3 ha la più alta. La latenza della memoria cache aumenta quando si verifica una cache miss, poiché la CPU deve recuperare i dati dalla memoria di sistema.
La latenza continua a diminuire man mano che i computer diventano più veloci ed efficienti. La RAM DDR4 e DDR5 a bassa latenza e le unità SSD superveloci riducono la latenza, rendendo l'intero sistema più veloce che mai. In questo senso, anche la velocità della memoria di sistema è importante.