Tashqi qurilmalardan kelgan uzilishlarga ishlov berish




Download 2,55 Mb.
Pdf ko'rish
bet52/154
Sana10.01.2024
Hajmi2,55 Mb.
#133982
1   ...   48   49   50   51   52   53   54   55   ...   154
Bog'liq
UMK OT (3)

 
6.3.Tashqi qurilmalardan kelgan uzilishlarga ishlov berish 
Uzilishga so‘rovlarning bir necha manbai bo‘lgan taqdirda kelgan so‘rovlarga 
hizmat ko‘rsatishning ma’lum tartibi (intizom) o‘rnatilishi kerak. Boshqacha so‘z 
bilan aytganda, kelgan so‘rovlar va tegishli uzuvchi dasturlar o‘rtasida ustunlik 
nisbati o‘rnatilishi kerak, kelgan bir necha so‘rovdan qaysi biriga birinchi navbatda 
ishlov berilishi kerakligini, ushbu so‘rov (uzuvchi dastur) u yoki bu dasturni uzishga 
xuquqi bormi yoki yo‘qligini aniqlovchi ustunlik bo‘lishi kerak. Bajarish uchun 
so‘rovni tanlash ustunligi uzuvchi dasturning o‘tish protsedurasiga kiradi. 
Tashqi qurilmalardan kelgan uzilishlarga ishlov berish dasturiga misol 6.4-
chizmada keltirilgan. 

i+L 
Узилишларга 
ишлов бериш 
дастури 
асосий 
Жойлаштирилган цикл 


97 
 
Tashqi qurilmadan kelgan so‘rovdan so‘ng uzilishga ishlov berilayotgan 
asosiy dastur uziladi, oxiri bajarilgan buyruq kodi saqlanadi, tegishli tashqi qurilma 
bilan axborot almashinuvi amalga oshiriladi, undan so‘ng bajarilgan buyruqdan 
keyingi buyruqni bajarish tiklanishi sodir bo‘ladi. 
 
6.4-chizma. Tashqi qurilmalardan kelgan uzilishga ishlov berish dasturining blok-
sxemasi 
Uzilish bo‘yicha kirish/chiqish ning joriy etilishi. 
Uzilishlar bo‘yicha kirish/chiqishni joriy etilishida ikki savolga javob berish 
kerak bo‘ladi. Birinchidan, protsessor qanday qilib qaysi kirish/chiqish moduli va u 
modulga ulangan qaysi tashqi qurilmasi so‘rov berganligini aniqlaydi. Ikkinchidan, 
uzilishlar ko‘p bo‘lgan taqdirda, ulardan qaysi birini birinchi navbatda hizmat 
ko‘rsatilishi kerakligini aniqlashni hal qilish talab etiladi. 
Процессор 
регистрларининг 
қийматини 
сақлаш 
Процессор 
регистрларин
инг 
қийматини 
тиклаш 
ТҚ 1 билан 
ахборотлар 
алмашиш 
ТҚ N билан 
ахборотлар 
алмашиш 
Тайёрлик 
Тайёр 
Асосий 
дастур 
Узилишг
а сўров 
ха 
йў
қ 
ха 
йў


98 
Qurilmalarni mosligini aniqlashda uchta asosiy usul bo‘lishi mumkin: 
➢ uzilish yo‘llarini ko‘pligi; 
➢ moslikni dasturiy amalga oshirish; 
➢ vektorli uzilish. 
Muammoni hal qilishga eng oddiy yondoshuv bu so‘rov manbaini aniqlash - 
uzilish yo‘llarini ko‘pligini protsessor va kiritish/chiqarish modullari o‘rtasida 
qo‘llash, vaholanki bu maqsadlar uchun juda ham ko‘p sonli boshqarish yo‘llarini 
ajratish ratsional emas. Undan tashqari, agarda bir necha uzilish yo‘llari bo‘lsa ham, 
har bir yo‘l barcha modullar tomonidan ishlatilish kerak, shu bilan bir qatorda har 
bir yo‘l uchun qurilmani mosligini aniqlashning qolgan ikki usulidan biri ta’sir 
qiladi. 
Moslikni (identifikatsiya) dasturiy amalga oshirishda, uzilishga so‘rovni 
aniqlagach, protsessor uzilishga ishlov berishning umumiy dasturiga o‘tadi, uning 
vazifasi so‘rov manbaini topish maqsadida kiritish/chiqarish modullarini barchasini 
so‘rashdan iborat. Buning uchun mahsus buyruqlarning so‘rov yo‘li ajratilishi 
mumkin. Protsessor manzillar shinasiga so‘ralayotgan modul manzilini joylashtiradi 
va bu yo‘lda so‘rov signalini hosil qiladi. Modulning etibori u so‘rov berdimi yoki 
yo‘qligiga bog‘liq. Boshqacha varianti ham bo‘lishi mumkin, unda har bir modul 
o‘ziga holatni manzillar registridan oladi. U holda protsessor har bir modulning 
holatlar registrining qiymatini o‘qiydi, undan so‘ng uzilish manbaini aniqlaydi. 
Uzilish manbai aniqlangach, protsessor aniqlangan manba bo‘yicha uzilishga ishlov 
berish dasturiga o‘tadi. Dasturiy moslikni aniqlash usulining kamchiligi, ko‘p vaqt 
sariflanishidadir.
Uzilish manbaini mosligini ta’minlashning eng samarali protsedurasi 
apparatli usuldir, uning asosida vektorli uzilish yotadi. Bu holda, so‘rov bergan 
qurilma protsessordan uzilishga tasdiq olgach axborotlar shinasiga “uzilish vektori” 
deb ataluvchi mahsus so‘z beradi. Bu so‘z o‘z tarkibida kiritish/chiqarish 
modulining manzilini yoki boshqa qandaydir noyob moslikni (identifikatorni) oladi,
uni protsessor uzilishlarga tegishli ishlov berish dasturiga ko‘rsatuvchi kabi 
ifodalaydi. Bundek yondoshish uzilishlarga so‘rov manbaini aniqlash maqsadidagi


