0-Buyruqlar tizimi, operandlarning(78-96). docx


Operandlarni saqlanish joyiga ko'ra klassifikatsiyalash


Download 0.66 Mb.
Pdf ko'rish
bet3/12
Sana02.02.2023
Hajmi0.66 Mb.
#1147465
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
0-Buyruqlar tizimi, operandlarning(78-96). docx

Operandlarni saqlanish joyiga ko'ra klassifikatsiyalashBuyruqlar soni va
ularning murakkabligi,
shubhasiz, eng muhim omillar hisoblanadi, ammo
operandlarni qayerda saqlash va ularga qanday kirish mumkinligi haqidagi savolga
javob BTA ni tanlashda kam bo’lmagan darajada muhim rol o'ynaydi. Ushbu
pozitsiyalardan buyruqlar tizimi arxitekturasining quyidagi turlari ajratiladi:
„ stekli;
„ akkumlyatorli;
„ registrli;
„ ajratilgan xotiraga ruxsatli.
U yoki bu arxitekturani tanlash asosiy fikrlarga ta'sir qiladi: buyruqlarning
manzil qismida nechta manzil bo'ladi, bu manzillarning uzunligi qancha bo'ladi,
operandlarga kirish qanchalik oson bo'ladi va oxir-oqibat buyruqlarning umumiy
uzunligi qancha bo’ladi.
Stekli arxitekturaStek deb HM ning asosiy xotirasidan tizimli tashkil etilishi
bilan farq qiluvchi xotiraga aytiladi. Stek xotirasini yaratish tamoyillari keyinroq
batafsil ko'rib chiqiladi, ammo bu yerda biz faqat stekga asoslangan BTA
xususiyatlarini tushuntirish uchun zarur bo'lgan jihatlarni ta'kidlaymiz.


