Skip to main content

Was ist Cache -Kohärenz?

Cache -Kohärenz ist das natürliche Problem, das sich entwickelt, wenn ein Systemdatensatz von mehreren Agenten zugegriffen und verändert wird.Der primäre Bereich der Computerarchitektur, bei dem dies zu einem Problem wird, ist die Multiprozessor -Computer.Jeder Prozessor in einem Multiprozessor -Computer verfügt über einen eigenen Cache, der Informationen aus dem RAM (Random Access Memory) lädt und speichert.Wenn zwei Prozessoren auf denselben Speicherbereich zugreifen, würde die Cache -Kohärenz verloren gehen, wenn bestimmte Vorsichtsmaßnahmen nicht getroffen würden.

ohne Cache -Kohärenz wäre ein Multiprozessor -System nicht in der Lage, zu funktionieren.Es wurden verschiedene Methoden entwickelt, um dieses Problem anzugehen und potenzielle Probleme zu vermeiden.Verzeichnisbasierte Kohärenz, Snooping und Snarfing sind drei Methoden, die verwendet werden, um den Verlust der Cache-Kohärenz zu verhindern.

Verzeichnisbasierte Kohärenz wirkt als Filter, um Kohärenz zu gewährleisten.Die Daten werden in einem Teil des Speichers platziert, der allen Prozessoren zugänglich ist.Wenn die Informationen, die in diesem Speicherbereich gespeichert sind, geändert werden, aktualisiert das System entweder die Caches oder ungültig.

Snooping erfordert, dass der Prozessor alle Zugriffe auf die zwischengespeicherten Speicherorte überwacht.Auf diese Weise kann der Prozessor wissen, wann ein Schreibvorgang stattgefunden hat.Durch das Wissen, wann ein Schreibvorgang stattfindet, kann der Prozessor seinen Cache aktualisieren.Durch SNARMing werden nicht nur die Zugriffe auf Speicherorte, die zwischengespeichert werden, überwacht, sondern auch die tatsächlichen Informationen, die im Speicher gespeichert sind, überwacht.Wenn ein Speicherschreiben auftritt, kann der Cache mit den neuen Informationen aktualisiert werden.

Verzeichnisbasierte Kohärenzsysteme haben eine relativ hohe Latenz, was zu einer langsameren Verarbeitung führt.Niedrigere Bandbreitenanforderungen ermöglichen es, verzeichnisbasierte Kohärenzsysteme in großen Anwendungen der Cache-Kohärenz praktisch zu sein.Je mehr Prozessoren ein System verwendet, desto mehr Vorteile können es durch die Verwendung eines Verzeichnis-basierten Kohärenzsystems haben.

Snooping ist eine viel schnellere Methode.Diese Methode erfordert mehr Bandbreite als der Verzeichnisbasierte Ansatz.Diese Methode kann effektiv in Systemen mit relativ wenigen Prozessoren eingesetzt werden.Dies liegt in erster Linie daran, dass im Snarfing mehr Ressourcen im Vergleich zu Snooping- und Verzeichnisbasis verwendet werden müssen.Damit ein Snarfing -System funktioniert, muss es sowohl die Speicheradressen als auch die in diesen Speicherbereichen gespeicherten Daten verfolgen.Die Menge an Bandbreite und Verarbeitung, die nach dieser Methode aufgenommen wird, macht es für die meisten Anwendungen bei der Aufrechterhaltung der Cache -Kohärenz unerwünscht.