Mantiqiy manzil va jismoniy manzil oʻrtasidagi asosiy farq shundaki, protsessor dasturni bajarish jarayonida mantiqiy manzilni hosil qiladi, jismoniy manzil esa xotira blokidagi joydir.
Oddiy qilib aytganda, CPU mantiqiy manzil yoki virtual manzilni yaratadi. Ishlayotgan dastur nuqtai nazaridan, element mantiqiy manzilda ko'rsatilgan manzilda joylashganga o'xshaydi. Xotira birligi jismoniy manzilni kuzatadi. Bundan tashqari, u asosiy xotiradagi ma'lum bir xotira katagiga ma'lumotlar shinasi orqali kirish imkonini beradi.
Mantiqiy manzil nima?
CPU mantiqiy manzilni yaratadi. Ishlayotgan dastur nuqtai nazaridan, element mantiqiy manzilda ko'rsatilgan manzilda joylashganga o'xshaydi. Kompyuterda ishlaydigan amaliy dasturlar jismoniy manzillarni ko'rmaydi. Ular har doim mantiqiy manzillar yordamida ishlaydi. Mantiqiy manzil maydoni - bu dastur yaratadigan mantiqiy manzillar to'plami. Mantiqiy manzillarni ishlatishdan oldin ularni fizik manzillar bilan taqqoslash kerak. Uskuna qurilmasi Xotirani boshqarish bloki (MMU) bu xaritalash jarayonini boshqaradi.
MMU xaritalash sxemalari
MMU bir nechta xaritalash sxemalariga amal qiladi. Eng oddiy xaritalash sxemasida ko'chirish registridagi qiymat ularni xotiraga yuborishdan oldin amaliy dasturlar tomonidan ishlab chiqarilgan har bir mantiqiy manzilga qo'shiladi. Xaritani yaratishning boshqa murakkab usullari ham mavjud. Manzil bog'lanishi (ya'ni, ko'rsatmalar va ma'lumotlarni xotira manzillariga taqsimlash) uch xil vaqtda sodir bo'lishi mumkin.
01-rasm: Mantiqiy va jismoniy manzil
Birinchidan, agar haqiqiy xotira joylari oldindan ma'lum bo'lsa, kompilyatsiya vaqtida sodir bo'lishi mumkin va bu kompilyatsiya vaqtida mutlaq kodni yaratadi. Agar xotira joylari oldindan ma'lum bo'lmasa, bu yuklash vaqtida ham sodir bo'lishi mumkin. Buning uchun kompilyatsiya vaqtida qayta joylanadigan kod yaratilishi kerak. Bundan tashqari, manzilni bog'lash bajarilish vaqtida sodir bo'lishi mumkin. Bu manzilni xaritalash uchun apparat yordamini talab qiladi. Kompilyatsiya vaqtida va yuklash vaqtida manzilni bog'lash, mantiqiy va jismoniy manzillar bir xil. Ammo manzilni bogʻlash bajarilish vaqtida sodir boʻlsa, bu tartib boshqacha boʻladi.
Jismoniy manzil nima?
Xotira bloki jismoniy manzilni yoki haqiqiy manzilni kuzatadi. Bu ma'lumotlar shinasiga asosiy xotiradagi ma'lum bir xotira katakchasiga kirish imkonini beradi. MMU mantiqiy manzilni jismoniy manzil bilan taqqoslaydi. Misol uchun, mantiqiy manzilga ko'chirish registrini (registrdagi qiymat y deb hisoblaymiz) qiymatini qo'shadigan eng oddiy xaritalash sxemasidan foydalangan holda, 0 dan x gacha bo'lgan mantiqiy manzil y dan x+ gacha bo'lgan jismoniy manzil oralig'iga mos keladi. y.
Bundan tashqari, bu dasturning jismoniy manzil maydoni deb ham ataladi. Barcha mantiqiy manzillarni ishlatishdan oldin ularni jismoniy manzillarga solishtirish kerak.
Mantiqiy manzil va jismoniy manzil oʻrtasidagi farq nima?
Mantiqiy manzil va jismoniy manzil |
|
Mantiqiy manzil - bajarilayotgan dastur nuqtai nazaridan element joylashgan ko'rinadigan manzil. | Jismoniy manzil - bu ma'lumotlar shinasiga asosiy xotiraning ma'lum bir saqlash yacheykasiga yoki I ko'rsatilgan xotira registriga kirishni ta'minlash uchun manzillar shinasi sxemasida ikkilik raqam ko'rinishida ko'rsatilgan xotira manzili. /O qurilma. |
Koʻrinuvchanlik | |
Foydalanuvchi dasturning mantiqiy manzilini koʻrishi mumkin. | Foydalanuvchi dasturning jismoniy manzilini koʻra olmaydi. |
Yaratish usuli | |
CPU mantiqiy manzilni yaratadi. | MMU jismoniy manzilni hisoblaydi. |
Mavjudlik | |
Foydalanuvchi jismoniy manzilga kirish uchun mantiqiy manzildan foydalanishi mumkin. | Foydalanuvchi jismoniy manzilga bevosita kira olmaydi. |
Xulosa – Mantiqiy manzil va jismoniy manzil
Mantiqiy manzil va jismoniy manzil o'rtasidagi farq shundaki, protsessor dastur bajarilganda mantiqiy manzilni hosil qiladi, jismoniy manzil esa xotira blokidagi joydir. MMU ulardan foydalanishdan oldin barcha mantiqiy manzillarni jismoniy manzillarga solishtirish kerak. Jismoniy va mantiqiy manzillar kompilyatsiya vaqti va yuklash vaqti manzilini bogʻlashdan foydalanganda bir xil boʻladi, lekin bajarilish vaqti manzilini bogʻlashda farqlanadi.