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í.
Bez koherence mezipaměti by nemohl fungovat multiprocesorový systém. 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ž informace, kteréS uložený v této oblasti paměti se změní, 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 do mezipaměti. To umožňuje procesoru vědět, kdy došlo k operaci zápisu. Vědí, kdy dojde k 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 uložena, 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í.
Koherence založené na adresáři mají relativně vysokou latenci, což má za následek pomalejší zpracování. 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. MProcesory rudy, 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ů.
Snarfing 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.