Concetti Chiave
- La cache è una memoria veloce e di dimensioni ridotte, posizionata tra la memoria centrale e il microprocessore per accelerare l'accesso ai dati frequentemente richiesti dalla CPU.
- Esistono diverse organizzazioni di cache che influenzano il modo in cui i dati vengono memorizzati e recuperati: mappatura diretta, completamente associativa e set associativa.
- La cache a mappatura diretta è veloce e semplice da realizzare, ma può causare conflitti quando due locazioni di memoria devono condividere lo stesso spazio di cache.
- La cache a mappatura completamente associativa elimina i conflitti permettendo a qualsiasi locazione di memoria di essere mappata su qualsiasi linea di cache, sebbene sia costosa e lenta nella ricerca.
- La cache set associativa combina le caratteristiche delle due modalità precedenti, riducendo i conflitti attraverso l'uso di più sezioni di memoria a mappatura diretta in parallelo.
Sistemi di memoria cache
La cache è una memoria (in genere del tipo SRAM) con piccoli tempi d’accesso, e di dimensioni contenute, inserita tra la memoria centrale di tipo DRAM e il microprocessore. Essa rende più rapido l’accesso ai dati che la CPU richiede più di frequente. Essendo la cache di dimensioni molto più piccole della SDRAM può contenere solo una parte dei dati presenti nella memoria centrale.
La cache può essere organizzata in modi diversi che tengono conto di come i dati sono prelevati dalla memoria centrale e posti nella cache e le modalità di accesso ad essi.
- Cache a mappatura diretta: semplice da realizzare con ricerca veloce dei contenuti ma che dà luogo a dei conflitti in quanto il contenuto di due locazioni di memoria SDRAM, con la parte bassa dell'indirizzo uguale, (ma con la parte alta diversa) devono essere memorizzate sulla stessa locazione di memoria cache.
- Cache a mappatura completamente associativa: costose nella realizzazione richiedono tempi lunghi per la ricerca dei dati. Non c’è conflitto. Ogni indirizzo della memoria centrale può essere mappato in ciascuna linea della cache. È necessario utilizzare particolari tecniche per trovare la linea da cancellare quando si deve inserire una nuova linea e la memoria è piena.
- Cache set associativa: risolvono in parte i conflitti, conservando le buone caratteristiche delle memorie a mappatura diretta. È realizzata ponendo in parallelo 2 o più sezioni di memoria a mappatura diretta. Si dice quindi memoria cache set associativa a n vie (con n si indica il numero di sezioni poste in parallelo).