Indeksli adreslash. Indeksli adreslashda (IA) AB maydoni xotira yacheykasining manzilini o'z ichiga oladi va registr (aniq yoki bilvosita ko'rsatilgan) ushbu manzilga nisbatan suriladi. Ko'rinib turibdiki, bu adreslash usuli registrga asoslangan adreslashga o'xshaydi. Indeksli adreslashda AB maydoni baza rolini o'ynaydigan xotira yacheykasining to'liq o'lchamli manzilini o'z ichiga olganligi sababli, bu maydonning uzunligi asosiy registr manziliga qaraganda kattaroq. Shunga qaramay, operandning bajarilish manzilini hisoblash aynan o’xshash (7.4-rasm).
7.4-rasm. Indeksli adreslash: а — registr indeksi bilan; б — UMRlardan birini qo’llash bilan
Indeksli adreslash iterativ hisoblarni tashkil qilish uchun qulay mexanizmni taqdim etadi. Masalan, N manzildan boshlanuvchi xotirada ketma-ket joylashgan raqamlar massivi bo'lsin va biz bu massivning barcha elementlarini bittaga ko'paytirmoqchimiz. Buning uchun siz har bir raqamni xotiradan chiqarib olishingiz, unga 1 qo'shishingiz va uni qaytarishingiz kerak va bajarilish manzillari ketma-ketligi quyidagicha bo'ladi: N, N + 1, N + 2 va boshqalar, ko'rib chiqilayotgan massiv egallagan yacheykalar oxirigacha. N ning qiymati buyruqning AB maydonidan olinadi va indeksli registr deb ataladigan tanlangan registrga dastlab 0 kiritiladi. Har bir amaldan so'ng indeks registrining tarkibi 1 ga oshiriladi.
Blokli adreslash. Blokli adreslash xotiraning qo’shni yacheykalari, ishlov berish birligi ma’lumotlar bloki bo’lib, buyruqlarda qo'llaniladi, ular uchun ishlov berish birligi qo'shni xotira kataklarida joylashgan ma'lumotlar blokidir. Bu usul tashqi xotira qurilmalari bilan ishlashda va vektorlar bilan ishlashda juda foydali. Blokni tavsiflash uchun odatda blokning birinchi yoki oxirgi elementi saqlanadigan katakning manzili va baytlar yoki katakchalar soni bilan berilgan blok elementlarining umumiy soni olinadi. Blokning uzunligi o'rniga blokning oxirgi elementidan keyin qo'yilgan "blokning oxiri" maxsus belgisidan foydalanish mumkin.
Do'stlaringiz bilan baham: |