99 
dastlabki harakatlarga bo‘lgan zaruratni yo‘qotadi. Uning joriy etilishi oddiy, 
operativ hotirada saqlanadigan uzilish vetor jadvallari yordamida amalga oshiriladi 
(6.5-chizma), unda uzilishlarga ishlov berish dasturlarning manzillari saqlanadi. 
 
6.5-chizma. Uzulish vektori yordamida so‘rovni bajarish 
Jadvalga kirish uchun uzilish vektori hizmat qiladi. Jadvalning boshlanish 
manzili (baza) odatda aniqmas holda beriladi, ya’ni jadval uchun hotiraning aniq 
xududi ajratiladi. Uzilishni so‘ragan tashqi qurilma o‘zining mos kelishini 
protsessorga shina bo‘ylab jo‘natiladigan mahsus kod yordamida aniqlaydi. Bu kod 
yaratilgan baza yordamida uzilishlarga ishlov berish dasturining boshlong‘ich 
manzilini aniqlay oladi. Manzil uzunligi odatda 4 razryaddan 8 razryadgachan 
bo‘ladi. Manzilning qolgan qismini protsessor baza axborotlariga asosan hosil 
qiladi. 
Uzilishning vektor kodini taxlil qilingach, bazadan ushbu uzilishning ishlov 
beruvchi dasturning tegishli manzili tanlanadi. Topilgan manzil bo‘yicha hotiradan 
protsessor ishga tushiradigan uzilishga ishlov beruvchi dastur o‘qiladi. Uni 
bajarilgandan so‘ng va uzilish sababini bartaraft qilingach, mikrokontroller asosiy 
dasturning birinchi bajarilmagan buyrug‘iga qaytadi. 
Узилиш векторлар жадвал базаси 
Узилиш векторлар жадвали 
1-узилишга ишлов берувчининг 
манзили 
2-узилишга ишлов берувчининг 
манзили 
... 
1-узилишга ишлов берувчи 
2-узилишга ишлов берувчи 
... 
n- узилишга ишлов берувчи 

Узилиш вектори 


100 
 
Masalan, protsessor hotiraning 5000 (shartli) manzilida joylashgan asosiy 
dastur va buyruqni bajarmoqda deb faraz qilaylik (6.6-chizma). Shu vaqt momentida
u 4 nomerli (manzilli vektor) uzulishga so‘rov oldi. Protsessor 5000 manzildagi 
buyruqni bajarishni to‘xtatadi. So‘ng protsessor stekda buyruqlar sanoq 
qurilmasining hozirdagi qiymatini (5001) va PSW ning (Proctssor Status Word, 
protsessorning holat so‘zi) hozirdagi qiymatini saqlab qoladi. Shundan so‘ng 
protsessor hotiraning 4 manzilidan uzulish vektor kodini o‘qiydi. Faraz qilaylik bu 
kod 6000 teng bo‘lsin. Protsessor hotiraning 6000 manziliga o‘tadi va shu manzildan 
boshlangan uzulishga ishlov berish dasturini bajarishni boshlaydi. Bu dastur 6100 
manzilda tugaydi deb faraz qilaylik. 6100 manzilga yetgach protsessor uzulib qolgan 
dasturni bajarishga qaytadi. Buning uchun u stekdan (5001) manzil qiymatini (uni 
shu manzilda uzishgan edi) va o‘sha vaqtda bo‘lgan PSW qiymatini oladi. So‘ng 
protsessor 5001 manzildan buyruqni o‘qiydi va asosiy dasturning buyruqlarini 
ketma-ket bajarishga kirishadi. 
6.6-chizma. Uzulishlarga ishlov berishning soddalashtirilgan algoritm 
Buzilish holatidagi uzulish ham xuddi shu kabi ishlov beriladi, faqat vektor 
manzili (vektorlar jadvalidagi qator nomeri) shu turdagi buzilish turiga qatiy 
bog‘langan bo‘ladi.
Shuningdek dasturiy uzulishga ham uzulish vektorlar jadvali orqali hizmat 
ko‘rsatiladi, lekin uzulish nomeri esa uzulishni chaqirgan buyruq tarkibida 
ko‘rsatiladi. 
Стек 
Узулашларга 
ишлов бериш 
дастури 
5000 
5001 
4-нўмерли 
узулиш 
Асосий 
дастур 
Узулишлар 
векторлар 
жадвали
6000 
6100 
5001 
PSW 
0004 
6000 

Download 2,55 Mb.
1   ...   48   49   50   51   52   53   54   55   ...   154




Download 2,55 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Tashqi qurilmalardan kelgan uzilishlarga ishlov berish

Download 2,55 Mb.
Pdf ko'rish