Skip to main content

Co to jest spójność pamięci podręcznej?

Spójność pamięci podręcznej jest naturalnym problemem, który rozwija się, gdy zestaw danych systemowych jest dostępny i zmieniany przez wielu agentów.Podstawowym obszarem architektury komputerowej, w której staje się to problemem, jest komputery wieloprocesorowe.Każdy procesor na komputerze wieloprocesowym ma własną pamięć podręczną, która ładuje i przechowuje informacje z pamięci Random Access Memory (RAM).Gdy dwa procesory uzyskują dostęp do tego samego obszaru pamięci, spójność pamięci podręcznej zostałaby utracona, gdyby nie podjęto pewnych środków ostrożności.

Bez spójności pamięci podręcznej system wieloprocesowy nie byłby w stanie funkcjonować.Istnieje kilka metod, które zostały opracowane w celu rozwiązania tego problemu i uniknięcia potencjalnych problemów.Spójność, szpiegowanie i warczenie oparte na katalogach to trzy metody, które są stosowane w celu zapobiegania utratę koherencji pamięci podręcznej.

Koherencja oparta na katalogu działa jako filtr w celu zapewnienia spójności.Dane są umieszczane w części pamięci, która jest dostępna dla wszystkich procesorów.Po zmianie informacji przechowywanych w tym obszarze pamięci system albo zaktualizuje buformy, albo je unieważni.

Snooping wymaga od procesora monitorowania wszystkich dostępów do lokalizacji pamięci, które zostały buforowane.Umożliwia to procesorowi wiedzieć, kiedy nastąpiła operacja zapisu.Wiedząc, kiedy nastąpi operacja zapisu, procesor może zaktualizować swoją pamięć podręczną.

Snarfing jest dość podobny do Snooping.Snarfing obejmuje nie tylko monitorowanie dostępu do lokalizacji pamięci, które zostały buforowane, ale także monitorowanie rzeczywistych informacji przechowywanych w pamięci.Gdy wystąpi zapis pamięci, pamięć podręczną można zaktualizować o nowe informacje.

Systemy koherencji oparte na katalogu mają stosunkowo wysokie opóźnienie, co powoduje wolniejsze przetwarzanie.Niższe wymagania przepustowości umożliwiają praktyczne systemy koherencji oparte na katalogach w dużych zastosowaniach koherencji pamięci podręcznej.Im więcej procesorów, których system używa, tym więcej może mieć korzyści z korzystania z systemu koherencji opartego na katalogu.

Szpiegowanie jest znacznie szybszą metodą.Ta metoda wymaga większej przepustowości niż podejście oparte na katalogu.Metodę tę można skutecznie stosować w systemach, które mają stosunkowo niewiele procesorów.

Swarkowanie nie jest zwykle stosowane jako metoda utrzymania spójności pamięci podręcznej.Wynika to przede wszystkim, ponieważ warkanie wymaga więcej zasobów w porównaniu z metodami szyszczącymi i opartymi na katalogu.Aby system warkania działał, musi śledzić zarówno adresy pamięci, jak i dane przechowywane w tych obszarach pamięci.Ilość przepustowości i przetwarzania, która jest pobierana przez tę metodę, sprawia, że jest ona niepożądana dla większości zastosowań utrzymywania koherencji pamięci podręcznej.