Paměťová koherence
Paměťová koherence (anglicky cache coherence), resp. koherence vyrovnávajících pamětí (cache) znamená jednotnost dat ve více vyrovnávacích pamětích.

Problém udržení koherence vyvstává u multiprocesorových počítačů s více cachemi. Při změně dat ve vyrovnávací paměti jednoho procesoru je nutné zabránit tomu, aby ostatní procesory (využívající jiné cache) pracovaly se zastaralými daty. Docílit shodných dat na všech pamětech je však složité.

Metody zajištění koherence

Snooping 
Broadcastové metody, tzv. snoopy cache, šíří informace o změně bloku po sběrnici. Všechny cache na změnu reagují buď zneplatněním daného bloku nebo okamžitou aktualizací dat.

Mezi snoopingové metody patří protokoly WTWNA nebo MESI.

Problémem snoopingu je špatná škálovatelnost.

Adresářové metody 
Adresářové metody potřebují ke své funkci adresář. Každá žádost o načtení dat z hlavní paměti do cache musí jít právě přes adresář, který si udržuje informaci o tom, které bloky se v kterých vyrovnávacích pamětích nacházejí.

Stejně tak cache informují adresář o přepsání bloku. Adresář si poté najde v tabulce ty cache, ve kterých se daný blok nachází, a informuje je (data jsou v nich zneplatněna nebo rovnou aktualizována).

Existují tři základní schémata:
 plně mapované adresáře,
 částečně mapované adresáře, kde je každému bloku dovoleno být přítomen pouze v omezeném počtu cache,
 provázané adresáře, které obsahují řetěz odkazů na cache.

Odkazy

Reference

Související články 
 Zámek
 Livelock
 Deadlock
 Sdílená paměť

Externí odkazy 
 

Správa paměti
Počítačová paměť