Index
Related
Introduzione
Definizione
La Cache è una memoria relativamente picco la e veloce, che viene utilizzata per memorizzare temporaneamente i dati e le istruzioni più frequentemente utilizzati.
La memoria cache si trova generalmente tra la memoria principale (RAM) e la CPU (Unità Centrale di Elaborazione) e funziona come un buffer che memorizza i dati e le istruzioni più recentemente utilizzati.
Info di Base
- Cache anche se piccole hanno un grade impatto nel migliorare le performance di sistema
- Il processore prima di accedere alla ram controlla se i dati che gli servono sono già all’interno della cache.
- Serve mantenere consistenza tra Cache e RAM, questo vuol dire che ogni volta che un contenuto nella cache è modificato allora deve essere modificata anche la su “versione” in RAM.
- La Cache è invisibile hai programmi compreso il sistema operativo, infatti è completamente gestita dall’hardware.
Funzionamento
Procedimelo Lettura
Misura dei Blocchi
- incrementare la misura del blocco aumenta il numero di accessi riusciti (HIT)
- ma incrementarla troppo è controproducente:
- All’aumentare della grandezza dei blocchi si riduce il linee di cache
- Questo che vuol dire saranno di più i dati che vengono rimossi
- il che abbassa la probabilità di accesso riusci
Algoritmi di Ripianamento
Algoritmo Least-Recently-Used (LRU): si rimpiazza il blocco usato meno di recente (quindi, pi`u vecchio)
Politiche di Scritture
- determina quando occorre scrivere in memoria può accadere ogni volta che un blocco viene modificato (write-through)
- può accadere quando il blocco è rimpiazzato (write-back)
- occorre minimizzare le operazioni di scrittura
- questo vuol dire che la memoria può trovarsi in uno stato “obsoleto”, ovvero non in linea con il contenuto della cache
Cache Gerarchica
Solitamente non esiste soltanto una cache all’interno della cpu ma ci sono i più cache alcune più piccole e veloci e altre più grandi ma più lente.
Sistemi multi core
Nei sistemi multicore, solitamente, è presente una o più cache per ogni core, e poi una cache generale.