ICALL jamoasi .
Tarkib haqida xabar berish
Hisobotda va raqamini ko'rsatadigan sarlavha sahifasi bo'lishi kerak laboratoriya ishining nomlari, guruh nomeri va ishni bajarganlarning familiyalari; ishning maqsadi; ko'ra dastur eshittirishlar ro'yxati
vazifaga muvofiq.
test savollari
Chaqiruvchi dasturning o'zaro ta'siri uchun qanday shartlar mavjud va tartiblar?
Tashkil etish prinsipi va stekning maqsadini aytib bering.
Subprogrammalarni chaqirish mexanizmi qanday? 4. Assemblerda quyi dasturlar bilan qanday buyruqlar ishlaydi
AVR oilasining mikrokontrolörlarini bilasizmi?
5. Qo'ng'iroqlar o'rtasida ma'lumot almashish usullari qanday asosiy dastur va pastki dastur?
110
Machine Translated by Google
Laboratoriya ÿ6
Interrupt tizimi
Ishning maqsadi: AVR mikrokontrollerining o'rnatilgan taymer- hisoblagichining to'lib toshgan uzilishi misolida uzilishlar tizimini o'rganish.
Nazariy qism
Unda haqiqiy mikroprotsessor tizimi ishlayotganida yoki
uning tashqarisida zudlik bilan javob berishni talab qiladigan hodisalar yuz berishi mumkin. Bunday reaktsiya uzilish protsedurasi bilan ta'minlanadi, bu amaldagi dasturning bajarilishi to'xtatilishi, uzilish vaqtidagi holat eslab qolishi, boshqa dasturning bajarilishi, shundan so'ng saqlangan dasturning qayta tiklanishidan iborat.
protsessorning uzilish holati va bajarish davom etgunga qadar
to'xtatilgan dastur. Oqimning uzilishiga sabab bo'lgan signal
dastur uzilish so'rovi (IRQ) deb ataladi; bu signalning manbai uzilish manbai hisoblanadi; uzilish so'rovi bo'yicha bajariladigan amallar ketma- ketligi uzilish xizmati, uzilishda bajariladigan dastur esa uzilishni ishlov beruvchi, uzilish tartibi deb ataladi . Uzilish manbalarining ikki turi mavjud
- apparat va
dasturiy ta'minot. Uskuna uzilish manbalari tashqi va ichki tashqi qurilmalardir. Tashqi manbadan uzilish so'rovi mos keladigan faol signaldir
protsessorning chiqishi; tomonidan uzilish manbai aniqlanadi
bunday signal paydo bo'ladigan chiqish. Dasturiy ta'minotni uzish manbalari maxsus uzilish ko'rsatmalarini o'z ichiga oladi.
(tuzoq) - boshqariladigan dasturiy uzilishlar va maxsus shartlar
(istisno - istisno) - nazoratsiz dasturiy uzilishlar, bu protsessorning ba'zi ko'rsatmalarni bajarish paytida yuzaga kelgan istisno vaziyatga reaktsiyasi (to'ldirish, nolga bo'linish va boshqalar). Dasturiy ta'minot manbasidan uzilish so'rovi - bu uzilish buyrug'ining o'zi yoki maxsus shartning paydo bo'lishini ko'rsatadigan bit (lar) ning o'rnatilishi. Uskuna va dasturiy ta'minotdagi uzilishlar manbalarining umumiy soni bir nechadan bir necha o'nlabgacha o'zgarishi mumkin.
Bir nechta so'rovlar bo'yicha uzilishlarga xizmat ko'rsatish tartibi
turli protsessorlardagi manbalar turlicha amalga oshiriladi.
111
Machine Translated by Google
Shunga qaramay, uzilish mexanizmini amalga oshirishning asosiy tamoyillari umumiydir. Uzilish protsedurasi protsessor apparatidagi maxsus qurilmalar (kontrollerlar, boshqaruv sxemalari va boshqalar) tomonidan boshqariladi. Uzilishlarni boshqarishning asosiy vositalari:
- uzilish vektorlari; - ustuvorliklarni to'xtatish; ÿ niqoblash ishini to‘xtatish; bayroqlarni to'xtatish. Mikrokontrollerlarda bu uzilishlarni boshqarish quyidagi tarzda amalga oshiriladi. Manzildagi N ta manbadan uzilishlarni boshqarish uchun
dastur xotirasi maydoni N xotira kataklarining (yoki bir nechta katakchalardan iborat N bloklarining) maxsus maydoni ajratilgan . Ushbu kataklarning har birida tegishli uzilishlar xizmatiga o'tish yoki (blok bo'lsa) ko'rsatmalar mavjud.
bir nechta katakchalar) to'g'ridan-to'g'ri sizga kerak bo'lgan buyruqlar uzilish so'rovi bo'yicha bajarish. Ushbu xotira katakchalari (bloklari) uzilish vektorlari (yoki oddiygina vektorlar), manzillar deb ataladi
katak (har bir blokning birinchi katakchasi) - uzilish vektorining manzili. Shunday qilib, har bir uzilish manbasiga boshqa uzilish vektor manzili tayinlanadi. N vektorlar to‘plami
uzilish vektor jadvalini hosil qiladi, u odatda dastur xotirasining nol manzilidan boshlab joylashadi.
Uzilish ustuvorliklari uzilish so'rovlariga xizmat ko'rsatish tartibini belgilaydi. Ustuvorliklarni kiritish, iloji bo'lsa, bir vaqtning o'zida (bir
soat davri) dan uzilish so'rovlarini olish
turli manbalar yoki oldindan olingan so'rov bo'yicha uzilishga xizmat ko'rsatishda yangi uzilish so'rovining kelishi. Uzilish ustuvorliklarining turlari va tuzilishi protsessor arxitekturasi bilan belgilanadi.
Ustuvorliklarni belgilashning eng oddiy usuli - uzilishlar vektorlari jadvalidagi ustuvor qiymatlarni eng yuqoridan pastgacha ketma-ket belgilash. Yuqori
qattiq tiklash har doim ustuvor ahamiyatga ega; keyin boshqa manbalardan olingan uzilish vektorlari. Foydalanilmayotgan uzilishlar
xizmatini o'chirish uchun maskalash operatsiyasi qo'llaniladi.
Niqoblash imkoniyatiga qarab, uzilish manbalari maskalanadiganlarga bo'linadi
(maskalanadigan), yoqish yoki o'chirish mumkin bo'lgan uzilishlar va maskalanmaydigan (maskalanmaydigan), uzilishlar bo'lmagan
112
Machine Translated by Google
taqiqlanishi mumkin. Maskalash umumiy va individual bo'lishi mumkin. Umumiy (global) niqoblashda, maskalanmaydiganlar bundan mustasno, barcha uzilishlar individual maskalanishidan qat'i nazar, o'chiriladi.
Individual niqoblash har bir manbadan alohida uzilishni o'chirish (yoqish) imkonini beradi.
Interrupt bayroqlari maxsus bitlardir
ba'zi manbalardan uzilish so'rovi olinganda o'rnatiladigan registrlar.
Uzilishga xizmat ko'rsatish tartibi soddalashtirilishi mumkin quyidagi bosqichlar bilan ifodalanadi:
- uzilish so'rovlarini qabul qilish; ÿ arbitrajning uzilishi; ÿ uzilishlar
xizmati tartibini bajarish. Niqobsiz manbadan uzilish to'g'risida so'rov olinganda, darhol uning xizmatining keyingi bosqichiga -
arbitrajga o'tish amalga oshiriladi. Niqoblangan manbadan uzilish so'rovi murakkabroq algoritmga muvofiq qayta ishlanadi. So'rov kelganda, tegishli uzilish bayrog'i o'rnatiladi. Keyingi qadam - umumiy uzilish niqobini tekshirish. Agar a
umumiy niqoblash rejimi o'rnatiladi, so'ngra so'rovlarni to'xtatish barcha niqoblangan manbalardan e'tiborga olinmaydi va joriy dasturni bajarish davom etmoqda. Umumiy niqoblash rejimi bo'lmasa o'rnatiladi, keyin bu uzilishning taqiqlanishi yoki ruxsati individual niqobning mavjudligi (yo'qligi) bilan belgilanadi. Agar a
berilgan uzilish maskalanadi, uzilish so'rovlari
Ushbu manbadan oqimni amalga oshirish taqiqlanadi dasturlari. Aks holda, bu manbadan uziladi
ruxsat etiladi va buning uchun xizmatning navbatdagi bosqichi, arbitraj boshlanadi. Interrupt Arbitration bilan uzilishni aniqlash uchun
ishlatiladi
uzilish so'rovi navbatdagi eng yuqori ustuvorlik. Arbitrajdan so'ng tanlangan uzilish so'rovi bajariladi. Interruptning bajarilishi haqida kichik dasturga o'tishdan iborat
uzilish xizmati, uning bajarilishi va bajarilishiga qaytish
joriy dastur. Interruptni bajarishdan oldin,
umumiy maskalash, ya'ni. maskalanmaydiganlardan tashqari barcha uzilishlarni o'chiring va xizmat ko'rsatilgan uzilish bayrog'ini o'chiring. Interruptning haqiqiy bajarilishi xizmat ko'rsatilayotgan manbaning uzilish vektoriga qo'ng'iroq qilish bilan boshlanadi.
113
Machine Translated by Google
Xizmat ko'rsatilgan uzilish so'rovlar bilan to'xtatilishi mumkin ustuvorroq manbalardan. to'xtatadi, uchun
boshqa uzilish tartibining bajarilishi to'xtatilgan xizmatlar ichki deb ataladi. Jarayon
ularning xizmati oddiy uzilishlar xizmatiga o'xshaydi; yagona farq shundaki, u asosiy dastur emas, balki pastroq ustuvorlikka ega bo'lgan manbadan uzilishni qayta ishlash tartibi to'xtatiladi.
Mikroprotsessorli tizimlarda uzilish mexanizmi turli kiritish-chiqarish qurilmalari bilan axborot almashish uchun ishlatiladi. Ushbu turdagi ma'lumotlar almashinuvi uzilishlar almashinuvi deb ataladi. Uzilish so'rovlarining odatiy misollari
analog-raqamga o'tkazish natijasining tayyorligi, qurilmaning ma'lumotni qabul qilishga (uzatishga) tayyorligi, ba'zi registrlarning to'lib ketishi va boshqalar. Uzilish mexanizmidan foydalanish sekin qurilmalar bilan ishlashda tizimning ish faoliyatini sezilarli darajada oshirishga imkon beradi, bu holda ularga xizmat ko'rsatish faqat protsessor vaqtini oladi.
ular almashishga tayyor
bo'lganda. AVR mikrokontrollerlarida uzilish mexanizmi amalga oshiriladi
quyida bayon qilinganidek. Uzilishlar bilan boshqariladi
uzilish sxemasi yordamida (1-rasmga qarang). Uzilish vektor maydoni dastur xotirasining boshida joylashgan; har bir vektor iborat
bitta hujayradan. Agar kerak bo'lsa, vektor maydonini to'xtating
dastur xotirasidagi boshqa joyga ko'chirilishi mumkin. Pastroq manzilli uzilishlar yuqori darajadagi ustuvorlikka ega. Barcha uzilishlar apparatdan (tashqi
yoki ichki) dasturiy ta'minotni uzish manbalari mavjud emas. Barcha uzilish manbalari maskalanadi. Umumiy niqoblash global faollikning I bitini tozalash orqali amalga oshiriladi .
Do'stlaringiz bilan baham: |