Che cos’è e quali sono le tipologie di Cache in informatica

Che cos’è e quali sono le tipologie di Cache in informatica

Che cos’è la Cache

In informatica, una cache è una tecnica di archiviazione dei dati che consente di accedere a dati o file a una velocità maggiore.
Le cache sono implementate sia in hardware che in software. La memorizzazione nella cache funge da componente intermedio il sistema di archiviazione principale e il dispositivo hardware o software del destinatario per ridurre la latenza nell’accesso ai dati.
La cache viene utilizzata perché l’archiviazione di massa o principale non è in grado di tenere il passo con le esigenze dei client cache. La cache riduce i tempi di accesso ai dati, riduce la latenza e migliora l’input/output (I/O). Poiché quasi tutti i carichi di lavoro delle applicazioni dipendono dalle operazioni di I/O, la memorizzazione nella cache migliora le prestazioni dell’applicazione.
A tal proposito, un esempio molto comune di memorizzazione nella cache è in un browser Web, in cui HTML, immagini, CSS, Javascript e così via di un sito Web vengono memorizzati nella cache locale in modo che una pagina venga caricata più velocemente dopo il suo primo hit.

Che cos'è e quali sono le tipologie di Cache in informatica

Come funziona la cache

Quando un client cache deve accedere ai dati, controlla prima la cache. Quando i dati richiesti vengono trovati in una cache, viene chiamato hit della cache. La percentuale di tentativi che provocano accessi alla cache è nota come percentuale o percentuale di accessi alla cache.

Se i dati richiesti non vengono trovati nella cache, una situazione nota come mancata cache, vengono estratti dalla memoria principale e copiati nella cache. Il modo in cui ciò viene fatto e quali dati vengono espulsi dalla cache per fare spazio ai nuovi dati, dipende dall’algoritmo di memorizzazione nella cache o dalle politiche utilizzate dal sistema.

I browser Web, come Internet Explorer, Firefox, Safari e Chrome, utilizzano una cache del browser per migliorare le prestazioni delle pagine Web a cui si accede frequentemente. Quando si visita una pagina Web, i file richiesti vengono archiviati nella memoria di elaborazione nella cache del browser.

Facendo clic su indietro e tornando a una pagina precedente, il browser può recuperare la maggior parte dei file necessari dalla cache anziché farli risentire tutti dal server Web. Questo approccio si chiama lettura cache . Il browser può leggere i dati dalla cache del browser molto più velocemente di quanto possa rileggere i file dalla pagina Web.

La cache è importante per una serie di motivi:

  1. L’uso della cache riduce la latenza per i dati attivi. Ciò comporta prestazioni più elevate per un sistema o un’applicazione.
  2. Devia inoltre l’I/O nella cache, riducendo le operazioni di I/O nella memoria esterna e riducendo i livelli di traffico SAN.
  3. I dati possono rimanere permanentemente su storage tradizionale o array di archiviazione esterni. Ciò mantiene la coerenza e l’integrità dei dati utilizzando le funzionalità fornite dall’array, come snapshot o replica.

Infine, la memoria cache è inclusa nella CPU o incorporata in un chip sulla scheda di sistema. Nelle macchine più recenti, l’unico modo per aumentare la memoria cache è aggiornare la scheda di sistema e la CPU a una generazione più recente. Le schede di sistema meno recenti possono avere slot vuoti che possono essere utilizzati per aumentare la memoria cache, ma la maggior parte delle schede di sistema più recenti non ha questa opzione.

Tipologie e livelli della cache

Con la memorizzazione nella cache della CPU, i dati recenti o richiesti di frequente vengono temporaneamente archiviati in un luogo facilmente accessibile. È possibile accedere rapidamente a questi dati, evitando il ritardo nella lettura dalla RAM.

La cache è utile perché la CPU di un computer ha in genere una velocità di clock molto più elevata rispetto al bus di sistema utilizzato per collegarlo alla RAM. Di conseguenza, la velocità di clock del bus di sistema limita la capacità della CPU di leggere i dati dalla RAM. Oltre alla bassa velocità durante la lettura dei dati dalla RAM, gli stessi dati vengono spesso letti più volte quando la CPU esegue un programma.

Con una cache della CPU, una piccola quantità di memoria viene posizionata direttamente sulla CPU. Questa memoria funziona alla velocità della CPU piuttosto che alla velocità del bus di sistema ed è molto più veloce della RAM. La premessa alla base della cache è che i dati che sono stati richiesti una volta potrebbero essere richiesti di nuovo.

Le cache della CPU hanno due o più livelli o livelli. È stato riscontrato che l’uso di due piccole cache migliora le prestazioni in modo più efficace di una cache di grandi dimensioni.

I dati richiesti più di recente sono in genere i dati che saranno nuovamente necessari. Pertanto, la CPU controlla prima la cache di livello 1 (L1). Se vengono trovati i dati richiesti, la CPU non controlla la cache di livello 2 (L2). Ciò consente di risparmiare tempo perché la CPU non deve cercare nella memoria cache completa.

La cache L1 è generalmente costruita sul chip del microprocessore. La cache L2 è integrata nella CPU o si trova su un chip o coprocessore separato e può disporre di un bus di sistema alternativo ad alta velocità che collega la cache e la CPU. La cache di livello 3 (L3) è una memoria specializzata sviluppata per migliorare le prestazioni di L1 e L2. La cache L4 è accessibile e condivisa dalla CPU e dall’unità di elaborazione grafica (GPU).

Le cache L1, L2 e L3 sono state storicamente create utilizzando i componenti combinati del processore e della scheda madre. Di recente, la tendenza è stata quella di consolidare i tre livelli sulla CPU stessa. A causa di questa modifica, il metodo principale per aumentare le dimensioni della cache è passato all’acquisto di una CPU con la giusta quantità di cache L1, L2 e L3 integrata.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *