Cos’è la cache

338
Cos'è la cache e come funziona

La memoria cache o semplicemente cache è un tipo di memoria utilizzata per velocizzare l’esecuzione dei programmi. Può essere considerata come un’estensione della memoria principale del computer, la RAM (Random Access Memory).
La cache viene gestita dall’hardware per memorizzare i dati maggiormente utilizzati dalla RAM allo scopo di incrementare la velocità di risposta del computer e quindi le sue prestazioni.
Per capire cos’è la cache dobbiamo spiegare qual’è la differenza tra RAM e cache.

Qual’è la differenza tra RAM e cache

La RAM è organizzata come una sequenza di celle chiamate anche parole di memoria. Ogni volta che la CPU (Central Processing Unit), il processore del computer, ha bisogno di leggere o scrivere un’informazione nella RAM deve individuare la cella nella quale l’informazione è memorizzata. La cella di memoria dopo aver ricevuto la richiesta da parte del processore risponderà alla CPU mettendo a disposizione i suoi dati. Questo tempo di risposta è chiamato tempo di accesso (in lettura o scrittura).
Anche se si tratta di un tempo brevissimo e un tempo di risposta troppo lungo per il processore, molto più veloce a eseguire un’operazione rispetto alla RAM.
Per ridurre il tempo di attesa del processore il computer utilizza la cache, un tipo di memoria molto più veloce se confrontata con la memoria principale.

Per ottimizzare le prestazioni vengono quindi combinati due tipi di memoria. Una grande quantità di memoria con tempi di accesso lenti, la RAM, e una piccola quantità di memoria con tempi di accesso molto veloci, la cache.
Ma perché non utilizzare soltanto la memoria cache se è più veloce? Perché la cache è molto più costosa della RAM e per questo motivo viene usata soltanto in piccole quantità.

Come funziona la cache

Per capire cos’è la cache e come funziona dobbiamo spiegare cos’è il principio di località.
Il principio di località afferma che quando la CPU legge i dati in una cella della memoria principale del computer è molto probabile che anche gli altri dati che utilizzerà siano ubicati vicino alla cella in questione.
Per questo motivo tutte le informazioni adiacenti a quelle richieste dalla CPU vengono trasferite nella cache. Quando il processore del computer richiederà una nuova informazione questa molto probabilmente sarà già presente nella cache.
Nel caso in cui i dati richiesti non siano in cache la CPU effettuerà la richiesta alla memoria principale per individuare la cella che contiene le informazioni. Anche in questo caso la CPU trasferirà le informazioni adiacenti a quelle della cella utilizzata nella cache. Questo processo andrà avanti fino a quando la cache non sarà riempita completamente.

Livelli di cache

Dopo aver capito cos’è la cache vediamo quanti tipi o livelli di memoria cache esistono.
I livelli (L) possibili sono 4 e sono organizzati in modo gerarchico.
• L1 o cache di primo livello. È interna al processore ed è spesso differenziata in cache per dati e cache per istruzioni.
• L2 o cache di secondo livello. Può essere sia interna che esterna e non viene differenziata fra dati e istruzioni.
• L3 o cache di terzo livello. Può essere sia interna che esterna ma può anche non essere presente. Non viene differenziata fra dati e istruzioni.

Tipologie di cache

Concludiamo la guida su cos’è la cache spiegando quali sono le principali tipologie di questo tipo di memoria.

CPU cache

La CPU cache è la cache utilizzata dal processore del computer per velocizzare le operazioni di accesso alla memoria principale.

Page cache

La page cache è una parte della RAM utilizzata dal sistema operativo per copiare i dati in uso nel disco rigido. Il sistema operativo utilizza tutta la RAM non allocata direttamente ad altre applicazioni perché l’accesso a questa memoria principale è più veloce dell’accesso al disco rigido.

Disk cache

La disk cache è un tipo di memoria simile alla RAM che a volte viene integrata all’interno di un hard disk. Quando è presente viene utilizzata per caricare i settori del disco rigido contigui a quelli richiesti evitando lo spostamento della testina di lettura e velocizzando l’operazione di lettura.

Web cache

La web cache è una parte del disco rigido utilizzata del web browser (Chrome, Edge, Explorer, Firefox) o da un server proxy (→ cos’è un server proxy) per salvare le pagine Internet caricate mentre si naviga nel web.
La web cache viene utilizzata per salvare il codice HTML, le immagini e tutte le informazioni necessarie alla visualizzazione della pagina Internet allo scopo di ridurre il tempo di accesso alla pagina stessa nel caso in cui l’utente la volesse nuovamente visualizzare. Quando un utente vuole visualizzare una pagina già visitata non sarà necessario richiedere il codice al server web che ospita la pagina Internet perché tutte le informazioni necessarie saranno già memorizzate nella web cache.