Heim >häufiges Problem >Welche drei Adresszuordnungsmethoden gibt es zwischen Hauptspeicher und Cache?

Welche drei Adresszuordnungsmethoden gibt es zwischen Hauptspeicher und Cache?

青灯夜游
青灯夜游Original
2021-07-26 13:43:0317288Durchsuche

Es gibt drei Zuordnungsmethoden: vollständig assoziative Methode, direkte Methode und gruppenassoziative Methode. Bei der direkten Zuordnung kann ein Hauptspeicherblock in einer eindeutigen Cache-Zeile gespeichert werden. Bei der vollständigen assoziativen Zuordnung kann ein Hauptspeicherblock in einer beliebigen Cache-Gruppe gespeichert werden.

Welche drei Adresszuordnungsmethoden gibt es zwischen Hauptspeicher und Cache?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Dell G3-Computer.

Cache ist ein Hochgeschwindigkeitspufferregister und eine wichtige Technologie zur Lösung des Geschwindigkeitsunterschieds zwischen CPU und Hauptspeicher.

Der CPU-Zugriff auf den Speicher liest und schreibt normalerweise jeweils eine Worteinheit. Wenn die CPU nicht auf den Cache zugreifen kann, muss die im Hauptspeicher gespeicherte Worteinheit zusammen mit mehreren nachfolgenden Wörtern in den Cache übertragen werden. Der Grund hierfür besteht darin, sicherzustellen, dass nachfolgende Speicherzugriffe den Cache erreichen können.

Daher sollte die Dateneinheit, die gleichzeitig zwischen Hauptspeicher und Cache ausgetauscht wird, ein Datenblock sein. Die Größe des Datenblocks ist fest und besteht aus mehreren Wörtern, und die Datenblockgröße von Hauptspeicher und Cache ist gleich.

Aus Sicht der auf Cache-Hauptspeicherebene erreichten Ziele muss einerseits die Speicherzugriffsgeschwindigkeit der CPU nahe an der Cache-Zugriffsgeschwindigkeit liegen und andererseits der dafür vorgesehene laufende Speicherplatz Das Benutzerprogramm sollte als Speicherplatz gleich der Hauptspeicherkapazität vorgehalten werden.

In einem System, das die Cache-Hauptspeicher-Hierarchie verwendet, ist der Cache für das Benutzerprogramm transparent, das heißt, das Benutzerprogramm muss die Existenz des Caches nicht kennen. Daher gibt die CPU jedes Mal, wenn sie auf den Speicher zugreift, immer noch eine Hauptspeicheradresse an, genau wie wenn der Cache nicht verwendet wird. Aber in der Cache-Hauptspeicher-Hierarchie ist das erste, worauf die CPU zugreift, der Cache, nicht der Hauptspeicher.

Aus diesem Grund ist ein Mechanismus erforderlich, um die Hauptspeicherzugriffsadresse der CPU in eine Cache-Zugriffsadresse umzuwandeln. Die Konvertierung zwischen der Hauptspeicheradresse und der Cache-Adresse hängt eng mit der Zuordnungsbeziehung zwischen dem Hauptspeicherblock und dem Cache-Block zusammen. Das heißt, wenn die CPU auf den Cache zugreift, muss auf das Wort zugegriffen werden Der im Hauptspeicher befindliche Block wird in den Cache übertragen, und die für die Übertragung verwendete Strategie wirkt sich direkt auf die entsprechende Beziehung zwischen der Hauptspeicheradresse und der Cache-Adresse aus werden in diesem Abschnitt gelöst.

Es gibt drei Adresszuordnungsmethoden zwischen Hauptspeicher und Cache: vollständig assoziative Methode, direkte Methode und satzassoziative Methode.

  • Direct Mapping

    speichert einen Hauptspeicherblock in einer eindeutigen Cache-Zeile.

  • Vollständig assoziative Zuordnung

    kann einen Hauptspeicherblock in jeder Cache-Zeile speichern.

  • Assoziative Zuordnung festlegen

    kann einen Hauptspeicherblock in einer beliebigen Zeile in einer eindeutigen Cache-Gruppe speichern.

Direkte Zuordnung

Viele-zu-Eins-Zuordnungsbeziehung, aber ein Hauptspeicherblock kann nur an eine bestimmte Zeilenposition im Cache kopiert werden.

Die Cache-Zeilennummer i und die Hauptspeicherblocknummer j haben die folgende funktionale Beziehung: i=j mod m (m ist die Gesamtzahl der Zeilen im Cache)

Vorteile: einfache Hardware, einfach zu implementieren

Nachteile : niedrige Trefferquote, die Speicherplatznutzung des Cache ist gering

Welche drei Adresszuordnungsmethoden gibt es zwischen Hauptspeicher und Cache?

Vollständig assoziative Zuordnung

Ein Block des Hauptspeichers wird direkt in eine beliebige Zeile im Cache kopiert

Vorteile: Die Trefferquote ist hoch und Die Speicherplatzauslastung des Caches ist hoch.

Nachteile: komplexe Zeilen, hohe Kosten, niedrige Geschwindigkeit Es ist festgelegt, in welcher Zeile des Hauptspeicherblocks die Gruppe flexibel ist, d zwischen Gruppen und vollständig assoziativ innerhalb der Gruppe.

Das obige ist der detaillierte Inhalt vonWelche drei Adresszuordnungsmethoden gibt es zwischen Hauptspeicher und Cache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn