Was ist Cache -Kohärenz?

Cache -Kohärenz ist das natürliche Problem, das sich entwickelt, wenn der Datensatz eines Systems von mehreren Agenten zugegriffen und verändert wird. Der primäre Bereich der Computerarchitektur, in dem dies zu einem Problem wird, sind 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 eine Cache -Kohärenz verloren gehen, wenn bestimmte Vorsichtsmaßnahmen nicht getroffen würden. Es wurden verschiedene Methoden entwickelt, um dieses Problem anzugehen und potenzielle Probleme zu vermeiden. Verzeichnisbasierte Kohärenz, Snooping und Snarfing sind drei Methoden, mit denen der Verlust der Cache-Kohärenz verhindern wird. Die Daten werden in einem Teil des Speichers platziert, der für alle Prozessoren zugänglich ist. Wenn die Informationen, die ichs, die in diesem Speicherbereich gespeichert sind, wird geändert. Das System aktualisiert 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. Indem der Prozessor weiß, wann ein Schreibvorgang stattfindet, kann er seinen Cache aktualisieren.

Schnupfen ist dem Snooping ziemlich ähnlich. 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. IhnenErzprozessoren, die 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 verwendet werden, die relativ wenige Prozessoren haben.

Snarfing wird normalerweise nicht als Methode zur Aufrechterhaltung der Cache -Kohärenz verwendet. Dies liegt in erster Linie daran, dass im Snarfing im Vergleich zu Snooping- und Verzeichnismethoden mehr Ressourcen 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.

ANDERE SPRACHEN

War dieser Artikel hilfreich? Danke für die Rückmeldung Danke für die Rückmeldung

Wie können wir helfen? Wie können wir helfen?