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 systemu 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 zostały podjęte pewne środki 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.
Spójność 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. Kiedy informacje, że jaS przechowywane w tym obszarze pamięci jest zmieniane, 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 szpiegowania. 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ęczna może być aktualizowana o nowe informacje. Systemy koherencji oparte na katalogach 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. IchProcesory rudy, z których korzysta system, tym więcej może mieć korzyści z korzystania z systemu koherencji opartego na katalogu.Snooping jest znacznie szybszą metodą. Ta metoda wymaga większej przepustowości niż podejście oparte na katalogu. Ta metoda może być skutecznie stosowana w systemach, które mają stosunkowo niewiele procesorów.
Snarfing zwykle nie jest stosowany jako metoda utrzymywania 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.