Mavzu: Uzilish rejimi, uzilishni qayta ishlash algorimlari, stekni tashkil etilishi Reja: Uzilishlar
Download 21.43 Kb.
|
Kopmyuterni tashkil etilishi
- Bu sahifa navigatsiya:
- Mavzu: Uzilish rejimi, uzilishni qayta ishlash algorimlari, stekni tashkil etilishi Reja: 1.
O’zbekistonRespublikasiAxborotTexnologiyalariva KommunikatsiyalariniRivojlantirishVazirligi Muhammad al-Xorazmiynomidagi Toshkent AxborotTexnologiyalariUniversiteti Mustaqil ish Topshirdi:032-20 guruh talabasi Usmonov Jasur Qabul qildi: Djumanov J. Mavzu: Uzilish rejimi, uzilishni qayta ishlash algorimlari, stekni tashkil etilishi Reja: 1.Uzilishlar. 2.Uzilishlarni tashkil etish. 3.Uzilishni qayta ishlash algoritmlari. 4.Steklar haqida tushuncha. Uzilishlar va istisnolar – tizimda yoki berilgan vaqt momentidagi masalada muayan shart bajarilganda paydo bo’lganda, protsessorning aralashuvi talab etiladi. Bu protsessorni bajarilayotgan joriy masalani to’xtatishga va boshqaruvni Uzilishlarni qayta Ishlaydigan yoki istisnolarni qayta ishlaydigan deb nomlanuvchi maxsus protsedura yoki topshiriqqa uzatishga majbur etadi. Uzilishlar odatda ixtiyoriy vaqt momentida paydo bo’ladi. Uzilishlar apparatli va dasturiy bo’ladi. Birinchisi, unga xizmat qilish talab etilgan periferik qurilmalardan olingan apparat signali bo’yicha xosil bo’ladi. Dasturiy uzilishlar INT n ko’rsatmasi yordamida hosil bo’ladi. Istisnolar- protsessorning ichki hodisalari – u yoki bu ko’rsatmaning bajarilishi vaqtida qandaydir noto’g’ri shartlar to’g’risida signal berish: nolga bo’lish, ximoya qoidalarini buzish, sahifalarning yo’qligi va h.k. Uzilishlar yoki istisnolar sodir bo’lganda bajarilayotgan joriy masala qayta ishlash bajarilayotgan vaqti davomiyligida avtomatik to’xtaydu, shundan so’ng uning bajarilishi davomiyligini yo’qotmasdan davom etadi, faqat uzilish yoki istisnoni qayta ishlash dasturni to’xtatishga majbur etadi. Barcha uzilishlar va istisnolar 0 dan 255 gacha bo’lgan oraliqda nomerlangan (ko’pincha ular Vektorlar deb ataladi). 0..31 nomerlar istisnolar uchun Intel firmasi tomonidan zaxiraga olingan.dasturiy uzilishlar INT n ko’rsatmasi (n – uzilish nomeri) yordamida istalgan 0..255 nomerli uzilishni xosil qilish mumkin. Bunday uzilishlar dasturiy deb nomlaniladi. Bayroq registrining IF biti holati dasturiy uzilishlarini yaratish imkoniyatiga ta’sir qilmaydi. Uzilish tizimining maqsadi – EHM ichki va tashqi hodisalarga bo’lgan munosabatidir. Uzilish maxsus operatsiyalarni tashkil etish bilan ta’minlangan. Uzilish operatsiyasi – joriy dasturning bajarilishini tugatish va protsessorni xosil bo’lgan uzilish sababiga xizmat qiluvchi dasturning bajarilishiga o’tishidir. Uzilishga xizmat ko’rsatilgandan so’ng, to’xtatilgan dastur to’xtatilgan joyidan boshlab davom etishi kerak. Buning uchun dastur to’xtatilayotda, uni qayta tiklash uchun zarur bo’lgan barcha ma’lumotlarni saqlash kerak (protsessor holati). Bunday ma’lumotlarni jarayonning holat vektori deb atash qabul qilingan. U Protsessorning holati to’g’risidagi ma’lumotlarni o’z ichiga oladi – ya’ni, protsessorning so’z holati, oxirgi buyruqlar natija belgilari – maxsus belgilar registrida (BR) saqlanayotgan bayroqlar, hamda umumishlov registrlarida (UIR) saqlanayotgan jarayon o’zgaruvchilar qiymatlari. Jarayon holati vektorini saqlash uchun odatda stek sifatida tashkil etilgan TX ning maxsus sohasidan foydaniladi. Mashina tilidagi buyruqlarning umum formatlari va turlariuzilishlar operatsiyasi EHM apparati tomonidan tashkil etiladi va quyidagi harakatlarni bajarishga yig’ilgan: •Joriy dastur bajarilishi to’xtatiladi. Uzilish, qoida bo’yicha, dasturning joriy buyrug’i tugagandan keyin amalga oshiriladi. Kiritish/chiqarish qurilmalaridan uzilish signallari, qurilma ma’lumot almashishga tayyor bo’lganda tanlanadi. Ushbu uzilish signali joriy dasturni to’xtatadi va KChQ ning ma’lumotlar registri yoki buffer xotira bilan va TX yaycheykasi yoki protsessor registrlari (UIR) o’rtasida ma’lumotlar almashuvini ta’minlaydigam maxsus qayta ishlash-dasturini ishga tushiradi. Bu kiritish-chiqarish usuli odatda TQ (printer, klaviatura va boshqalar) ga xizmat ko’rsatish uchun ishlatiladi. OT ning servis dasturlariga murojaat qilishda uzilishlar, odatda, maxsus uzilish buyruqlari bilan amalga oshiriladi. IBM PC-da bunday maqsadlar uchun foydalanuvchi dasturining kerakli joyida uchraydigan INT N turidagi maxsus uzilish buyrug’idan foydalanish mumkin. Ushbu uzilish sabablari guruhini dasturiy uzilish deb nomlashadi. Uzilish xizmatlari TQ-dan uzilish asosiy dasturning bajarilishiga zarar yetkazadigan variat paydo bo’lishi mumkin. Bunga yo’l qo’ymaslik uchun protsessorda uzilish signallarini qayta ishlashini sozlash imkonini beradigan uzilishlardan himoya qilish tizimi bo’lishi mumkin. Protsessor uzilishlarni qayta ishlashi mumkin •uzilish kelishi bo’yicha birdaniga, •ularni qayta ishlashni bir qancha vaqtga qoldiradi, •uzilishni maskalash mexanizmidan foydalanib butunlay tashlab ketiladi. Odatda uzilish operatsiyalari faqat joriy buyruqning bajarilishi tugagandan keyingina bajariladi. Bitta uzilishni qayta ishlayotgan vaqtda bitta boshqa yoki bir nechta boshqa qurilmalardan uzilish signalini olish kabi, yana bir holat bo’lishi mumkin. Bunday muammoni yechishning ikikita usuli mavjud: Birinchidan – signallarning kelish ketma-ketligi tartibida uzilishlar amalga oshiriladi. Lekin bu uzoq vaqt dovimida to’xtamay ishlaydigan qurilmalarning noto’g’ri ishlashiga olib kelishi mumkin. Ikkinchidan – har bir periferik qurilmaga ma’lum bir ustivor tartib nomerni berish va ustivorlik uzilishlar tizimidan foydalanish, bu esa ustivorligi yuqori bo’lgan uzilishlar ustivorligi pastroq bo’lganlaridan oldin bajarilishini ko’rish mumkin. Ustivorlikning (prioritetning) ikki turi mavjud – nisbiy va absolyut (mutloq). Nisbiyda ustivorligi juda yuqori bo’lgan uzilish past ustivorlikda ishlaydigan uzilishni to’xtata olmaydi, absolyutda esa buni amalga oshirish mumkin.Uzilishlarni maskalash. Uzilishlar ustivorligi. EHM turli xil uzilishlarga tanlab javob beradigan vositalarga ega bo’lishi kerak. Masalan, agar apparat ishlamay qolishi faktini aniqlagan nazorat sxemasi biridan uzilish signali kelsa, u holda boshqa uzilish signallariga javob berish Talab qilinmaydi, masalan, razriyadli setkaning to’lib ketishi, apparatning nosozligi tuzatulgunga qadar. Ushbu maqsadlar uchun uzilish maskasidan foydaniladi – ikkilik kod М = M1… mk, bunda har bir uzilish sababiga mImaska biti mos qo’yiladi. Agar, masalan, maska biti mi = 0 bo’lsa, u holda i-sabab bo’yicha uzilish, yani maskalangan. Agar mi = 1 bo’lsa, u holda uzilishga ruxsat beriladi, yani maskalanmagan. Shunday qilib, uzilish operatsiyasi faqat maskalanmagan uzilish signali bilan boshlanadi.Ziddiyatli vaziyatlarni oldini olish uchun uzilish signallariga turli xil ustivorliklar beriladi. Ustivorlik – bu xizmat qilishning ustun huquqi – xizmat imtiyozi. Ustivorlikni belgilash, masalan, jarayonlar dinamikasi asosida amalga oshiriladi: tezkor oqimlarga yuqori ustivorliklar belgilanadi. Masalan, noto’g’ri (korrekt bo’lmagan) darajasiga asoslanib: apparatdagi noto’g’rolik (ishlamay qolishi) dastrudagi noto’g’rilikdan farqli o’laroq avval unga xizmat ko’rsatilishi kerak. Noto’g’ri dasturni hisobdan olib qo’yib va boshqa dasturga xizmatni boshlash mumkin. Apparatning ishlamay qolishi ixtiyoriy dasturni bajarilishini imkonsiz qiladi. Shuning uchun, ishlamay qolishga javob (reaksiya) dasturiy nosozliklar va uzilishlarning boshqa sabablaridan ustun bo’lishi kerak.Ustivorlik tizimining oddiy sxemasi. Ixtiyoriy niqoblanmagan (maskalanmagan) uzilish signalini olgandan so’ng, protsessor joriy dasturning bajarilishini to’xtatadi va hakam (arbitr) uzilishga so’rov yuborgan manbani izlashni boshlaydi. Qidiruv ustivorlikning kamayish tartibida eng yuqori ustivorlikka ega manbadan boshlab belgilangan ustivorliklar tartibida amalga oshiriladi.Bitta ishlov berish dasturini boshqasi bilan to’xtatish imkoniyatiga nisbatan ustivor uzilish tizimlarining harakati uchun ikkita sxema mavjud. Birinchisi – nisbiy ustivorlikli (NU) sxema bo’yicha xizmat. Ikkinchisi – absolyut ustivorlikli (AU) boyicha xizmat. NU holatida uzilish signaliga berilgan ustivorlik nisbiy, ya’ni, har doim ham harakat qilmaydi, lekin faqat bir vaqtning o’zida bir nechta uzilish so’rovlarini qabul qilish vaqtida. Agar yuqori ustivorlik signali pastroq ustivorlikka ega bo’lgan signaldan keyinroq kelsa, u holda ushbu quyi ustivorlik signaliga ko’rsatilayotgan xizmatni yuqori ustivorlik signali bilan uzib bo’lmaydi, ya’ni, tugatguncha uzilishlarsiz amalga oshiriladi va faqat shundan keyingina yuqori ustivorlikka ega bo’lgan so’rov bo’yicha xizmat boshlanadi. Bu mexanizm xizmat davomida boshqa qurilmalardan uzilish signallarini maskalash orqali ta’minlanadi. AU holatida ustivorlik har doim absolyut va faol bo’ladi, eng kichik ustivorlikli dasturlarni uzilishlarini chaqiradi. NU li uzilish tizimlarining uzilish chuqurligi 1 ga teng, AU li uzilish tizimlarining chuqurligi 1 dan katta: 2,3,… (ichki uzilishlar). AU li uzilishlar tizimi javob (reaksiya) vaqti qoida bo’yicha, NU li uzilish tizimlariga qaraganda kichik bo’ladi.IBM PC uzilish tizimiuzilish sistemasidagi arbitr (hakam) tashqi manbalardan va ichki manbalardan uzilish signalini qabul qilish uchun ikkita portga ega. NMI kirishi INTR kirishiga qaraganda yuqori ustivorlikka ega. Shuning uchun, apparatli (tashqi) uzilishlar ikki turga bo’linadi: maskalanadigan va maskalanmaydigan. Ichki uzilishlar-rad qilish turidagi uzilish (fault) –«tuzoq» uzilish (trap) – buyruqning bajarilishi natijasida yuzaga keladi, masalan, INT N uzilish buyrug’i.«Buyruqlarni favqulotda to’xtatish» uzilish (abort) apparaturalar xatoligida yuzaga keladi. Bu turdagi uzilishlar maskalanmaydi. «Xato» turidagi uzilishlar – turli xil xatolar natijasida buyruqning normal bajarilishi mumkin bo'lmagan holatlarda yuzaga keladi – uzilish buyruq bajarilishidan oldin sodir bo'ladi.Uzilishlarga xizmat quyidagicha amalga oshiriladi. Keyingi buyruq adresi stekka joylashtiriladi: CS (asosiy adres), IP (siljish) (2 so’z) va RF bayroq registri (uchinchi so’z) va MP protsessorining RF registridagi IF=0, TF=0 bitlar tashlab yuboriladi. keyin tashqi qurilmadan yoki MP ichida hosil bo’lgan uzilishlar vektori (UV) N nomeri bo’yicha, UV TX dan ajratib olinadi. UV adresi quyidagicha shaklantiriladi: AUV = 4 x N.Unga ko’ra, qayta ishlovchining adresidagi ikki so’z, ya’ni CS va IP registrlarigayuklangani TX dan olinadi. Ular bo’yicha uzilishni qayta ishlovchi dasturning birinchi buyrug’I tanlanadi. Qayta ishlash-dasturi oxirida IRET buyrug’i quyiladi – uzilishdan qaytish, shu bilan birga to’xtatilgan dasturga qaytish adreslarining ikkita so’zi stekdan olinadi va CS va IP larga, uchinchi so’z esa RF registriga yuklanadi. PC kompyuterida har bir uzilish sababiga o’zining UV nomeri (uzilish turi) mos qo’yiladi. Masalan, 0 ga bo’lish 0 nomerli (0 turi) UV ga ega.Hammasi bo’lib IBM PC da 0 dan 255 gacha (0 dan FFh gacha) nomerli 256 ta UV ishlatiladi. Barcha UV 0 adresdan boshlanuvchi ma’lumotlar segmentida joylashadi, UV adresi 4 ga karrali. NMI uzilishiga so’rov kirishdagi musbat signal hisoblanadi. NMI kirish bo’yicha so’roviga 2 nomerli (2 turdagi) UV xizmat ko’rsatadi. NMI kirish bo’yicha uzilishga xizmat ko’rsatish qayta ishlaydigan dasturni uzilishsiz Amalga oshiradi, ya’ni, nisbiy ustivorlik sxemasi bo’yicha. INTR kirishidagi uzilishga so’rov – yuqori darajadagi signaldir. Shuning uchun hakam IP, CS, RF registr qiymatlarini stekka joylaydi va javob signali INTA ni tanlaydi. INTA ni olgandan so’ng, dasturlanadigan uzilish kontrolleri INTR kirishidagi signali tashlab yuboradi va berilgan vaqt momentidagi eng yuqori ustivorlikli (IRQi) uzilish sababiga mos keladigan UV nomerini ma’lumotlar shinasi orqali protsessorga yuboradi. Stek - bu bir tomonlama boglangan ro‘yxatning xususiy holi bo’lib, malumotlarni qarab chiqish faqat uning uchi deb ataladigan tomonidan amalga oshiriladi. Steklar bilan boshqa amallami bajarish nazarda tutilmagan. Steklar LIFO (last in - first ou - oxirgi kelgan birinchi ketadi) prinsipida ishlaydi. Steklarni sodda qilib ichiga bir nechta to‘p tashlangan tor truba shaklida tasaw ur qilish mumkin. Birinchi bo’lib tashlangan to‘pni olish uchun undan yuqorida turgan barcha to‘plami olish lozim Bo’ladi. Steklardan tizimli datsuriy ta ’minot yoki kompilyatorlar ishlab chiqishda, rekursiv jarayonlami dasturlashda keng foydalaniladi. Quyida 5 ta sondan iborat stekni tashkil etib, ulami ekranga chiqaruvchi dastur kodi berilgan. Stekka sonlarni joylash funksiyasi - Push, tanlash esa Pop. Stek bilan ishlash funksiyasi - top doimo yuqoriga murojaat qiladi. Download 21.43 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling