Dasturiy ta'minot almashinuvi - Mikroprotsessorlar asosida ma'lumot uzatish tizimlarini loyihalash

Dasturiy ta'minot almashinuvi har qanday mikroprotsessor tizimida zarurdir. Har doim ko'zda tutilgan, shu bilan boshqa turdagi almashinish mumkin emas. Ushbu rejimda protsessor tizim magistralining yagona egasi (yoki usta, Master) hisoblanadi. Bu holda ma'lumot almashishning barcha operatsiyalari (sikllari) faqat protsessor tomonidan amalga oshiriladi, ularning barchasi qat'iy bajariladigan dasturda belgilangan tartibda amalga oshiriladi.
Protsessor xotiradan buyruq kodlarini o'qiydi (tanlaydi) va ularni bajaradi, xotiradan yoki kirish/chiqish qurilmasidan ma'lumotlarni o'qiydi, ularni qayta ishlaydi, ma'lumotlarni xotiraga yozadi yoki kirish/chiqish qurilmasiga uzatadi. Dasturdagi protsessor yo'li chiziqli, siklik bo'lishi mumkin, u o'tishlarni (o'tishlarni) o'z ichiga olishi mumkin, ammo u doimo doimiy va to'liq protsessor nazorati ostida. Protsessor dastur bilan bog'liq bo'lmagan tashqi hodisalarga javob bermaydi (Rasm 1.6). Ushbu holatda magistraldagi barcha signallar protsessor tomonidan boshqariladi.
Uzilishlar almashinuvi mikroprotsessor tizimi ba'zi tashqi hodisalarga, tashqi signalning kelishiga javoban kerak bo'lganda ishlatiladi. Kompyuter holatida tashqi voqea, masalan klaviatura tugmachasida yoki mahalliy tarmoq orqali keladigan ma'lumotlar paketida bo'lishi mumkin. Bunga kompyuter tegishli ravishda ekranda belgi ko'rsatish yoki tarmoq orqali olingan paketni o'qish va qayta ishlash orqali javob berishi kerak.
Buyruq 1
Buyruq 2
Buyruq 3
•
Buyruq N
Buyruq N+1
Buyruq N+2
Buyruq N+3 Buyruq N+4 Buyruq N+5
Rasm 1.6. Dasturda ma'lumot almashish
Umuman olganda, tashqi hodisaga reaktsiyani uch xil usulda tashkil qilishingiz mumkin:
voqea sodir bo'lishining doimiy dasturiy nazorati yordamida
(bayroq bilan so'roq qilish yoki polling berish usuli);
uzilishlardan foydalanish,
ya'ni protsessorni joriy jarayondan majburan o'tkazish;
shoshilinch zarur bo'lgan dasturni ishga tushirish uchun, to'g'ridan-to'g'ri xotira kirishidan foydalanish,
ya'ni protsessor tizim magistralidan uzilganda.
Bayroqlarni so'rash bilan bog'liq birinchi holat mikroprotsessor tizimida protsessor tomonidan tashqi qurilmaga ulangan kirish / chiqish qurilmasidan doimiy ravishda ma'lumotni o'qish orqali amalga oshiriladi, uning harakatlariga zudlik bilan javob berish kerak.
Ikkinchi holda, uzilishlar rejimida protsessor tashqi qurilmadan (ko'pincha IRQ - Interrupt ReQuest deb nomlanadi) so'rovni qabul qilib, joriy buyruqni bajarishni tugatadi va uzilishni qayta ishlash dasturiga o'tadi. To'xtatib qo'yish dasturini tugatgandan so'ng, u to'xtatilgan dasturga u to'xtagan joydan qaytib keladi
(Rasm 1.7). Barcha ish, dastur holatida bo'lgani kabi, protsessorning o'zi tomonidan amalga oshirilishi juda muhim, tashqi voqea uni vaqtincha chalg'itadi. Tashqi uzilish hodisasiga javob berish odatda dastur rejimiga qaraganda sekinroq. Dastur almashinishidagi kabi, bu erda magistraldagi barcha signallar protsessor tomonidan o'rnatiladi, ya'ni magistralni to'liq boshqaradi. Interaktiv uzilishlar uchun ba'zida tizimga to'xtatuvchi boshqaruvchining maxsus moduli kiritiladi, ammo u ma'lumot almashishda qatnashmaydi. Uning vazifasi protsessorning ishini tashqi kesish so'rovlari bilan soddalashtirishdir. Ushbu tekshirgich odatda dasturiy jihatdan tizimning orqa miya ustidagi protsessor tomonidan boshqariladi.
Tabiiyki, uzilishlar tizimning tezlashishiga olib kelmaydi. Uning ishlatilishi faqat tashqi voqea bayrog'ini doimiy so'rashdan voz kechishga va vaqtincha, tashqi voqea boshlanishidan oldin boshqa vazifalarni bajarib, protsessorni egallashga imkon beradi.
Asosiy dastur
Rasm 1.7. Uzilishlar almashinuvi
Xotiraga to'g'ridan-to'g'ri kirish (XTTK, DMA) - bu oldindan ko'rib chiqilgan ikkita rejimdan tubdan farq qiluvchi tizim, bu tizim shinasi orqali almashish protsessorsiz amalga oshiriladi. Ta'minotni talab qiladigan tashqi qurilma protsessorga DMA rejimi zarurligi to'g'risida signal beradi, bunga javoban protsessor joriy buyruqni bajarishni tugatadi va barcha Shinalardan uziladi, talab qilinadigan qurilmaga DMA rejimida almashinuvni boshlashi mumkinligini bildiradi.
D
MA ishlashi kirish/chiqish qurilmasidan xotiraga yoki xotiradan kirish / chiqish qurilmasiga ma'lumot yuborish uchun kamayadi. Ma'lumotni uzatish tugagach, protsessor yana uzilgan dasturga qaytadi va uni to'xtagan joyidan davom ettiradi (Rasm 1.8). Bu uzilish xizmati rejimiga o'xshaydi, ammo bu holda protsessor almashishda qatnashmaydi. Uzilishlar holatida bo'lgani kabi, DMA bilan tashqi hodisaga reaktsiya dastur rejimiga qaraganda ancha sekinroq.
Rasm 1.8. DMAga xizmat ko'rsatish
Bunday holda, tizimga biron bir protsessor ishtirokisiz to'liq almashinuvni amalga oshiradigan qo'shimcha qurilmani (DMA kontrolleri, tekshiruvchi) kiritish talab qilinadi. Bundan tashqari, protsessor birinchi navbatda ushbu boshqaruvchi haqida ma'lumot olishi kerak va u qayerdan ma'lumot olishi kerak va / yoki qaerga. DMA kontrolleri ixtisoslashgan protsessor deb hisoblanishi mumkin, chunki u almashishda qatnashmaydi, ma'lumotni qabul qilmaydi va uni bermaydi (Rasm 1.9).
Rasm 1.9. DMA rejimida ma'lumotlar oqimi
Aslida, DMA tekshiruvchisi DMA rejimiga muhtoj bo'lgan kirish / chiqish qurilmasining bir qismi yoki hatto bir nechta kirish / chiqish qurilmalarining bir qismi bo'lishi mumkin. Nazariy jihatdan, to'g'ridan-to'g'ri xotira kirishidan foydalanadigan almashinuvlar dasturiy ta'minot almashinuviga qaraganda yuqori ma'lumot uzatish tezligini ta'minlaydi, chunki protsessor ma'lumotni ixtisoslash- tirilgan DMA kontrolleriga qaraganda sekinroq uzatadi. Biroq, amalda bu ustunlik har doim ham amalga oshirilmaydi. DMA rejimida almashuv tezligi odatda magistralning imkoniyatlari bilan cheklanadi. Bundan tashqari, DMA kontrollerini rejimlarini dasturiy ravishda sozlash zarurati DMA rejimida ma'lumotlar uzatish tezligining yuqori bo'lishiga olib kelishi mumkin. Shuning uchun DMA rejimi kamdan kam ishlatiladi.
Agar tizimda allaqachon mustaqil DMA tekshiruvchisi bo'lsa, bu ba'zi hollarda DMA rejimida ishlaydigan kirish / chiqish qurilmalarining jihozlarini sezilarli darajada soddalashtirishi mumkin. Bu, ehtimol, DMA rejimining yagona shubhasiz afzalligi.
|