La memoria cache
Cos'è la memoria cache
La memoria cache è una memoria del computer. E' usata come memoria interposta tra il processore (CPU) e la memoria RAM. La memoria cache è molto più veloce rispetto alla memoria RAM. E' tuttavia meno capiente e più costosa.
A cosa serve la RAM? Lo scopo della cache è disaccoppiare la velocità della CPU e della RAM. I tempi di attesa della RAM potrebbero rallentare il processore. Ad esempio, è del tutto inutile avere un processore iperveloce se poi comunica direttamente con la RAM. I tempi di attesa rallenterebbero il suo lavoro di dieci o volte volte.
Come funziona la cache del computer
La memoria cache ha tempi di accesso più bassi e comunica con il processore molto più velocemente.
La CPU cerca prima i dati nella memoria cache.
Se non li trova, li cerca nella RAM e poi li trasferisce nella cache.
Quando la CPU sposta i dati dalla RAM alla cache, sposta più indirizzi in blocco. Non solo quello che stava cercando
I vantaggi del trasferimento in blocco soddisfano il principio di località.
- Località spaziale. Dopo la lettura di un dato è molto probabile che la CPU debba poi leggere altri dati in indirizzi di memoria RAM molto vicini al precedente. E' infatti probabile che i dati vicini siano dati contigui.
- Località temporale. E' molto probabile che la CPU debba accedere più volte agli stessi indirizzi in tempi molto vicini.
In questo modo la CPU riduce al minimo i trasferimenti dalla RAM alla cache.
I tempi di Hit e Miss
Quando i dati richiesti dal livello superiore (processore) si trovano nel livello immediatamente inferiore (cache) si registra un successo nell'accesso detto hit.
Viceversa, se i dati non si trovano si registra un fallimento nell'accesso detto miss e occorre accedere al dato in un livello più distante (cache L1, cache L2, L3, RAM).
Il tempo di hit è il tempo necessario per accedere e leggere un dato nel livello di memoria più vicino.
Il tempo di miss è il tempo necessario per sostituire un dato nel livello più vicino con un blocco di dati nel livello inferiore.
L'organizzazione della memoria cache
Lo spazio di memoria nella cache è organizzato in blocchi, detti anche linee di cache.
Ogni linea contiene più parole (word).
A sua volta ogni parola contiene più byte.