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

1019
committedandroider

Hier ist das Problem, an dem ich gerade arbeite:
Das Problem: "Eine Hochgeschwindigkeitsarbeitsstation verfügt über 64-Bit-Wörter und 64-Bit-Adressen mit Adressauflösung auf Byteebene. Angenommen, ein direkt zugeordneter Cache mit 8192 64-Byte-Zeilen gibt an, wie viele Bits sich in jeder befinden der folgenden Adressfelder für den Cache? 1) Byte 2) Index 3) Tag? "

Zuerst habe ich die Begriffe in diesem Problem definiert und die andere Stack Overflow Direct Mapped Cache-Frage und meine andere Frage zum Caching als Referenz verwendet (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 Byte-Adressierung - im RAM gibt es 2 ^ 64 Speicherplätze, und jeder Speicherplatz speichert ein Byte.
  • Der Cache ist schnell und wird in Cache-Zeilen aufgeteilt
  • Direkt zugeordneter Cache ist ein Bereich, in dem ein RAM-Speicherblock in eine Cachezeile abgebildet wird (dessen Bedeutung nicht sicher ist)

Abarbeiten von Direct Mapped Cache als Referenz

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

Hier ist der Teil, an dem ich festgefahren bin. Der andere Beitrag 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 den 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 ​​Speicherplatz im RAM die Daten im Cache stammen? Kann jemand die Verwirrung klären, die ich hier habe?

0
Wie groß ist der Cache in dieser Frage? (Beachten Sie, dass zB ein 256-KB-Cache in Ihren Berechnungen irgendwo 18 Bit impliziert :)). Hennes vor 8 Jahren 0
Habe ich die anderen beiden Teile richtig verstanden? Da jede Cache-Zeile 64 Bytes und 8192 davon umfasst, besteht der Cache aus 524288 Bytes. Um ein Byte zu identifizieren, benötigen Sie 19 Bits. Also tag ist nur 3 bit ?? Das scheint viel zu klein zu sein, um festzustellen, aus welchem ​​RAM-Block die Cache-Zeile stammt committedandroider vor 8 Jahren 0

0 Antworten auf die Frage