Skip to main content

Wat is cache -coherentie?

Cache -coherentie is het natuurlijke probleem dat zich ontwikkelt wanneer een systeemgegevensset wordt toegankelijk en gewijzigd door meerdere agenten.Het primaire gebied van computerarchitectuur waar dit een probleem wordt, is in multiprocessor -computers.Elke processor in een multiprocessorcomputer heeft zijn eigen cache die informatie laadt en opslaat van het Random Access Memory (RAM).Wanneer twee processors toegang hebben tot hetzelfde geheugengebied, zou cache -coherentie verloren gaan als bepaalde voorzorgsmaatregelen niet zouden worden genomen.

Zonder cache -coherentie zou een multiprocessorsysteem niet kunnen functioneren.Er zijn verschillende methoden die zijn ontwikkeld om dit probleem aan te pakken en mogelijke problemen te voorkomen.Directory-gebaseerde samenhang, snuffelen en snarfing zijn drie methoden die worden gebruikt om het verlies van cache-coherentie te voorkomen.

Basis gebaseerde coherentie werkt als filter om coherentie te garanderen.Gegevens worden binnen een deel van het geheugen geplaatst dat toegankelijk is voor alle processors.Wanneer de informatie die binnen dat geheugengebied wordt opgeslagen, wordt gewijzigd, zal het systeem de caches bijwerken of ongeldig zijn.

Snooping vereist dat de processor alle toegangen tot de geheugenlocaties die zijn in de cache in de gaten gehouden, controleren.Hierdoor kan de processor weten wanneer er een schrijfbewerking heeft plaatsgevonden.Door te weten wanneer een schrijfbewerking optreedt, kan de processor zijn cache bijwerken.

Snarfing lijkt vrij op snuffelen.Snarfing omvat niet alleen het bewaken van de toegang tot geheugenlocaties die in de cache zijn opgeslagen, maar ook het bewaken van de werkelijke informatie die in het geheugen wordt opgeslagen.Wanneer er een geheugenschrijf plaatsvindt, kan de cache worden bijgewerkt met de nieuwe informatie.

Directory-gebaseerde coherentiesystemen hebben een relatief hoge latentie, wat resulteert in langzamere verwerking.Lagere bandbreedtevereisten kunnen directory-gebaseerde coherentiesystemen praktisch zijn in grootschalige toepassingen van cache-coherentie.Hoe meer processors die een systeem gebruikt, hoe meer voordelen het kan hebben bij het gebruik van een directory-gebaseerd coherentiesysteem.

Snooping is een veel snellere methode.Deze methode vereist meer bandbreedte dan de directory-gebaseerde aanpak.Deze methode kan effectief worden gebruikt in systemen met relatief weinig processors.

Snarfing wordt meestal niet gebruikt als een methode om cache -coherentie te handhaven.Dit komt vooral omdat snarfing meer middelen vereist om te worden gebruikt in vergelijking met zowel snuffelende als op directory gebaseerde methoden.Om een snauwsysteem te laten werken, moet het zowel de geheugenadressen als de gegevens die zijn opgeslagen in die geheugengebieden bijhouden.De hoeveelheid bandbreedte en verwerking die door deze methode wordt opgenomen, maakt het ongewenst voor de meeste toepassingen voor het handhaven van cache -coherentie.