Signal protsessorlarida qo‘llaniladigan manzillash usullari
Istalgan kompyuterning buyruqlar tizimi arxitekturasida, jumladan, signal protsessorlarda operandlarni manzillashlashning turli usullari ko‘zda tutilgan. Eng avval “ijrochi manzil” va “manzilli kod” tushunchalarini aniqlash kerak.
Operandning ijrochi manzili deb, xotira yacheykasi nomerining operand manbai va priyomnigi sifatida xizmat qiluvchi ikkilamchi kodi ataladi. Ushbu kod xotiraning manzilli kirishlariga uzatiladi, u orqali ko‘rsatilgan yacheykaga murojaat amalga oshiriladi. Agar operand asosiy xotirada emas, signal protsessor registrida saqlansa, ushbu registr nomeri uning ijrochi manzili bo‘ladi.
Buyruqning manzilli kodi – buyruqning manzilli maydonidagi ikkilamchi kod bo‘lib, undan operandning ijrochi manzilini shakllantirish kerak.
Zamonaviy kompyuterlarda ijrochi manzil va manzilli kod, qoida bo‘yicha mos kelmaydi va ma’lumotlarga kirish uchun tegishli o‘zgartirish talab qilinadi. Manzillash usuli – bu operandning ijrochi manziliniing buyruq manzilli kodi bo‘yicha shakllantirish usulidir. Manzillash usuli axborotni ishlash jarayoni parametrlariga katta ta’sir ko‘rsatadi [22].
Buyruqda manzillar bilan bir qatorda bajarilishi kerak bo‘lgan amal turi ham ko‘rsatiladi. Shunday qilib, buyruq umumiy holatda:
bajarilishi kerak bo‘lgan amalni;
amal bajarilishi kerak bo‘lgan dastlabki ma’lumotlar manzillari;
amal natijasi joylashtirilishi kerak bo‘lgan amalni ko‘rsatishi kerak. Shunga binoan buyruq operatsion qismdan va manzilli qismdan tuzilgan (6.3-
rasm). Buyruq formati uning strukturasini, buyruqning alohida maydonlari soni va joylashishini belgilaydi.
Shunday qilib, manzillash – bu operandga murojaat bo‘lib, buyruqda unga
ko‘rsatma bor. Operandlar, saqlanish joyiga ko‘ra, turli usullar bilan ko‘rsatilishi mumkin. Saqlanish joyiga ko‘ra operandlar:
ma’lumotlar xotirasi yacheykalari manzillari bilan (yacheyka nomeri manzil deyiladi);
agar operandlar registrlarda saqlansa, registrlar nomi bilan;
agar operand buyruqning o‘zida bo‘lsa, konstantalar bilan ko‘rsatilishi mumkin.
Saqlanish joyi operandni ko‘rsatish mumkin usullarini belgilaydi. Ma’lumotlar xotirasi yacheykalari manzillari uchun to‘g‘ri yoki bevosita manzillash qo‘llaniladi, ragistrlar nomi uchun to‘g‘ri manzillash, konstantalar uchun – bilvosita manzillash qo‘llaniladi.
To‘g‘ri manzillash.
Operand manzillanishi to‘g‘ri deb ataladi (6.3 a-rasm), qachonki buyruqda:
ijrochi manzil;
ijrochi manzil avtomatik ravishda hisoblanadigan ma’lumotlar xotirasi sahifasida operand manzili;
manba yoki priyomnik nomi bevosita ko‘rsatilsa.
Operandlar to‘g‘ri manzillanishi har bir turi xususiyatlarini ko‘rib chiqamiz. Manzillari to‘g‘ri ko‘rsatilganda operandlar ma’lumotlar xotirasi sahifasida ijrochi manzillar bilan ko‘rsatilishi mumkin (agar protsessor ushbu manzillash tipini qo‘llab-qo‘vvatlasa).
Agar protsessorda ma’lumotlar xotirasini sahifalarga shartli bo‘linish bo‘lmasa, ijrochi manzil to‘liq ko‘rsatiladi. Buyruqning ikki so‘zli formatida qisqa ijrochi manzillar buyruq so‘zida, uzunlari – kengaytirish so‘zida (buyruqning qo‘shimcha maydoni) saqlanadi.
Operand manzilini xotira sahifasida ma’lumot xotirasi shartli ravishda sahifalarga bo‘lingan protsessorlarda qo‘llaniladi. Bunda ijrochi manzil sahifani hisobga olib avtomatik tarzda hisoblanadi. Sahifa tartib raqami dastur tomondan beriladi va protsessor holati registrida hisoblangan sahifa ko‘rsatgichida saqlanadi.
а) To‘g‘ridan-to’g‘ri manzillash
Buyruq
|
|
|
Xotira
|
|
Оp
|
М
|
|
Operandning bajarilish manzili
|
|
|
|
|
|
|
|
|
Ак =Аbaj
|
Operand
|
|
b) bilvosita manzillash
|
|
|
Buyruq Registrlar
v) bilvosita registrlarni manzillash
R = Аbaj
Xotira
|
|
Operandni tashkil etuchi
|
manzillar
|
|
Operandni tashkil etuchi
|
|
manzillar
|
|
Registrlar
g) Siljitish bilan manzillash
Xotira
Tashqi qurilma
6.3-rasm. Turli manzillashda protsessor bog‘lamalarining o‘zaro aloqa sxemalari
Agar operand umumiy qo‘llanishdagi registrda saqlansa, buyruqda u registr – manba yoki priyomnik nomeri bilan to‘g‘ri ko‘rsatiladi. To‘g‘ri manzillashning bunday turli-tumanligi dastlabki ma’lumotlar yoki natijalarni saqlash uchun maxsus operandlar registriga ega protsessorlar tomonidan qo‘llanadi.
O‘tishlarining to‘g‘ri manzillanishi o‘tish manzilini to‘g‘ri ko‘rsatishni anglatadi, u buyruqlar schetchigiga nusxalanadi, ularning bajarilishi ketma-ketligini o‘zgartiradi. O‘tish manzilini saqlash buyruq formati uzunligiga bog‘liq, ikki so‘zli formatda qisqa manzillar buyruq so‘zida, uzunlari kengayish so‘zida saqlanadi.
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 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 manzilning 16-razryadli registridan foydalaniladi, bu xotira yacheykalarini 64 Kbayt 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
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.
|