Skip to main content

Co je koherence mezipaměti?

Koherence mezipaměti je přirozený problém, který se vyvíjí, když je sada dat systému přistupována a změněna více agenty.Primární oblast počítačové architektury, kde se to stává problémem, je v multiprocesorových počítačích.Každý procesor v počítači s multiprocesorem má vlastní mezipaměť, která načítá a ukládá informace z paměti náhodného přístupu (RAM).Když dva procesory přistupují ke stejné oblasti paměti, koherence mezipaměti by se ztratila, pokud by nebyla přijata určitá opatření.Existuje několik metod, které byly vyvinuty za účelem řešení tohoto problému a vyhýbání se potenciálním problémům.Koherence, snooping a vrčení založené na adresáři jsou tři metody, které se používají k zabránění ztrátě koherence mezipaměti.Data jsou umístěna do části paměti, která je přístupná všem procesorům.Když se změní informace, které jsou uloženy v této oblasti paměti, systém buď aktualizuje mezipaměti, nebo je zneplatňuje.

Snooping vyžaduje, aby procesor sledoval všechny přístupy k paměťovým místům, která byla uložena v mezipaměti.To umožňuje procesoru vědět, kdy došlo k operaci zápisu.Vědí, kdy dojde k operaci zápisu, může procesor aktualizovat svou mezipaměť.

Snarfing je docela podobný snoopingu.Snarfing zahrnuje nejen monitorování přístupů k paměťovým místům, která byla ukládána do mezipaměti, ale také monitorování skutečných informací uložených v paměti.Když dojde k zápisu paměti, může být mezipaměť aktualizována pomocí nových informací.Požadavky na šířku pásma umožňují koherenční systémy založené na adresáři být praktické ve velkých aplikacích koherence mezipaměti.Čím více procesorů, které systém používá, tím více výhod může mít z používání koherenčního systému založeného na adresáři.

Snooping je mnohem rychlejší metoda.Tato metoda vyžaduje větší šířku pásma než přístup založený na adresáři.Tato metoda je schopna efektivně používat v systémech, které mají relativně málo procesorů.

Snirfing se obvykle nepoužívá jako metoda udržování koherence mezipaměti.Je to především proto, že Snirfing vyžaduje více zdrojů ve srovnání s metodami snoopingu i adresáře.Aby mohl fungovat systém snirfingu, musí sledovat adresy paměti a data uložená v těchto oblastech paměti.Množství šířky pásma a zpracování, které je touto metodou, je nežádoucí pro většinu aplikací udržování koherence mezipaměti