6-ma’ruza. Buyruqlar tizimi arxitekturalarini tasniflash


Operandlarni saqlanish joyiga ko'ra klassifikatsiyalash


Download 0.86 Mb.
Pdf ko'rish
bet3/11
Sana14.05.2023
Hajmi0.86 Mb.
#1458690
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
6-ma\'ruza

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 arxitektura. Stek 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. 
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 (6.4-rasm). 


6.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. (a + b) * (c + ) − e 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. 
2.2-jadval. Operatsiyalar ketma-ketligi bilan ishlashda operatsiyalarining 
ustuvor yo'nalishlari 
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. 
6.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 (6.5-rasm). 


6.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 6.6-rasmda ko'rsatilgan. 
6.6-rasm. Stakka asoslangan kompyuter arxitekturasi 

Download 0.86 Mb.

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




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