2017-07-06 6 views
0

Soweit ich weiß über virtuell indizierten virtuell etikettierten Cache, hier haben wir eine virtuelle Adresse in Seitenzahl und Seiten-Offset unterteilt. Wir verwenden diese Seitenzahl, um den Cache-Block zu erhalten. Wenn es einen Cache-Fehltreffer gibt, adressieren wir die Übersetzung unter Verwendung von TLB und holen den geeigneten Cache-Block aus dem Hauptspeicher. Mein Zweifel ist, was bedeutet das Wort "indiziert" hier? Ist es die Art, wie Cache-Zeilen adressiert werden? Und was bedeutet "virtuell getaggt"?Virtuell indizierter virtuell etikettierter Cache

Danke.

Antwort

1

In VIVT-Caches wird die virtuelle Adresse zum Vergleichen und Indizieren von Tags verwendet. Im Allgemeinen haben CPU-Caches einen Index und ein Tag, die zwei Teile einer Speicheradresse sind. Der Indexteil der Adresse wird verwendet, um den Eintrag in einem Cache zu indizieren. Das Tag wird verwendet, um den gesuchten Eintrag zu prüfen, ist derselbe wie der Eintrag, der zwischengespeichert wird. Indexierung und Markierung können unter Verwendung von entweder physischer Adresse oder virtuellen Adressen oder einer Kombination von beiden erfolgen. VIPT - virtuell indiziert physisch markiert

Um Ihre Frage zu beantworten, bedeutet Indizierung, den Cache-Eintrag zu holen, der durch Indexbits dargestellt wird. Praktisch markiert bedeutet, dass Tag-Bits, die zum Vergleich verwendet werden, von virtuellen Adressen stammen.

+0

Vielen Dank für Ihre Antwort. Können Sie mir sagen, welcher Teil der virtuellen Adresse das Tag enthält? Ist es die Seite Nein oder Seitenversatz? – Zephyr

+0

Das sind verschiedene Dinge. Seiten-Nr. Und Seiten-Offset ermöglichen den Zugriff auf Seitentabellen- und physikalische Adressinformationen. Markierungsbits werden durch die Größe der Indexbits bestimmt, die wiederum durch die Größe des Cachespeichers bestimmt wird. –

Verwandte Themen