Wie viele Bits enthält das Adressfeld für einen direkt zugeordneten Cache?


0

Hier ist das Problem, an dem ich arbeite:
Das Problem: "Eine Hochgeschwindigkeits-Workstation hat 64-Bit-Wörter und 64-Bit-Adressen mit Adressauflösung auf Byte-Ebene. Angenommen, ein direkt zugeordneter Cache mit 8192 64-Byte-Zeilen enthält jeweils wie viele Bits der folgenden Adressfelder für den Cache? 1) Byte 2) Index 3) Tag? "

Zuerst definierte ich die Begriffe in diesem Problem und verwendete die andere Frage zu Stack Overflow Direct Mapped Cache und meine andere Frage zu Caching als Referenz. (Bitte korrigieren Sie mich, wenn eine meiner Definitionen falsch ist.)

  • 64-Bit-Wörter - Der Prozessor kann jeweils 64 Bit verarbeiten
  • 64-Bit-Adressen mit Adressierung auf Byte-Ebene - es gibt 2 ^ 64 Speicherplätze im RAM und jeder Speicherplatz speichert ein Byte.
  • Der Cache hat eine hohe Geschwindigkeit und ist in Cache-Zeilen unterteilt
  • Direkt zugeordneter Cache ist der Ort, an dem ein RAM-Speicherblock auf eine Cache-Zeile abgebildet wird (nicht sicher, welche Bedeutung dies hat)

Bearbeiten Sie jetzt Direct Mapped Cache als Referenz

  1. Byte - Da eine Bytezeile aus 64 Byte besteht, benötigen Sie 6 Bit, um ein einzelnes Byte innerhalb dieser Bytezeile zu identifizieren
  2. Index - Da es 8192 "Zeilen" von Bytezeilen gibt, benötigen Sie mindestens 10 Bits, um jede Zeile zu identifizieren

Jetzt ist hier der Teil, an dem ich festsitze. Der andere Post sagte: "Alle anderen Bits sind TAG-Bits." während dieses Vortrag Post sagte : „Jede Zeile hat einen Tag, den die Adresse in M , aus dem die Zeile kopiert wurde anzeigt“. Ich vermute, dass M das RAM bedeutet.

Hier wären also alle anderen Bits 64 - 6 - 10 = 48 Bits. Aber würden Sie nicht alle 64 Bits im TAG benötigen, um anzugeben, von welchem ​​Speicherort im RAM die Daten im Cache stammen? Kann jemand die Verwirrung klären, die ich hier habe?


Wie groß ist der Cache in dieser Frage? (Beachten Sie, dass z. B. ein 256-KB-Cache irgendwo in Ihren Berechnungen 18 Bit implizieren würde :)).
Hennes

Habe ich die anderen beiden Teile richtig verstanden? Da jede Cache-Zeile 64 Byte und davon 8192 Byte hat, besteht der Cache aus 524288 Byte. Um ein Byte zu identifizieren, benötigen Sie 19 Bits. Also Tag ist nur 3 Bits? Das scheint viel zu klein , welcher Block RAM die Cache - Zeile zu identifizieren , kamen aus
committedandroider
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.