Wat is cache -coherentie?

Cache -coherentie is het natuurlijke probleem dat zich ontwikkelt wanneer de gegevensset van een systeem 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 werden 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.

Directory-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 iks opgeslagen in dat geheugengebied wordt gewijzigd, het systeem zal de caches bijwerken of ongeldig maken.

Snooping vereist dat de processor alle toegang tot de geheugenlocaties die zijn gecached bewaakt. 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. HenErtsverwerkers 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 voor het handhaven van cache -coherentie. 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.

ANDERE TALEN