7-ma’ruza. Operandalarni adreslash turlari va usullari. Buyruqlar oqimini boshqarish. Uzulish rejmi va uzilishga ishlov berish algoritmlari. Stekni tashkil etilishi. Reja


Download 241.22 Kb.
bet2/8
Sana15.06.2023
Hajmi241.22 Kb.
#1481576
1   2   3   4   5   6   7   8
Bog'liq
7-ma\'ruza(75-86)

7.1-rasm. Bevosita adreslash
Bevosita operand uzunligidan bir oz uzunroq bo'lgan registrga yozishda operand registrning quyi qismiga joylashtiriladi, qolgan bo'sh pozitsiyalar esa operandning belgi bitining qiymati bilan to'ldiriladi.
Bundan tashqari, adreslar maydonida faqat konstantalar ko’rsatilgan bo’lishi mumkin, ushbu usulning yana bir kamchiligi shundaki bevosita operand o’lchami buyruqning manzil maydoni uzunligi bilan cheklangan, bu maydon ko’pincha mashina so’zi uzunligidan kam bo’ladi.
Bevosita adreslashda buyruqlarning 50-60% da operand uzunligi 8 bitdan oshmaydi va 75-80% - 16 bit va faqatgina 20-25% hollarda bevosita operand 16 bitdan ortiq uzunlikka ega bo’ladi. E.Tanenbaum ga ko'ra [152], 98% hollarda bevosita operand 13 bitga to'g'ri keladi. Shunday qilib, aksariyat hollarda o'n olti bit etarli, ammo manzillarni hisoblash uchun uzunroq konstantalar talab qilinishi mumkin.
Tadqiqotlar shuni ko'rsatadiki, barcha buyruqlar bo'yicha to'g'ridan-to'g'ri adreslashdan foydalanishning o'rtacha foizi butun sonlarni hisoblash uchun 35% va suzuvchi nuqtali dasturlar uchun 10% ni tashkil qiladi. Adreslashning bu turi arifmetik amallar va taqqoslash buyruqlarida ko'proq qo'llaniladi. Shu bilan birga, ko'pgina dasturlarda konstantalarni yuklash unchalik ko’p sodir bo'ladigan operatsiya emas.
Bevosita adreslash buyruqni bajarish vaqtini qisqartiradi, chunki operand uchun xotiraga kirishning hojati yo'q. Bundan tashqari, xotira tejaladi, chunki operandni saqlash uchun xotira yacheykasi kerak emas. Samaradorlik nuqtai nazaridan ushbu usulni "ideal" deb hisoblash mumkin (CBA = 0, TBA = 0) va yuqorida aytib o'tilgan cheklovlar bunga to'sqinlik qilmagan barcha holatlarda foydalanish uchun tavsiya etilishi mumkin.
To’g’ridan-tog’ri adreslash. To'g'ridan-to'g'ri yoki mutlaq adreslashda (MA) manzil kodi murojaat qilingan xotira yacheykasining raqamini to'g'ridan-to'g'ri ko'rsatadi (7.2-rasm), ya'ni manzil kodi bajarilish manziliga to'g'ri keladi.

7.2-rasm. To’g’ridan-tog’ri adreslash
Foydalanish qulayligi bilan bir qatorda usulning muhim kamchiliklari bor - manzil maydonining cheklangan hajmi, chunki katta hajmli xotiraga kirish uchun uzun manzil maydoni kerak. Shu bilan birga, buyruqda ko'rsatilgan manzilni hisob-kitoblar jarayonida o'zgartirib bo'lmasligini yanada muhim nomukammal deb hisoblash mumkin (har qanday holatda ham bunday o'zgartirish tavsiya etilmaydi). Bu dasturni (va ma'lumotlarni) xotiraga o'zboshimchalik bilan joylashtirish imkoniyatini cheklaydi.
To'g'ridan-to'g'ri adreslash quyidagi ishlash ko'rsatkichlari bilan tavsiflanadi: CMА = [log2 Ni], TMА = tUS, bu yerda Ni - adreslangan operandlar soni.
Registrli adreslash. Registrli adreslash (RA) to'g'ridan-to'g'ri adreslashga o'xshaydi. Farqi shundaki, buyruqning manzil maydoni xotira yacheykasini emas, balki protsessor registrini ko’rsatadi (7.3-rasm). Registrning manzilini bundan keyin R harfi bilan belgilaymiz. Odatda, bu holda manzil maydonining o'lchami uch yoki to'rt bitni tashkil qiladi, bu esa mos ravishda 8 yoki 16 umumiy maqsadli registrlardan (UMR) birini belgilash imkonini beradi.

7.3-rasm. Registrli adreslash
Registrli adreslashning ikkita asosiy afzalligi quyidagilardir: buyruqdagi qisqa manzil maydoni va xotiraga kirishni istisno qilish. Kam sonli UMR buyruqning manzil maydonining uzunligini qisqartirishga imkon beradi, ya'ni CRA << CMA. Bundan tashqari, TRA = tUMR, bu erda tUMR - umumiy maqsadli registrdan operandni tanlash vaqti, bundan tashqari, tUMR << tUS. Afsuski, registrlarni manzillashdan foydalanish imkoniyatlari protsessordagi kam sonli UMRlar bilan cheklangan.

Download 241.22 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling