Soudržnost paměti

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 12. července 2018; kontroly vyžadují 6 úprav .

Paměťová koherence je vlastnost  počítačových systémů obsahujících více než jeden procesor nebo jádro , které má přístup k jedné paměťové oblasti , která spočívá v tom, že paměťová buňka obměněná jedním jádrem/procesorem nabývá nové hodnoty pro další jádra/procesory.

V jednoprocesorových systémech (přesněji jednojádrové ) je paměť zpracovávána jedním procesorovým uzlem: pouze jeden uzel může číst data z paměti nebo zapisovat data do paměti. Po zapsání nové hodnoty do paměťového místa dostupného na nějaké adrese se při čtení dat ze stejného místa načte zapsaná hodnota (i když je přítomno ukládání do mezipaměti ).

Ve víceprocesorových ( vícejádrových ) systémech několik procesorových uzlů pracuje současně a mohou současně (paralelně) přistupovat k jednomu paměťovému místu (pro čtení nebo pro zápis). Uzly mohou současně číst hodnotu z jednoho paměťového místa, mohou ukládat přečtenou hodnotu do svých mezipamětí. Jakmile jeden z uzlů zapíše do buňky novou hodnotu, měly by být hodnoty uložené v lokální paměti ostatních uzlů označeny jako zastaralé. Je zapotřebí mechanismus, který upozorní všechny uzly, že hodnota uložená v jejich mezipaměti je zastaralá; takový mechanismus se nazývá protokol koherence paměti .  Pokud systém používá takový protokol, pak se o systému říká, že má „ koherentní paměť “ ( angl. koherentní paměť ).  

Přesnou povahu a význam koherenčního mechanismu určuje model konzistence/koheze implementovaný v protokolu. Aby mohli programátoři psát správné „paralelní“ programy, musí si přesně být vědomi toho, který model/metoda konzistence/soudržnosti mezipaměti se v jejich systémech používá.

Pokud je protokol koherence/synchronizace implementován v hardwaru, programátoři mohou pomocí sběrnicového čichání zjistit použitý model konzistence/konektivity , mohou číst speciální adresářové tabulky .  Příkladem koherenčního protokolu je protokol MSI ( eng. m odified, s hared , i nvalid ) ( eng. ) a jeho odrůdy ( MESI ( eng. ), MOSI ( eng. ), MOESI , MESIF ).  

Viz také

Literatura

Odkazy