Concetti Chiave
- La cache è una memoria veloce, tipicamente di tipo SRAM, che si trova tra la memoria DRAM e il microprocessore, accelerando l'accesso ai dati frequentemente richiesti dalla CPU.
- Esistono diverse organizzazioni della cache, tra cui la cache a mappatura diretta, che è semplice ma può generare conflitti, e la cache completamente associativa, che elimina i conflitti ma è costosa e lenta.
- La cache a mappatura diretta permette una ricerca rapida dei contenuti, ma può portare a conflitti di indirizzi simili nella memoria centrale.
- La cache completamente associativa consente a ogni indirizzo della memoria centrale di essere mappato in qualsiasi linea della cache, ma richiede tecniche specifiche per la gestione della memoria piena.
- La cache set associativa combina le caratteristiche della mappatura diretta e risolve parzialmente i conflitti, organizzando la memoria in sezioni parallele per un accesso più flessibile ai dati.
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.
Qual è l'organizzazione della cache?
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. Si hanno le seguenti organizzazioni:
- 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).
Cache completamente associativa
Cache set associativa
Domande da interrogazione
- Qual è la funzione principale della cache nella memoria di un computer?
- Quali sono le principali organizzazioni della cache e come si differenziano?
- Cosa caratterizza la cache set associativa rispetto ad altre organizzazioni?
La cache è una memoria veloce che si trova tra la memoria centrale (DRAM) e il microprocessore, e serve a rendere più rapido l'accesso ai dati frequentemente richiesti dalla CPU, nonostante le sue dimensioni siano molto più piccole rispetto alla SDRAM.
Le principali organizzazioni della cache includono la cache a mappatura diretta, che è semplice ma può causare conflitti, la cache completamente associativa, che elimina i conflitti ma è costosa e lenta, e la cache set associativa, che riduce i conflitti mantenendo le caratteristiche positive della mappatura diretta.
La cache set associativa combina le buone caratteristiche della mappatura diretta e risolve parzialmente i conflitti, organizzando la memoria in sezioni parallele, permettendo così una gestione più efficiente dei dati.