4 amaliy ish Mavzu : Virtual protsessor rejimini o'rganish Ishning maqsadi

|
4 amaliy ish Mavzu : Virtual protsessor rejimini o'rganish Ishning maqsadi
|
bet | 1/3 | Sana | 21.12.2023 | Hajmi | 23,17 Kb. | | #126040 |
Bog'liq 44arxitek
4 - amaliy ish
Mavzu : Virtual protsessor rejimini o'rganish
Ishning maqsadi: Mavzu bo'yicha kerakli bilimlarni o'rganish va o'zlashtirish
Virtual rejim ( V 86) - bu himoyalangan rejim vazifasining maxsus holati, unda protsessor chiziqli adreslarni yaratish foydalanadi. Aynan shu mexanizm manzilni real rejimda yaratish uchun ishlatiladi. Biroq, real rejimdan farqli o'laroq, bu holatda protsessor hanuzgacha ko'p vazifalarni bajarishni, pagingni ta'minlaydi va interrupt va istisno ishlovchilarini aniqlash uchun deskriptorlar jadvalidan foydalanadi. Ko'p vazifalar tufayli tizim bir vaqtning o'zida normal holatida va V 86 holatida bir nechta vazifalarni bajarishi mumkin . Vazifa davlat amalga oshiriladi V bo'lsa 86 VM bit ham EFLAGS hisoblanadi ro'yxatdan majmui. Protsessor tekshiradi , bu bayroq bilan quyidagi hollarda :
agar u segment registriga qiymatni yuklasa, registrning soya qismini yangilab haqiqiy modeli yordamida );
ko'rsatmalarni dekodlashda, V 86 holatida qaysi ko'rsatmalar qo'llab-quvvatlanmasligini va qaysi IOPLga bog'liqligini aniqlash ;
himoya qoidalarini nazorat qilishda (imtiyozli kõrsatmalar , ).
Tizim dasturiy ta'minoti to'g'ridan-to'g'ri VM bit holatini o'zgartira olmaydi (masalan, POPFD yordamida ). Buning o'rniga EFLAGS registrining rasmini stakka ( IRET uchun ) yoki TSS-ga o'zgartiring (vazifalarni almashtirish uchun).
Protsessor V 86 holatidagi vazifani ikki holatda bajarishni boshlaydi :
Yangi topshiriqqa o'tishda , yangi TSS- dan yuklangan EFLAGS registri VM = 1 bitni o'z ichiga olganida . Shuni ta'kidlash kerakki, V 86 holatidagi vazifani faqat 32-bitli TSS belgilashi mumkin , chunki 16-bitli TSS tarkibida faqat EFLAGS registrining past tartibli so'zi mavjud, shu jumladan VM biti ham mavjud emas .
Himoyalangan rejimdagi uzilish yoki istisno ishlov beruvchisidan qaytish paytida, EFLAGS registri tasviri VM = 1 bitni o'z ichiga olganda, vazifani almashtirishsiz ( EFLAGS . NT = 0) IRET buyrug'i yordamida CPL = 0 . (Agar ishlov beruvchining imtiyoz darajasi nolga teng bo'lsa, protsessor VM bitini o'zgartirmaydi .)
Protsessor quyidagi holatlarda uzilish yoki istisno yuzaga kelganda V 86 holatdagi vazifani bajarishni to'xtatadi :
Tegishli Chiqib ketish / vaziyat İşleyicisi keltirilgan bo'lsa tomonidan IDT kommutatsiya ustiga vazifa darvozaning qaysi protsessor barglari virtual holatiga (uning TSS o'z ichiga EFLAGS . VM = 0).
Interrupt / exception ishlovchisi PL = 0 bo'lgan kod segmentida bo'lsa .
Monitor V 86
MP 8086 uchun dasturning to'liq bajarilishi uchun 32-bitli TSS tomonidan tavsiflangan V 86 holatidagi vazifada MP 8086 dasturidan tashqari MP 8086 operatsion tizimi va V 86 monitor xizmatlari bo'lishi kerak .
Monitor V 86 - bu kod segmentida bajarilgan dastur moduli, PL = 0 himoyalangan rejimda. Monitor V 86 boshlash, chiqib ketish va istisno soz, qoida sifatida MP 8086. asoslangan kompyuterlar apparat platformasi iqtido I / O tartib amalga oshirilishini ta'minlaydi, monitor asosiy qismi V 86 umumiy himoya buzilishi işleyicisi. MP-8086 ning dasturiy ta'minot va apparat muhitini IA -32 mikroprotsessoriga asoslangan ko'p vazifali tizimda taqlid qilishga imkon beradi . Boshqa har qanday himoyalangan rejim dasturlari singari, V 86 GDT yoki mahalliy vazifalarni tavsiflovchi jadvalidagi segment tavsiflovchilaridan foydalanadi . Monitor shuningdek, ma'lumotlar segmentlari uchun identifikatorlarga muhtoj bo'lishi mumkin, ular yordamida monitor IDT yoki chiziqli manzil maydonining birinchi megabaytida joylashgan 8086 MP dasturining boshqa qismlariga kiradi.
|
| |