Uzilishlar.
MP dasturi doimiy ravishda qurilmalarning holatini tekshirib, kutish sikli deb nomlanadigan siklda bo’ladi. Bu vaqtda MP foydali ish bajarmaydi. Bu kutish vaqtidan unumli foydalanish uchun shunday qilish kerakki, qurilma ma’lumot almashishga tayyorligi haqida o’zi xabar bersin. Bunday xabar uzilishlar deyiladi. Uzilishlar uchun shinaning bitta boshqaruv liniyasi ajratiladi va u uzilish so’rovlari liniyasi deyiladi. Bunda, ya’ni MP qurilmalarni doimiy ravishda tekshirib turmasdan boshqa ishlarni bajarib turishi mumkin. Shunday texnologiya sababli MP hech qachon bo’sh turib qolmaydi.
Misol. Aytaylik, kompyuter qandaydir hisoblashlarni bajaradi va natijalarni printerga chiqaradi, keyin boshqa hisoblashlarni bajaradi, ularni printerga chiqaradi va h.k. bu ishni bajaruvchi dastur 2 ta COMPUTE va PRINT podprogrammalaridan iborat deb tasavvur qilamiz. COMPUTE n ta satrni PRINT programmasi printerda chop etishi uchun uzatadi.
Masalani hal qilishda COMPUTE dasturi bir necha marta bajariladi, keyin PRINT bir marta bajariladi. Printer esa bir urinishda bir qator matnni qabul qiladi. Shu sababdan PRINT podprogrammasi bir satrni printerga uzatadi, kutadi, keyingi satrni uzatadi, kutadi va h.k. bunda MP ham printerning tayyorligini har gal tekshirish uchun ko’p resurslarini sarflaydi. Umumiy unumdorlikni oshirish uchun COMPUTE va PRINT podprogrammalarini navbatli ishlatish mumkin, ya’ni dastlab COMPUTE ni bajarish, n ta satrni olish, keyin PRINT ni bajarish. Printer bir satrni chop qilguncha, PRINT podprogrammasi faqat kutish bilan band bo’ladi. Ana shu kutish vaqtini COMPUTE podprogrammasi bajarilishiga uzatish mumkin. Printer bir satrni chiqarib, ikkinchisini chiqarishga tayyor bo’lganda, bu haqda MP ni ogohlantiradi, MP COMPUTE ning bajarilishini to’xtatadi, boshqaruvni PRINT ga beradi. PRINT yana bir satrni printerga uzatadi va yana ishini to’xtatadi. Bajarilishi to’xtatilgan COMPUTE dasturi kelgan joyidan bajarilishda davom etadi. Va h.k. Pechatdan ko’ra hisoblashga ko’p vaqt ketishini hisobga oladigan bo’lsak, MP hamma vaqt hisoblashlar bilan band bo’lishini ko’ramiz.
Yuqoridagi misol uzilishlar qanday tashkil qilinganligini yaqqol ko’rsatadi. Uzilish talabiga ko’ra bajariladigan dastur uzilishlarni qayta ishlash dasturi deyiladi. Bizning misolda bu PRINT dasturi. Uzilishlar podprogrammalarni chaqirishga o’xshaydi.
Faraz qilamiz, uzilish talabi i komandasini bajarish vaqtida keldi. (yuqoridagi slayd) MP komandani bajarilishini to’xtatadi, komanda hisoblagichida uzilishlarni qayta ishlash dasturining birinchi komandasi adresini yuklaydi. Aytaylik, bu adres MP da yozilgan bo’lsin. Uzilishlarni qayta ishlash komandasini bajarib bo’lgandan keyin MP ishni i+1 komandadan boshlashi kerak. Buning uchun uzilishlarni qayta ishlash dasturini chaqirishdan oldin registrlarning qiymatlari xotirada saqlangan bo’lishi kerak. Uzilishlarni qayta ishlash dasturining oxiridagi uzilishdan qaytish komandasiga shu saqlangan registr yozilgan bo’ladi va bajarilishi i+1 dan boshlanadi. Ba’zi kompyuterlarda qaytish adresi protsessor stekida joylashadi. Uni boshqa joyda, masalan o’zi uchun alohida registr qilib shunda saqlash ham mumkin.
Uzilishni qayta ishlayotgan MP qurilmaga uning so’rovi o’qilganligi haqida xabar beradi, qurilma esa shinadan maxsus signal uzatish orqali uzilishga so’rov berishni to’xtatadi. Boshqa variantda buni tashkil qilish uchun MP va kiritish/chiqarish interfeysi orasida ma’lumot uzatish bajariladi. Uzilishlarni qayta ishlash dasturida holat registrining yoki ma’lumotlar registrining qiymati o’zgartiriladi va qurilma uzilish so’rovi qabul qilinganligini biladi.
Do'stlaringiz bilan baham: |