Forum: Mikrocontroller und Digitale Elektronik Cache Adressierung


von PeteSahat (Gast)


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.

von A.K. (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.