82
Stek "oxirgi kirgan, birinchi chiqadi" (LIFO, Last In First Out) tamoyili
bo'yicha o'zaro ta'sir qiluvchi mantiqiy o'zaro bog'langan yacheykalar to'plamini
tashkil qiladi (3.4-rasm).
3.4-rasm. Stekli xotira ishlash printsipi
Yuqori katak stekning cho’qqisi deb ataladi. Stekda ikkita operatsiya mavjud:
push (ma'lumotlarni stekga surish) va pop (ma'lumotlarni stekdan chiqarish). Yozish
faqat stekning yuqori katakchasiga mumkin, shu bilan birga stekda saqlangan barcha
ma'lumotlar avvaliga bir pozitsiya pastga suriladi. O'qishga faqat stekning yuqori
qismidan ruxsat beriladi. Qabul qilingan ma'lumotlar stekdan chiqariladi va qolgan
tarkib 
yuqoriga 
suriladi. 
Stekga 
asoslangan
BTA
amalga 
oshiriladigan
kompyuterlarda (ular odatda stek deb ataladi), operandlar qayta ishlashdan oldin stek
xotirasining eng yuqori ikkita joyiga joylashtiriladi. Amallar natijasi stekga suriladi.
(b) * () − ifodani hisoblash misolida stek mashinasining ishlash prinsipini
tushuntiramiz.
Stack yordamida hisob-kitoblarni tavsiflashda, odatda, polyak matematigi J.
Lukashevich tomonidan taklif qilingan teskari Polsha yozuvi deb nomlanuvchi
matematik ifodalarni yozishning boshqa shakli qo'llaniladi. Uning o'ziga xosligi
shundaki, ifodada qavslar yo'q va amal belgisi operandlar orasida joylashmaydi, balki
ulardan keyin keladi (postfiks shakli).
Yordamchi stek yordamida ifodaning an'anaviy yozuvini postfiksga aylantirish
qulay. Kompyuter stegi bilan adashtirmaslik uchun uni operatsiyalar ketma-ketligi
deb ataymiz. Operatsiyalar ketma-ketligi bilan ishlash uchun original (an'anaviy)
ifoda yordamida operatsiyalarining ustuvorliklarini belgilaymiz (2.2-jadval). 2.2-
jadvalda nol minimalni, to'rt esa maksimal ustuvorlikni bildiradi.
3.2-jadval. Operatsiyalar ketma-ketligi bilan ishlashda operatsiyalarining
ustuvor yo'nalishlari


83
An'anaviy satr skanerlanganda, operatsiyalar ketma-ketligida duch kelgan
operatsiya belgilarini o'z ichiga oladi, ular keyinchalik (ma'lum qoidalarga muvofiq)
postfiks qatoriga o'tkaziladi. Teskari polyak yozuvidagi ifoda bilan qatorni
shakllantirish quyidagi algoritmga muvofiq amalga oshiriladi:
1. Ifoda bilan an'anaviy (kirish) qator chapdan o'ngga skanerlanadi.
2. Agar kirish qatorining keyingi belgisi operand bo'lsa, u darhol postfiks
qatoriga qayta yoziladi.
3. Chap qavs, shuningdek, operatsiyalar ketma-ketligi bo'sh bo'lgan taqdirda
matematik operatsiya belgisi har doim operatsiyalar ketma-ketligiga kiritiladi.
4. Qidiruv paytida o'ng qavsga duch kelganda, operatsiyalar ketma-ketligining
yuqori qismidagi belgi operatsiyalar ketma-ketligidan chiqariladi va postfiks qatoriga
qo'yiladi. operatsiyalar ketma-ketligi tepasida chap qavs paydo bo'lguncha protsedura
takrorlanadi. Bu sodir bo'lganda, ikkala qavs bir-birini bekor qiladi va chap qavs STR
dan olib tashlanadi.
5. Agar operatsiyalar ketma-ketligi bo'sh bo'lsa yoki kirish satridagi operatsiya
belgisi
operatsiyalar
ketma-ketligining
yuqori
qismidagi
belgidan
yuqoriroq
ustunlikka ega bo'lsa, kirish satridagi operatsiya belgisi operatsiyalar ketma-ketligiga
suriladi.
6. Agar kirish satridagi belgining ustuvorligi operatsiyalar ketma-ketligining
yuqori qismidagi belgining ustuvorligiga teng yoki undan past bo‘lsa, operatsiyalar
ketma-ketligi tepasidagi belgi postfiks qatoriga suriladi. Operatsiyalar ketma-
ketligitepasida yoki chap qavsda pastroq ustuvorlikka ega belgi paydo bo'lguncha
yoki operatsiyalar ketma-ketligi bo'sh bo'lguncha protsedura takrorlanadi. Shundan
so'ng, kirish qatoridagi belgi operandlar ketma-ketligiga kiritiladi.
7. Kirish satrining oxirgi belgisiga erishilganda, operatsiyalar ketma-ketligi
satrning mazmuni postfiks qatoriga ketma-ket suriladi.
(a + b) * (c + d) - e ifodasi uchun teskari polyak yozuvini olish jarayoni 6.3-
jadvalda keltirilgan.


84
3.3-jadval. (a + b) * (c + d) − e ifodasi uchun teskari polyak yozuvini
shakllantirish
Shunday qilib, polyak yozuvidagi yuqoridagi ifoda: ab + cd +*e – ko’rinishga
ega bo’ladi. Belgilanishning bu shakli operandlar va operatsiyalarni stekga yuklash
tartibini yagona tarzda belgilaydi (3.5-rasm).
3.5-rasm. Stek arxitekturali kompyuterda ab+cd+*e− ifodasini hisoblash
ketma-ketligi
BTA stekiga asoslangan HM ning mumkin bo'lgan variantlaridan birining
asosiy tugunlari va axborot yo'llari 3.6-rasmda ko'rsatilgan.
3.6-rasm. Stakka asoslangan kompyuter arxitekturasi

Download 0.66 Mb.

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




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