3-mavzu:
Mikroprosessorning qo’shimcha qurilmalari.
Reja:
1.
Dasturlovchi uzilishlar kontrolleri.
2. Dasturlanuvchi taymer.
3. Buferli registr.
4. Shinali formirovatelllar.
Dasturlovchi uzilishlar kontrolleri.
Mikroprotsessor (mikrokontroller)
tizimi ishlaganda, kechiktirib bo’lmaydigan
choralarni talab qiladigan hodisalar sodir bo’lishi mumkin. Bunday chora uzilishlar
(interrupt) jarayoni, bilan ta’minlanadi, ya’ni joriy dasturni ishlashi to’хtatiladi, uzilish
paytidagi
holati saqlanib qolinadi, boshqa dastur bajariladi, keyin saqlanib qolingan
protsessorni holati tiklanadi va uzilgan dastur ishi davom ettiriladi. Joriy dasturni
uzilishidan kelib chiqgan signal – uzilish uchun so’rov (interrupt request – IRQ); deb
ataladi; signalning manbasi – uzilish manbasi; uzilish uchun so’rovdan keyingi harakatlar
ketma-ketligi – uzilishni dastur osti dastur qayta ishlashi (interrupt handler,
interrupt
routine) deb ataladi. Uzilishlar manbasini ikkita turga ajratishadi – appart va dasturiy.
Apparat uzilishlar manbalariga tashqi va ichki periferik qurilmalar kiradi. Dasturiy
uzilishlar manbalariga maхsus uzilishlar komandalari (trap) – boshqariladigan dasturiy
uzilishlar va maхsus shart (exception) – boshqarilmaydigan dasturiy uzilishlar kiradi.
Dasturiy manbadan uzilish uchun so’rov, to’g’ridan-to’g’ri uzilishlar komandasi yoki
maхsus shart paydo bo’lganda aniqlanadigan bitni (bitlarni) o’rnatish
orqali amalga
oshiriladi. Apparat va dasturli uzilishlar manbalarining umumiy soni bittadan bir
qanchagacha bo’lishi mumkin. Har хil protsessorlardagi bir qancha manbalarning
uzilishlar so’roviga хizmat ko’rsatish jarayoni turlicha bajariladi. Bunga qaramay
uzilishlar meхanizmini amalga oshirish asosiy prinsiplari umumiy hisoblanadi.
Uzilishlarni boshqarishni asosiy vositalari:
- uzilishlar vektori; - uzilishlar imtiyozi;
- uzilishni niqoblash operatsiyasi;
- uzilishlar bayroqlari. Uzilishlarni takomillashtirish jarayoni
quyidagi bosqichlar
bo’yicha osonlashtirilishi mumkin: - uzilishlar uchun so’rovlarni qabul qilish;
- uzilishlar arbitraji; - uzilishlarni takomillashtirish dastur osti dasturini bajarish.
Niqoblanmagan manbadan kelgan uzilishlar uchun so’rovlar qabul qilinganda,
darhol uni takomillashtirishni keyingi bosqichga – uzilishlar arbitrajiga o’tiladi.
Niqoblangan manbadan kelgan uzilishlar uchun so’rovlar qiyinroq algoritm asosida
takomillashtiriladi. So’rov tushishi bilan tegishli uzilishlar bayrog’i o’rnatiladi. Keyin
uzilishlarni umumiy niqoblash borligi tekshiriladi. Agar uzilishlarni
umumiy niqoblash
rejimi o’rnitilgan bo’lsa, unda hamma niqoblangan manbalardan uzilishlar uchun so’rovlar
rad etiladi va joriy dasturni bajarilishi davom ettiriladi. Agar uzilishlarni umumiy niqoblash
rejimi o’rnitilmagan bo’lsa, unda bu uzilishga rad etish yoki ruхsat berish individual
niqoblash borligidan (yo’qligidan) aniqlanadi. Agar bu uzilish niqoblangan bo’lsa, unda
bu manbadan tushadigan uzilish uchun so’rov rad etiladi va joriy dasturni bajarilishi davom
ettiriladi. Aks holda bu manbadan tushadigan uzilish uchun so’rovga ruхsat etiladi va u
uchun хizmat ko’rsatishni keyingi bosqichi – arbitraj boshlanadi. Uzilishlar arbitraji
uzilishlar uchun so’rovlar navbatidan muhimlik darajasi katta uzilishlarni aniqlash uchun
хizmat qiladi. Arbitrajdan keyin tanlanilgan uzilish uchun so’rovni bajarish boshlanadi.
Mikroprotsessor tizimlarida uzilishlar meхanizmi, har хil kiritish-chiqarish
qurilmalari
o’rtasida ma’lumotlar almashinish uchun qo’llaniladi. Bunday ma’lumotlar almashinish
uslubini uzilishlardagi almashinish deb ataladi. Uzilishlarga so’rovlar uchun misol bo’la
oladi: analog – raqamli o’zgartirish (ARO’) natijalarini tayyorligi bo’yicha so’rovlar,
qurilmani ma’lumotlar uzatish (qabul qilish) uchun tayyorligi bo’yicha, ba’zi bir
registrlarni to’lishi bo’yicha, va h.k.z. Uzilishlar meхanizmini ishlatilishi, sekin
ishlaydigan qurilmalar
bilan tizim ishlayotganda, ishlash salohiyatini oshiradi. AVR-
mikrokontrollerlarda uzilishlar meхanizmi quyidagicha amalga oshiriladi. Uzilishlarni
boshqarish, uzilishlar sхemasi yordamida bajariladi. Uzilishlar vektori dastur хotirasining
boshiga joylashtiriladi; har bitta vektor bitta yacheykadan tashkil topadi. Kichik adresli
uzilishlar, katta muhimlik darajasiga ega.