Ma’ruza mavzu: mikrokontrollerni tashkillashtirish Reja

|
Ma’ruza mavzu: mikrokontrollerni tashkillashtirish Reja
|
bet | 1/8 | Sana | 10.02.2024 | Hajmi | 251,41 Kb. | | #154229 |
Bog'liq 5-Mavzu
5-mavzu. Mikrokontrollerlar.
MA’RUZA
Mavzu: MIKROKONTROLLERNI TAShKILLAShTIRISh
Reja:
Mikrokontroller protsessori.
Mikrokontrollerning umumiy hotirasi. 4.3.Kesh-hotirani tashkillashtirish.
Tayanch iboralar: modulli tamoil, protsessor yadrosi, markaziy protsessor, mikrokontroller, dasturlar hotirasi, arifmetik – mantiqiy qurilma, kesh-hotira.
Mikrokontroller protsessori
Modulli tamoil asosida qurilgan bir oilaning barcha MK lari bir hil protsessor yadrosiga ega bo‘ladilar va MK ning turli modellarini ajratib turuvchi o‘zgaruvchan funksional blokka ega bo‘ladi. 4.1-chizmada modulli MK tarkibiy sxemasi keltirilgan.
4.1-chizma. Mikrokontrollerning asosiy funksional bloklari
Protsessor yadrosi o‘z tarkibiga quyidagi qurilmalarni oladi:
-markaziy protsessor;
-manzil, axborot va boshqarish shinalar tarkibida kontrollerning ichki magistrali (KIM);
-MK sinxronizatsiyalash sxemasi;
-MK ish tartibini boshqarish sxemasi, shu jumladan yana pasaytirilgan energiyani istemol ish tartibini quvvatlash, dastlabki ishga tushurish (sbros, tashlash) va x.k. o‘z ichiga olgan.
O‘zgaruvchan funksional blok o‘z tarkibiga turli hildagi va turli sig‘imga ega bo‘lgan hotira modullarini, kiritish/chiqarish portlarini, takt generator modulini (G), taymerni oladi. Nisbattan oddiy mikrokontrollerlarda uzulishlarga ishlov berish moduli protsessor yadrosining tarkibiga kiradi. Ancha murakkab mikrokontrollerlarda esa u rivojlangan imkoniyatli alohida modul sifatida bo‘ladi. O‘zgaruvchan funksional blok tarkibiga qo‘shimcha modul sifatida kuchlanish komparatori, analog-raqam o‘zgartiruvchi (ARO‘) va boshqalar kirishi mumkin. Har bir modul MK tarkibida kontrollerning ichki magistralining (KIM) protokollarini hisobga olingan holda ishlashi uchun loyihalashtiriladi. Ushbu yondoshuv bir oila ichida tarkibi jixatidan turli MK yaratish imkonini beradi.
Protsessor bevosita ikkilik tizimida havola qilingan axborotlarga ishlov berishni va buyruqlar ketma-ketligiga mos ravishda bu jarayonni boshqarishni amalga oshiradi. Takt generatori (G) MK qurilmalaridagi jaroyolarni o‘tishini sinxronizatsiyalash uchun tayanch signallar ketma-ketligini hosil qilishni bajaradi. Shina kontrolleri mikrokontrollerdagi buyruqlarni bajarilishining turli bosqichlarini taktlovchi va mikrokontrollerning tashqi qurilmalari bilan axborot almashuvini taminlovchi ichki magistrallarda (axborotlar va manzillar magistrallari) tarqaluvchi impuls ketma – ketligini shakillantirishni hosil qiladi (4.1-chizma). Protsessor yadrosining tarkibiga MK ishlashini ish tartiblarini sinxronizatsiyalash va boshqarishni taktlovchi sxema kiradi.
Buyruqlar protsessorning buyruqlar hotirasida berilgan manzilda (yacheyka nomerida) joylashadi va u bajarilayotgan operatsiyani bayon qiluvchi hamda operandalarni beruvchi (axborotlar, ular ustida operatsiya bajariladi) boshqarish kodlaridir. Har bir MK buyruqlar ro‘yxati va ularni o‘lchami bilan harakterlanadigan ma’lum buyruqlar tizimiga ega. Buyruqlar tizimi operatsiyalar to‘plamidan iborat bo‘lib, MK protsessori tomonidan bajariladi. Buyruqlar ro‘yxatidan to‘rtta operatsiyalar guruhini ajratish mumkin:
axborotlarni uzatish operatsiyasi (hotira yacheykalari o‘rtasida va boshqa mikrokontrollerning dasturiy –ega bo‘lish elementlari o‘rtasida);
arifmetik operatsiyalar (qo‘shish, ayirish, ko‘paytirish, bo‘lish);
mantiqiy operatsiyalar (“VA”, “YoKI”, invertlash, “YoKI” ni inkori, turli surishlar);
boshqarishni uzatish operatsiyalari (manzil bo‘yicha shartsiz o‘tish, tenglik sharti bo‘yicha o‘tish yoki operandalarni teng emasligi bo‘yicha o‘tish, dastur ostiga o‘tish va undan qaytish).
Buyruq o‘lchami dasturning navbatdagi qadamida bajariladigan operatsiyani, kirish va chiqish operandalarni, shuningdek dasturning keyingi qadamida bajarilishi kerak bo‘lgan buyruq manzilini aniqlashga imkon beradi. Buyruqlar vazifasi bo‘yicha oddiy shaxsiy kompyuter buyruq turidan kam farq qiladi, umuman protsessorning o‘zini tarkibi esa oddiy protsessorning soddalashtirilgan variantidan iborat (4.2-chizma).
Bajariladigan buyruq turi operatsiya kodi (OPK) tomonidan beriladi.
Operandalarni berish uchun quyidagi manzillash usullari ishlatiladi:
aniq bo‘lmagan: operand ko‘rsatilmaydi, sababi unga so‘zsiz ega bo‘lish mumkin (masalan, uni joylashtirish yagona bo‘lishi mumkin bo‘lganligi sababli);
bevosita: kirish operandi buyruq tarkibiga kiritiladi (masalan, konstantalarni berish maqsadida);
to‘g‘ri: buyruqda axborotlar hotirasidagi operanda joylashgan manzil ko‘rsatiladi;
bilvosita: buyruqda axborotlar hotirasining yacheyka manzili ko‘rsatiladi, axborotlar hotira yacheyka manzilida operand joylashgan (masalan, dastur qismini ko‘p marotabadan takrorlanishida buyruq operanda qiymatini o‘zgartirish qulay ketma-ket joylashgan axborotlarga ega bo‘lishni tashkillashtirishda, shu orqali qidirilayotgan axborot manzilini o‘zgartirib);
nisbiy: buyruqda axborotlar hotirasining yacheyka manzili ko‘rsatiladi, uning qiymatiga qandaydir kattalik qo‘shilgan bo‘lib (aniqmas holda berilgan) axborotlar hotirasidagi yacheyka manzilini beradi, u bo‘yicha qidirilayotgan operand joylashgan (masalan, axborotlar jadvali elementiga murojat qilinganda, qidirilayotgan operandani jadvalning boshlanishiga nisbattan surilish bo‘yicha topish oson). Keyingi bajariladigan buyruq manzili aniqmas holda xuddi dastur hotira manzili kabi beriladi, bu esa ko‘pchilik dasturlarda buyruqlar ketma-ketligini chiziqli bo‘laklari ko‘pligi bilan tushuntiriladi. Sikllarni, dastur ostilarni, shartlar bo‘yicha shoxlanishlar va xokazolarni tashkil qilishda uni aniq berish uchun buyruqlarni ishlatiladi, ularni OPK lari ma’lum boshqarishni uzatish buyrug‘ini kodlashtiradi.
Mikrokontrollerda buyruqlarni bajarilish tartibi quyidagicha amalga oshiriladi. Tashlash impulsining ta’siri tugashi bilan protsessor rigistrlarini ishga tushirish amalga oshiriladi. Buyruqlar sanoq qurilmasiga boshlog‘ich ishga tushirish manzili kritiladi. Buyruqlar sanoq qurilmasidagi manzil bo‘yicha dasturlar hotirasining hududidan shina kontrolleri hosil qiladigan boshqarish signalining ta’siri ostida buyruqlar registriga kontroller bajaradigan dasturning navbatdagi buyrug‘i yuklanadi.
Har qanday buyruqni bajarilishi elementar harakatlarning ketma-ketligidan iborat (mikrooperatsiyalar): operatsiya turini va talab etilayotgan operandalarni turgan joyini aniqlash, ularni hotiradan o‘qish, bajaruvchi blok uchun harakat kodini hosil qilish amallarini bajarish, natijani yozish, navbatdagi buyruq manzilini aniqlash maqsadida buyruqlarni shifrdan chiqarish. Bu amallarni batafsilroq ko‘rib chiqamiz.
Ахборотлар хотираси
Кириш операндалар регистри
|
АМҚ
|
Натижалар регистри
|
Константалар
хотираси
|
Сўз холат
регистри
|
Микропрограммали автомат
|
Буюруқлар дешифратори
|
Буюруқлар регистри
|
Дастурлар хотираси
4.2-chizma.Mikrokontroller protsessorining tarkibiy sxemasi
.
Dasturlar hotirasidan OPK o‘qiladi, buyruqlar shifrdan chiqariladi va mikrodasturli avtomatga (MDA) beriladi, ushbu bosqichda buyruqqa ishlov berishga zarur bo‘lgan boshqarish signallari shina kontrolleridan keladi va u sinxronlashning har bir navbatdagi takti bilan ishlab chiqariladi. Protsessorda arifmetik va mantiqiy operatsiyalarni, surish, nolga o‘tqazishlarni arifmetik – mantiqiy qurilma (AMQ) tomonidan ta’minlanadi. Axborotlar ikkilik-o‘nlik tizimida ifodalanganda, maska kodi AMQ da bitlar ustida operatsiya bajarilayotganda va shuningdek konstanta kodini berganda konstantalar hotirasi tuzatish kodlarini hosil qilishni ta’minlaydi. AMQ da operatsiya bajarilgandan so‘ng vaqtincha axborotni saqlash uchun kirish operandalar registrlari mo‘ljallangan, unga axborot tegishli ko‘rsatuvchini ishlatib axborotlar hotira hududidan kiritiladi.
AMQ da operatsiyalarni bajarish to‘xtagach uning natijasi natijalar registriga kiritiladi, shuningdek operatsiyani bajarilish belgilari shakillanadi (to‘lish, surilish, natija ishorasi), u belgilar protsessorning so‘z holat registriga kiritiladi va operatsion tizim tomonidan o‘qilish va tahlillash uchun ega bo‘lishi mumkin (masalan, arifmetik to‘lish bo‘lganligi tufayli dasturning boshqa shoxchasiga o‘tishini tashkillashtirish uchun). So‘ng axborotlar ko‘rsatgichiga axborotlar hotira yacheykasining manzili ketma-ket kiritiladi, ularga buyruqlar natijasini joylash zarur (bu manzillar chiqish operandalarning manzillar maydonidan olinadi) va axborotlar ko‘rsatgichi tomonidan manzillanib operanda natija registrlaridan axborotlar hotira yacheykasiga kiritiladi. MK protsessorlarida stek hotira ishlatiladi (operativ hotirani ajratilgan xududi), undan asosiy dasturdan chiqish nuqtalarini va uzilish dasturiga ishlov berib bo‘lgach unga qaytish jarayonini hotiralab qolishni joriy etish uchun foydalaniladi.
MP ning eng oddiy funksiyalaridan biri - ikki sonni qo‘shishni ko‘rib chiqamiz.
Faraz qilaylik, mikroprotsessoning buyruq so‘zining tarkibi quyidagi ko‘rinishga ega:
Operatsiya kodi
|
Operanda manzili
|
Keyingi buyruq manzili
|
4.1-jadval.
OXQ
yacheykasi
|
Buyruq
|
Harakat
|
2051
|
01 0641 2052
|
0641 yacheyka qiymatini akkumulatorga yozish
|
2052
|
15 0642 2053
|
0642 yacheyka qiymatini akkumulatorda
qo‘shish
|
2053
|
02 0643 2054
|
Akkumulator qiymatini 0643 yacheykaga
yozish
|
2054
|
00 0000 0000
|
To‘xta
|
|
|
|
0641
|
A qo‘shiluvchi
|
|
0642
|
V qo‘shiluvchi
|
|
0643
|
Natija
|
|
Bu holda dastur tarkibi quyidagi ko‘rinishga ega bo‘ladi: 1 – qadam –OXQ dan qo‘shiluvchilarni o‘qish;
2 – qadam – qo‘shiluvchilarni arifmetik-mantiqiy qurilmaga (AMQ) yozish; 3 – qadam – qo‘shish;
4 – qadam – natijani OXQ yozish; 5 – qadam – to‘xtash.
Faraz qilaylik, operatsiya kodi quyidagicha:
01 – operandani OXQ dan akkumulatorga chaqirish; 02 – akkumulator qiymatini OXQ yozish;
15 – akkumulatordagi qiymatni OXQ yacheykasidagi qiymatga qo‘shish; 00 – to‘xtash.
4.1-jadvaldan ko‘ramizki, mikroprotsessorning har bir buyrug‘iga operatsiya kodi to‘g‘ri keladi. Mikroprotsessorning operatsiyalar soni ichki buyruqlar registrining kattaligi bilan belgilanadi. Demak, agarda buyruqlar registrining razryadi 8 bitli bo‘lsa, u holda bundek mikroprotsessorning buyruqlar tizimida 256 ta bo‘lishi mumkin bo‘lgan operatsiyalar sonidan ko‘p bo‘lishi mumkin emas.
|
| |