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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.