Hogyan alakítja át a Memóriakezelő egység a logikai címeket fizikai címekké?
1. Oldaltábla:Az MMU oldaltáblázatot tart fenn, amely egy olyan adatstruktúra, amely a logikai címeket fizikai címekre képezi le. Az oldaltábla több szintre van rendezve, és mindegyik szint a logikai cím más-más részét képviseli.
2. Címfelosztás:Amikor egy folyamat logikai címre hivatkozik, az MMU több részre osztja a címet:
- Oldalszám:Ez a logikai cím magasabb rendű bitjei, és egy adott oldalt azonosít a memóriában.
- Oldaleltolás:Ez a logikai cím alacsonyrendű bitjei, és azonosítja a konkrét helyet az oldalon.
3. Oldaltábla keresése:Az MMU az oldalszám alapján keresi meg a megfelelő bejegyzést az oldaltáblázatban. Az oldaltáblázat minden bejegyzése tartalmazza a megfelelő oldal fizikai címét.
4. Címfordítás:Ha az oldaltábla-bejegyzés érvényes (azaz az oldal a memóriában van), az MMU a fizikai oldalcímet az oldaleltolással kombinálja, hogy megkapja a végső fizikai címet. Ez a fizikai cím használható a memóriában lévő adatok vagy utasítások eléréséhez.
5. Oldalhibák:Ha az oldaltábla bejegyzés érvénytelen (azaz az oldal nincs a memóriában), az MMU oldalhiba-kivételt generál. Az operációs rendszer ezután úgy kezeli a laphibát, hogy a szükséges oldalt a másodlagos tárolóról (például lemezről) a memóriába hozza, és frissíti az oldaltáblázatot.
Ez a címfordítási folyamat lehetővé teszi az MMU számára, hogy hatékonyan kezelje a memóriát, és virtuális memória képességeket biztosítson a folyamatoknak, lehetővé téve számukra, hogy a lefoglalt fizikai címterükön túl is hozzáférjenek a memóriához.