|
7-ma’ruza. Operandalarni adreslash turlari va usullari. Buyruqlar oqimini boshqarish. Uzulish rejmi va uzilishga ishlov berish algoritmlari. Stekni tashkil etilishi. Reja
|
bet | 2/9 | Sana | 05.07.2024 | Hajmi | 33,06 Kb. | | #266699 |
Bog'liq 7-ma’ruza. Operandalarni adreslash turlari va usullari. Buyruqla-fayllar.orgBevosita adreslash. Bevosita adreslash (BA) bilan buyruqning manzil maydoni manzil o'rniga operandni o'z ichiga oladi (7.1-rasm). Bu usuldan arifmetik amallarni, taqqoslash amallarini bajarishda, shuningdek registrlarga konstantalarni yuklashda foydalanish mumkin.
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.
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
7-ma’ruza. Operandalarni adreslash turlari va usullari. Buyruqlar oqimini boshqarish. Uzulish rejmi va uzilishga ishlov berish algoritmlari. Stekni tashkil etilishi. Reja
|