Xotirani sahifali tashkil qilish
V irtual adres maydon bir necha bir xil hajmli sahiflarga bo’linadi. Odatda ular 512 baytdan 64 Kbaytgacha, kamdam-kam xollarda 4 Mbaytga teng bo’ladi. Sahifaning hajmi ikkining darajasiga teng bo’ladi. Fizik adres maydoni ham teng miqdordagi qismlarga shunday bo’linadiki, har bir qism bitta sahifani sig’dira oladi. Asosiy xotiraning bu qismlari sahifali kadrlar deyiladi.
Slayd
Bu yerda asosiy xotira faqat bitta sahifali kadrni saqlaydi.
S layd
(a) da virtual adres muhitini dastlabki 64 K hajmini 4 K hajmli sahifalarga ajratilgani ko’rsatilgan. Adres bayt ham, so’z ham bo’lishi mumkin, bunda ketma-ket so’zlar ketma-ket adreslarni bildiradi. Rasmdagi virtual xotirani sahifalar jadvali yordamida tashkil qilish mumkin. Jadval elementlari soni va virtual xotira sahifalari soni teng bo’ladi.
(b) da 4 K hajmli 8 ta sahifalik fizik xotira keltirilgan.
32 bitli virtual adresni asosiy xotiraning fizik adreslarida qanday ifodalash mumkin? Ma’lumki, fizik xotira faqat real adreslar bilan ishlaydi, virtual adreslarni qabul qilmaydi. Buning uchun har bir kompyuterda virtual adreslarni fizik adresga aylantirib beruvchi qurilma mavjud bo’ladi. Bu qurilma xotirani boshqarish kontrolleri (MMU – Memory Management Unit) deyiladi. U bevosita MP mikrosxemasida yoki alohida joylashishi mumkin. Bizning misolda MMU 32 bitli virtual adresni 15 bitli fizik adresga aylantiradi, shu sababli unga 32 bitli kuruvchi registr va 15 bitli chiquvchi registr kerak bo’ladi.
S layd
Bu rasmda MMUning ishlashi keltirilgan. MMUga 32 bitli virtual adres kelganidan keyin adresni 20 bitli virtual sahifa raqami va 12 bitli shu sahifada ko’chishga ajratadi. Virtual sahifa raqami sahifalar jadvalida ushbu sahifani topish uchun indeks bo’lib ishlatiladi. Rasmda virtual sahifa raqami 3 ga teng, shu sababli jadvaldan 3-element tanlanadi.
Dastlab MMU kerakli sahifa hozirgi vaqtda xotirada mavjudligini aniqlaydi. Hozirgi vaqtda 220 ta virtual sahifalar va 8 ta sahifali kadr bor ekan, hamma virtual sahifalar bir vaqtda xotirada mavjud bo’la olmaydi. MMU sahifalar jadvali elementining mavjudlik bitini tekshiradi. Bizning holatda bu 1 ga teng va sahifa xotirada mavjudligini bildiradi. Keyin tanlangan elementdan sahifa kadri qiymatini olish lozim (bizning holatda – 6) va uning chiquvchi 15 bitli registrining yuqori 3 bitini nusxalash kerak. Aynan 3 ta bit shartligi, fizik xotirada 8 ta sahifa kadri borligidan kelib chiqadi. Bu operatsiya bilan parallel ravishda virtual adresning quyi 12 biti (sahifadagi ko’chirish maydoni) chiquvchi registrning quyi 12 bitiga nusxalanadi. Shu tartibda hosil qilingan 15 bitli adres keshga yoki asosiy xotiraga yuboriladi.
Do'stlaringiz bilan baham: |