Problema della memoria: la velocità delle memorie cresce più lentamente della velocità dei processori
Obiettivo: fornire agli utenti una memoria grande e veloce, e fornire al processore i dati alla velocità con cui è in grado di elaborarli
→ gerarchia di memoria:
Cache: meccanismo generale
Quando il processore richiede un dato al sistema di memoria in lettura:
- La richiesta viene prima inviata alla cache
- Lì una copia del dato può essere presente nella cache, oppure no
- Se è presente (cache hit) il dato viene immediatamente fornito al processore
- Se non è presente (cache miss) la ricerca prosegue al livello inferiore. Quando il dato viene ottenuto viene restituito al processore, e in parallelo anche copiato in cache, per accelerare eventuali richieste future allo stesso dato. A volte anche i dati vicini a quello chiesto vengono copiati
Non necessariamente c'è un solo livello di cache fra due livelli di cache fra due livelli di memoria
La cache della CPU: cosa fa
Serve ad accelerare le richieste fatte alla memoria
Funziona a blocchi. Blocco: insieme di parole contigue in RAM
- Ogni parola in RAM appartiene a un blocco
- La cache contiene un piccolo insieme di blocchi
- Cache hit: se il dato richiesto appartiene ad un blocco in cache, lo si legge da li
- Cache miss: altrimenti, si carica quel blocco nella cache dalla RAM
Caratteristiche tipiche: