In questo articolo vedremo che cos'è e come funziona la memoria cache di un processore
Quando si decide di acquistare un computer, è bene valutare attentamente tutte le sue caratteristiche. A volerle guardare proprio tutte però servirebbe quasi una laurea in informatica. Quasi tutti i negozi di informatica per essere più chiari e concisi decidono di mettere in evidenza solo le caratteristiche principali.
Stiamo parlando di processore, memoria RAM, la memoria di archiviazione, la scheda grafica e il sistema operativo. Ormai praticamente tutti i negozi hanno preso la buona abitudine di mostrare, tra le caratteristiche del processore anche la memoria cache (la L2 per la precisione).
Ecco un esempio delle caratteristiche mostrate: "Processore AMD E Series E1-2500 (1.4GHz, 1MB L2)" oppure "Intel® Core™ i7-6500U (2,5 GHz, fino a 3,1 GHz, 4 MB di cache, 2 core)". La parte in grassetto è proprio la quantità di memoria cache (di livello 2) di quel processore. Normale allora che vi starete chiedendo: cos'è la memoria cache?
Il funzionamento di un computer prevede che il processore prelevi continuamente informazioni ed istruzioni dalla memoria centrale e scriva informazioni su di essa. Il processore e la memoria centrale comunicano tra di loro attraverso il bus.
Ognuno di questi componenti possiede una propria velocità ma è chiaro che la velocità complessiva del sistema è determinata dal componente più lento. La memoria cache è utilizzata per accelerare questa interazione.
Anzitutto occorre spiegare che esistono diversi tipi di memoria. Al livello più alto (ovvero più vicino al processore) troviamo memorie più veloci ma di dimensioni ridotte, come la cache appunto, a livello più basso (ovvero più lontano) troviamo la memoria principale (la RAM) e i dischi.
La memoria cache è dunque una piccola ma velocissima memoria non visibile dai software ma gestita direttamente dall'hardware, essa memorizza i dati più usati dalla memoria principale. Nel modo più semplice possibile. Ma cerchiamo di capire il principio di funzionamento della memoria cache:
- Quando il processore ha bisogno di leggere un dato o un'istruzione dalla memoria centrale verifica prima che questa sia presente nella memoria cache che è molto più veloce;
- In caso di verifica affermativa (Hit) il dato è direttamente e velocemente trasferito dalla cache al processore senza coinvolgere la più lenta memoria principale;
- Altrimenti (Miss) il dato è letto dalla memoria principale.
L'efficienza della cache è misurata in termini di "Hit Rate", ovvero la percentuale di Hit, ovvero il numero di dati trovati in cache rapportato al numero totale degli accessi alla cache. Una cache più grande ha un hit-rate migliore ma un tempo di latenza maggiore.
Osserva lo schema sottostante che riassume il funzionamento della memoria cache di un processore.
Se i dati e le istruzioni più frequentemente utilizzate dalla CPU si trovano nella cache, allora si ha una grande velocizzazione delle operazioni poiché si evita il tempo che è necessario per accedere alla RAM tramite il BUS. Ovviamente, esistono delle sofisticate tecniche che consentono di decidere quali informazioni memorizzare nella cache ma è chiaro che se questa è più grande potrà contenere più dati e più istruzioni e a beneficiarne saranno le prestazioni.
Livelli di memoria cache processori
Le memorie cache sono organizzate in livelli gerarchici. Sono possibili sino a quattro livelli, L1-L4. Generalmente la cache multi-livello opera nel modo seguente: il processore verifica prima la cache più piccola di più basso livello, il Livello 1 (L1). Se si ha hit il processore procede velocemente. Se la cache più piccola dà miss, viene controllata la successiva cache più grande (L2), e così via fino al più alto livello.
Generalmente la memoria più piccola (L1) è implementata all'interno del chip del processore. Una cache interna è più veloce di una esterna, ma ha un più basso hit rate dovuto alla sua minore dimensione. Per aumentare così l'hit rate, si usa una cache L2, vicina al processore e più grande della L1. La cache L2 può essere esterna o interna al chip o al package del processore, per questo, in quest'ultimo caso può essere usata un'ulteriore cache L3 esterna.
Le memorie cache cono realizzate con SRAM che sono molto più veloci ma anche molto più costose delle DRAM.
Esistono due livelli di memoria cache:
- Cache di livello 1 (L1) che è integrata nel chip del microprocessore e sono le più piccole in assoluto
- Cache di livello 2 (L2) che di solito è esterna al chip del microprocessore ma su circuiti molto veloci
Speriamo a questo punto di averti chiarito un po' le idee su cos'è la memoria cache. Infine, qualora fossi intenzionato ad acquistare un computer, ti segnaliamo questa utile guida che abbiamo realizzato | Quale computer comprare? Oppure quest'altra nel caso fossi intenzionato a comprare un notebook | Quale notebook comprare?