www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Cache Adressierung


Autor: PeteSahat (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.