Coerenza della memoria

La coerenza della memoria è una condizione desiderabile in cui le posizioni di memoria corrispondenti per ciascun elemento di elaborazione in un processore multi-core contengono sempre gli stessi dati memorizzati nella cache. Senza la coerenza della memoria, i programmi possono essere influenzati negativamente.

Nei processori multi-core, due o più elementi di elaborazione funzionano contemporaneamente. Di tanto in tanto accedono simultaneamente alla stessa posizione di memoria. Finché nessun elemento di elaborazione altera i dati nella posizione interessata, tutti questi elementi possono condividere e memorizzare nella cache i dati senza problemi. Ma se uno degli elementi di elaborazione modifica i dati nella posizione condivisa e non informa gli altri della modifica, gli altri elementi potrebbero utilizzare la versione obsoleta dei dati che rimane nelle loro cache locali.

In un sistema di elaborazione multi-core, un cosiddetto protocollo di coerenza della memoria notifica a tutti gli elementi di elaborazione le modifiche ai valori condivisi, garantendo così che tutte le copie dei dati rimangano coerenti.