Interpretare il computer come un elemento unico e indivisibile è solitamente la cosa più normale per l'utente medio, ma sullo sfondo troviamo un'ampia lista di sistemi e risorse molto complessi che lavorano in sinergia per garantire le massime prestazioni. Uno dei più importanti è la memoria cache, presente in processori, dischi rigidi, unità a stato solido e altri componenti. Vuoi sapere cos'è e come funziona la memoria cache? Continua a leggere.

Cos'è e come funziona la memoria cache?
Cos'è la memoria cache

Velocità!

Più veloce. Tutto deve funzionare più velocemente, impiegare meno tempo, anticipare l'utente. Le nostre esigenze sono aumentate nel corso degli anni, e se c'è un problema di prestazioni, gettiamo più hardware in quella direzione. MS-DOS 6.22 arrivò sugli scaffali tra aprile e giugno 1994, e da quel momento cominciammo a lasciarci alle spalle la famosa base di 640 kilobyte di RAM. Oggi, un computer ha bisogno di 8 gigabyte di memoria come minimo assoluto, e ormai si consigliano 16 GB per quasi tutti gli ambienti.

Cos'è e come funziona la memoria cache?
Tutto ciò equivale a un'espansione di 256 kilobyte di RAM per un vecchio IBM PC. Quanto lontano siamo arrivati...

Ma aggiungere più core o memoria non racconta tutta la storia. Ci sono altri giocatori molto importanti che possono aumentare le prestazioni in modo spettacolare, o lasciare un computer in ginocchio con la loro assenza. Il caso della memoria cache è uno dei più citati. Cos'è e come funziona la memoria cache?

Cos'è la memoria cache?

In termini semplici, la memoria cache è un tipo di memoria temporanea che si occupa di memorizzare i dati per consegnarli all'utente con maggiore velocità in futuro. Immagino che l'hai vista in azione: per esempio, se apri un programma, lo chiudi e subito lo riapri, noterai che il secondo caricamento è molto più veloce grazie all'intervento della memoria cache e della RAM in generale.

L'idea è ridurre i tempi di accesso. Se leggi ed esegui costantemente gli stessi file, perché leggerli dall'unità di archiviazione o da una memoria più lenta, quando un pizzico di cache può accelerare l'intero processo? Un altro aspetto molto interessante è che la memoria cache si presenta come una soluzione software e/o hardware. Senza andare troppo lontano, il classico SuperFetch (ora SysMain) utilizza la RAM del sistema come una cache gigante per precaricare le applicazioni, e dal lato hardware abbiamo cose come la cache del processore e la cache DRAM negli SSD.

Cache nella CPU

Cos'è e come funziona la memoria cache?
La RAM è lenta, il processore no. La memoria cache viene in soccorso.

Il processore attira l'attenzione per avere diversi livelli di memoria cache. Una memoria cache molto grande ha un eccellente tasso di successo o hit rate, ma paga il prezzo con una latenza aggiuntiva. I molteplici livelli di cache cercano di compensare questo, iniziando con cache piccole ma estremamente veloci, seguite da cache più lente.

Cos'è e come funziona la memoria cache?
Un modo semplice per visualizzare i livelli di cache

Questa configurazione consente ai core di elaborare i dati a maggiore velocità e, se possibile, evitare il collo di bottiglia dell'accesso alla memoria generale. Questo problema è molto più antico di quanto pensiamo: tutte le frecce puntano a Sir Maurice Vincent Wilkes, scienziato britannico dell'Università di Cambridge, come inventore del concetto di memoria cache nel 1965, battezzata «memoria schiava» all'epoca.

Cos'è e come funziona la memoria cache?
L'Intel Core i7-7700k del 2017 utilizza tre livelli di memoria cache

Un processore relativamente moderno come l'Intel Core i7-10700F ha tre livelli di memoria cache: L1 suddivisa in 8 x 32 kilobyte per dati e altri 8 x 32 kilobyte per istruzioni, una cache L2 di 8 x 256 kilobyte, e infine una memoria cache L3 condivisa attraverso tutti i core, con un totale di 16 megabyte. Ora, questo non è sempre stato così: i vecchi 486 e Pentium offrivano solo cache L1, e per accedere a una cache L2 dovevamo dipendere dalla scheda madre, con chip integrati o uno zoccolo di espansione.

Cos'è e come funziona la memoria cache?
Classico Pentium MMX, insieme allo zoccolo COAST (Cache-On-A-Stick) per installare la cache L2 («benryves» su Reddit)

Casi storici e attuali

Quanto è importante la memoria cache nei processori? L'originale Celeron è un esempio lampante: Intel decise di lanciarlo sul mercato come opzione economica tagliando la cache L2, e il risultato fu una CPU anemica che dovevamo overcloccare al massimo per ottenere qualcosa di decente.

Poco dopo debuttarono i Celeron 300A «Mendocino» con 128 KB di cache L2 integrata. Quei 128 kilobyte furono più che sufficienti per raddoppiare le prestazioni del chip precedente e trasformare il Celeron 300A in uno dei migliori processori nella storia dell'overclocking.

Cos'è e come funziona la memoria cache?
Celeron 300A, gloria assoluta dell'overclocking («Qurren», CC BY-SA 3.0)

Valutare il suo impatto sui processori moderni è più complicato, ma non impossibile. Infatti, i ragazzi di Hardware Unboxed hanno pubblicato un eccellente video confrontando l'aumento della cache L3 con lo stesso numero di core e thread. In sostanza, i processori Intel Core i9-10900K (10C/20T), Core i7-10700K (8C/16T) e Core i5-10600K (6C/12T) sono stati costretti a lavorare con la stessa configurazione del Core i3-10105F (4C/8T). La differenza nella dimensione della cache L3 stabilisce un certo vantaggio per i chip superiori, tuttavia il beneficio non si estende a tutti i giochi.

(N.d.R.: Video in inglese, ma le tabelle sono la parte più importante)

Cos'è la memoria cache: In sintesi

La memoria cache è una scorciatoia, un supplemento che ci aiuta ad accedere a tutti quei dati usati di frequente, in modo più veloce ed efficiente. Averne di più è meglio, ma la sua struttura deve essere quella giusta. Vuoi saperne di più sulla memoria cache? Il riepilogo di HWiNFO (che serve anche a misurare la temperatura e le tensioni sul tuo PC) mostrerà tutte le informazioni sul tuo processore, questo elenco aggiornato rivela i modelli di SSD con cache DRAM integrata, e se hai dubbi su SuperFetch sul tuo computer, puoi sempre disattivarlo. Buona fortuna!