Frage

Einige der Ressourcen, die ich auf die im Internet gegangen sind haben nicht einig, wie Set assoziativen Caching funktioniert.

Zum Beispiel Hardware Geheimnisse scheinen zu glauben, es funktioniert wie folgt:

  

Dann wird der Haupt-RAM-Speicher ist unterteilt in   die gleiche Anzahl von Blöcken in   der Speicher-Cache. Halten Sie die 512 KB   4-Wege-satzassoziativen Beispiel des   Haupt-RAM würde in 2.048 unterteilt werden   Blöcke, die gleiche Anzahl von Blöcken,   innerhalb der Speicher-Cache zur Verfügung.   Jeder Speicherblock wird auf einen Satz verknüpften   nur von Linien innerhalb des Cache, wie   in dem direkt abgebildeten Cache.

http://www.hardwaresecrets.com/printpage/481/8

Sie scheinen zu sagen, dass jeder Cache-Block (4 Cache-Zeilen) Karten zu einem bestimmten Block von zusammenhängenden RAM. Sie sagen, nicht zusammenhängende Blöcke von Systemspeicher (RAM) kann nicht auf denselben Cache-Block.

Das ist es Bild davon, wie hardwaresecrets denkt, dass es funktioniert http://www.hardwaresecrets.com/fullimage.php?image=7864

Kontrast, dass mit wikipedia Bild von Set-Assoziativ-Cache http://upload.wikimedia.org/ wikipedia / commons / 9/93 / Cache% 2Cassociative-fill-both.png .

Brown nicht einverstanden ist mit Hardware-Geheimnisse

  

Überlegen Sie, was, wenn jeder passieren könnte   Cache-Zeile hatte zwei Sätze von Feldern: zwei   gültige Bits, zwei dirty bits, zwei Tag   Felder und zwei Datenfelder. Ein Satz   von Feldern könnten Daten-Cache für ein   Bereich des Hauptspeichers, und die andere für   ein weiterer Bereich, der zur Karte geschieht   die gleiche Cache-Zeile.

http://www.spsu.edu/cs/faculty/ bbrown / web_lectures / cache /

Das heißt, nicht zusammenhängende Blöcke des Systemspeichers können auf denselben Cache-Block.

Wie die Beziehungen zwischen nicht-zusammenhängenden Blöcken auf den Systemspeicher und Cache-Blöcke erstellt sind. Ich habe irgendwo gelesen, dass diese Beziehungen auf Cache-Schritten basieren, aber ich kann keine Informationen über Cache-Schritte nur feststellen, dass sie existieren.

Wer hat Recht? Wenn Schreiten tatsächlich verwendet wird, wie die Arbeit ist schreitend und habe ich die richtigen technischen Namen? Wie kann ich den Schritt für ein bestimmtes System finden? wird es auf dem Paging-System basiert? Kann mich jemand auf eine URL verweisen, die N-Wege Assoziativ-Cache im Detail?

erklärt

siehe auch: http://www.cs.umd.edu/ Klasse / sum2003 / cmsc311 / Notes / Speicher / set.html

War es hilfreich?

Lösung

Wenn ich Cache-Speicherarchitektur meiner Studenten beibringen, ich mit einem direkt abgebildeten Cache starten. Sobald das klar ist, kann man sich vorstellen n-Wege assoziativen Caches als parallele Blöcke von Direct-Mapped-Cache. Um zu verstehen, dass beide Zahlen korrekt sind, müssen Sie zunächst den Zweck des Set-Assoc-Caches verstehen.

Sie sind entworfen, um das Problem des ‚Aliasing‘ in einem direkt abgebildeten Cache zu arbeiten, in denen mehrere Speicherplatz zu einem bestimmten Cacheeintrag zuordnen. Dies ist in der Wikipedia Abbildung dargestellt. Anstatt also einen Cache-Eintrag evicting, können wir einen N-Wege-Cache verwenden, um die anderen ‚aliased‘ Stellen Speicher zu speichern.

In der Tat würde die Hardware Geheimnisse Diagramm korrekt sein die Reihenfolge des Ersatzes unter der Annahme ist, so dass das erste Stück von dem Hauptspeicher zu Way-1 abgebildet wird und dann die zweiten Chunk Way-2 und so weiter so weiter. Es ist jedoch ebenso möglich, das erste Stück des Hauptspeichers über mehrere Wege verteilt zu haben.

Hope diese Erklärung hilft!

PS: Contiguous Speicherplätze sind nur für eine einzige Cache-Zeile benötigt, räumliche Lokalität ausnutzt. Wie für den letzten Teil Ihrer Frage, ich glaube, dass man verschiedene Konzepte mehrere verwirrend sein kann.

Andere Tipps

  

Die Ersetzungsstrategie entscheidet im Cache, in dem eine Kopie eines   bestimmter Eintrag des Hauptspeichers gehen wird. Wenn die Ersatzpolitik   kostenlos einen Eintrag im Cache zu wählen, um die Kopie zu halten, ist der Cache   voll assoziativ bezeichnet. Am anderen Extrem, wenn jeder Eintrag in Haupt   Speicher kann nur an einer Stelle in dem Cache gehen, ist der Cache direkt   abgebildet. Viele Caches implementieren einen Kompromiss, bei dem jeder Eintrag in Haupt   Speicher kann in dem Cache zu einem der N Orte gehen, und werden   als n-Wege assoziativen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top