Cache Adressierung

Gast #346537
Lesenswert?
• ▲
▼
Hallo,
hab da ein Verständnisproblem, das mich bald zur Verzweiflung bringt.
Ich bin gerade dabei das Manual des Coldfire V4e Mikroprozessors zu
durchwühlen und hänge an dem Thema der Cache Adressierung.

Dieser Auszug steht im Kapitel der MemoryManagement Unit:
---------------schnipp---------------
Instruction and data caches are accessed with the untranslated address.
The translated address is used for
cache allocation. That is, caches are virtual-address accessed and
physical-address tagged. If instruction
and data cache addresses are not larger than the in-page address for
the smallest active MMU page, the
cache is considered physically accessed; if they are larger, the cache
can have aliasing problems between
virtual and cache addresses. Software handles these problems by forcing
the virtual address to be equal to
the physical address for those bits addressing the cache, but above the
in-page address of the smallest
active page size. The number of these bits depends on cache and page
sizes.
---------------schnipp---------------

Wie muss ich das mit
"caches are virtual-address accessed and physical-address tagged"
verstehen? Ich stell mir das so vor (schreibt bitte, wenn ich mich
irre): Der Prozessor legt die 32Bit virt. Adresse am Cache an. Findet
der keine gepufferten Daten, wird sie an die MMU weitergereicht, die
sie in die physikalische Adresse übersetzt, ...
Was mich stört ist das "physical-address tagged". Der Cache hat dann
doch garnichts mit der physikalischen Adresse zu tun.

Wär spitze, wenn ihr mir etwas Licht ins Dunkel bringen könnt.
Gast #346538
Lesenswert?
• ▲
▼
Cache-Tag-Lookup und TLB-Lookup erfolgen parallel. So werden also die
Arrays der Cache-Tags und Cache-Daten virtuell adressiert, aber der
Inhalt der adressierten Tags wird mit der dann vorliegenden
physikalischen Adresse verglichen.

Und wie im Text steht, wird das so richtig interessant wenn der Cache
grösser ist, als Pagegrösse*CacheAssoziativität.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.