Bilvosita manzillash.
To‘g‘ri manzillashga xos bo‘lgan muammolarni yengish yo‘llaridan biri buyruqning cheklangan manzilli maydoni yordamida yacheyka manzili ko‘rsatiladigan usuldan foydalanishdir. Yacheyka esa, o‘z navbatida, operandning to‘liq manziliga ega (6.3,b-rasm).
Agar ijrochi manzil o‘zi saqlanadigan registr nomi bilan ko‘rsatilsa, operand manzillanishi egri deyiladi. (Tegishli registr manzil registri deyiladi). Bunda operandning ijrochi manzili asosiy xotiraning yacheykasida emas, protsessor registrlaridan birida saqlanadi (6.3,v-rasm). Bilvosita manzillashda kengaytirish so‘zi, qoidaga ko‘ra, qo‘llanilmaydi. Manzillash barcha signal amallar tomonidan qo‘llaniladi.
Ma’lumotlar va manzillar ustida amallarni mustaqil bajarish uchun ko‘pchilik signal protsessorlar uchun manzil ineratsiyasi qurilmasi nazarda tutilgan. Motorola firmasi protsessorlarida bu AGU manzil ineratsiyasi qurilmasi (Address Generation Unit), Analog Devices firmasi protsessorlarida DAG1 (Data Address Generator) m’lumotlar manzili generatori va Texas Instruments firmasining TMS320C2x protsessorlarida yordamchi registrlarning ARAU (Auxiliary Register Arithmetic Unit) arifmetik qurilmalari, TMS320C6xxx protsessorlarida – ma’lumotlar manzili generatsiyasining D-moduli. Manzillarining shakllanishi uch turli registrlarni talab qiladi, ularning shartli nomlari:
− manzil registri;
− surish registri;
87
− arifmetika turi registrining funksiyalariga mos keladi.
Manzil registrlarining mavjudlik varianti 6.3,v-rasmda keltirilgan. Egri manzil xotirada emas registrda saqlanishi tufayli operandga xotiraga kirish uchun bitta kam murojaat talab qilinadi. Taniqli firmalarning ko‘pchilik SPlarida manzilning16-razryadli registridan foydalaniladi, buxotirayacheykalarini 64Kbayt chegarada manzillashlash imkonini ta’minlaydi.
Surishli manzillashda ijrochi manzil buyruq manzilli maydoni tarkibini protsessorning bir yoki bir necha registrlari tarkibi bilan yig‘ish natijasida shakllanadi (6.3,g-rasm). Ayrim protsessorlarda surish uchun maxsus registrlar (surish registrlari, asosiy yoki indeksli registrlar) nazarda tutilgan. Unda buyruqning manzilli qismi faqat Ak maydonga ega. Agar umum foydalanuvchiga erkin registr qo‘llanilsa, operand manzili tarkibiy qismi sifatida muayyan registrni ko‘rsatish uchun buyruq maydonida qo‘shimcha R maydon qo‘shiladi. Umumiy hollarda surishli manzillash ikkita manzilli maydon: Ak va R ni nazarda tutadi. Ko‘rsatilgan manzillarni yig‘ish natijasida ijrochi manzil olinadi va u bo‘yicha operandning o‘zi topiladi.
Bilvosita manzillashning yana bir turi – bu indeksli manzillash. Ushbu variantda Ak buyruq maydoni xotira yacheykasi manziliga, arifmetika ragistrlari esa ushbu manzilga nisbatan surishga ega. Indeksli manzillash interfaol hisoblashlarni tashkil qilish uchun qulay mexanizmni taqdim etadi. Ko‘pchilik SRIB algoritmlari ma’lumotlar massiviga ishlov berish bilan bog‘liq. Bittaga yoki boshqa konstantaga surishli indeksli manzillash ma’lumotlar xotirasidagi qo‘shni massiv elementlariga dasturiy murojaatni oddiy tashkil etishni ta’minlaydi.
Indeksli registr tarkibining ijrochi manzil shakllangandan keyingi avtomatik kattalashishi postinkrementli indekslanish deyiladi. Agar avval indeksli registr tarkibining kattalashuvi amalga oshirilib, keyin yangi qiymatdan ijrochi manzilning shakllanishida foydalanilsa, unda preinkrement indekslanish realizatsiya qilinadi. I da bevosita manzillash postdekrement/postinkrement manzillar I da indeksli buyruqning asosiy amalidan so‘ng registr tarkibining avtomatik ravishda
kichiklashuvi/kattalashuvini anglatadi va ushbu buyruqda ijrochi manzil 88
o‘zgarmaydi. I da bevosita manzillashda predekrement/preinkrement manzillar 1 da
buyruqni bajarishdan oldin manzil registri tarkibining avtomat ravishda kichiklashuvi/kattalashuvini anglatadi va buyruqni bajarishdan oldin yangi ijro etiladigan manzil hisoblab chiqiladi.
Do'stlaringiz bilan baham: |