Coerenza della cache

Da Wikipedia, l'enciclopedia libera.

Coerenza della cache (Cache coherence) si riferisce all'integrità dei dati memorizzati nelle cache locali di una risorsa condivisa. Cache coherence è un caso speciale della coerenza della memoria.

Molteplici Cache di Risorse Comuni

Quando i client in un sistema, in particolar modo il problema si presenta quando le CPU in un sistema a multiprocessore, mantengono caches di una risorsa di memoria condivisa. In riferimento alla figura, se il client in alto ha una copia di un blocco di memoria da una precedente lettura e il client in basso cambia il blocco di memoria, il client in alto potrebbe possedere un dato sbagliato nella cache locale senza saperlo. La cache coherence è stata creata per risolvere questi conflitti e mantenere la consistenza tra la cache e la memoria.

Meccanismi di Cache Coherence[modifica | modifica sorgente]

Meccanismi a Coerenza della cache basata su directory mantengono una cartella centrale di blocchi memorizzati nelle cache.

Snooping è un processo in cui le cache locali monitorano le linee di indirizzo per gli accessi alla memoria dei blocchi di cui mantengono copia locale. Quando viene intercettata un'operazione di scrittura in un blocco memorizzato, il controller della cache invalida il blocco mantenuto nella cache locale.

Snarfing si ha quando un controller della cache controlla entrambi gli indirizzi e i dati nel tentativo di mantenere aggiornata la sua copia di una locazione di memoria quando un secondo master modifica la stessa locazione nella memoria principale.

I sistemi a Memoria condivisa distribuita mimano questi meccanismi nel tentativo di mantenere la consistenza tra i blocchi di memoria in un sistema leggermente accoppiato.

Modello di Coerenza[modifica | modifica sorgente]

Vari modelli e protocolli sono stati sviluppati per mantenere la coerenza della cache come il protocollo MSIl, il protocollo MESI, il protocollo MOSI e il protocollo MOESI. La scelta di un modello di consistenza è cruciale per definire un sistema di coerenza della cache. I modelli di coerenza hanno diverse performance e scalabilità così devono essere attentamente valutati per ogni progetto di sistema.

Voci correlate[modifica | modifica sorgente]

Bibliografia[modifica | modifica sorgente]

informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica