Minnesstyrenhet

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 23 januari 2019; kontroller kräver 5 redigeringar .

En minneshanteringsenhet eller minneshanteringsenhet ( MMU ) är en datorhårdvarukomponent som ansvarar  för att hantera minnesåtkomst som begärs av centralenheten .

Dess funktioner är översättning av virtuella minnesadresser till fysiska minnesadresser (d.v.s. virtuell minneshantering ), minnesskydd , cachehantering , bussarbitrering och, i enklare datorarkitekturer (särskilt de med små adressbussbredder), minnesblockbyte. Kallas ibland även för en PMMU ( paged memory management unit ) . 

Det nämns nu oftast i samband med organisationen av virtuellt minne och är därför avgörande för många moderna multi- tasing operativsystem , inklusive alla moderna Windows NT och många UNIX- liknande. En specialutgåva av Linux-kärnan , μClinux , kan köras utan en MMU.

Minneshanteringsenheten ingår nu mycket ofta i den centrala bearbetningsenheten eller datorchipset .

Funktionsprinciper

Funktionsprincipen för moderna MMU:er är baserad på uppdelningen av det virtuella adressutrymmet (endimensionell array av adresser som används av den centrala processorn) i sektioner av samma, som regel flera kilobyte , även om möjligtvis mycket större, lika med en potens av 2, kallad sidor . De nedre n bitarna av adressen (offset inom sidan) förblir oförändrade. De övre bitarna i adressen representerar det (virtuella) sidnumret. MMU översätter vanligtvis virtuella sidnummer till fysiska sidnummer med hjälp av Translation Lookaside Buffer ( TLB ) . 

Om TLB-översättning inte är möjlig, anropas en långsammare översättningsmekanism baserat på specifika hårdvaru- eller mjukvarusystemstrukturer. Data i dessa strukturer kallas vanligtvis sidtabellposter ( PTE) och själva strukturerna kallas sidtabeller  ( PT ) . Sammankoppling av det fysiska sidnumret med förskjutningen inom sidan ger den fysiska adressen.  

Element PTE eller TLB kan också innehålla ytterligare information: en bit av tecknet på att skriva till sidan ( eng.  dirty bit ), tidpunkten för den senaste åtkomsten till sidan ( eng.  accessed bit , för implementering av sidbytesalgoritmen , den senast använda ( eng.  minst nyligen använd, LRU ), vilka processer ( användare ( eng.  användarläge ) eller system ( eng.  supervisor mode )) kan läsa eller skriva data till sidan, oavsett om det är nödvändigt att cache sida.

Se även