Soudržnost paměti - Memory coherence

Koherence paměti je problém, který ovlivňuje konstrukci počítačových systémů, ve kterých dva nebo více procesorů nebo jader sdílí společnou oblast paměti .

V jednoprocesorovém systému (přičemž v dnešních podmínkách existuje pouze jedno jádro) existuje pouze jeden zpracovatelský prvek provádějící veškerou práci, a proto pouze jeden zpracovatelský prvek, který umí číst nebo zapisovat z / do daného paměťového místa. Výsledkem je, že když se změní hodnota, všechny následné operace čtení příslušného umístění paměti uvidí aktualizovanou hodnotu, i když je uložena do mezipaměti .

Naopak v multiprocesorových (nebo vícejádrových ) systémech existují dva nebo více zpracovatelských prvků pracujících současně, takže je možné, že současně přistupují ke stejnému umístění paměti. Pokud nikdo z nich nezmění data v tomto umístění, mohou je sdílet neomezeně dlouho a ukládat do mezipaměti podle libosti. Jakmile však jeden aktualizuje umístění, ostatní mohou pracovat na zastaralé kopii, která se například nachází v jejich místní mezipaměti. V důsledku toho je vyžadováno určité schéma, které bude informovat všechny prvky zpracování o změnách sdílených hodnot; takové schéma je známé jako protokol koherence paměti , a pokud je takový protokol použit, systém má koherentní paměť .

Přesná povaha a význam koherence paměti je dána modelem konzistence, který implementuje koherenční protokol. Aby programátoři mohli psát správné souběžné programy, musí si být vědomi přesného modelu konzistence, který používají jejich systémy.

Při implementaci v hardwaru může být koherenční protokol například adresářový nebo snoopingový (také nazývaný sniffing ). Specifické protokoly zahrnují protokol MSI a jeho deriváty MESI , MOSI a MOESI .

Viz také

Reference