O’rnatilgan tizimlar O’quv uslubiy majmua




Download 2,55 Mb.
Pdf ko'rish
bet58/160
Sana13.07.2024
Hajmi2,55 Mb.
#267489
1   ...   54   55   56   57   58   59   60   61   ...   160
Bog'liq
O’rnatilgan tizimlar O’quv uslubiy majmua


 

 

 
5001 


101 
Birinchi ko‘rinishda murakkab ko‘ringan uzulishni tashkillashtirish
dasturlovchiga uzulishlarga ishlov beruvchi dasturlarni o‘zgartirishni osonlashtiradi, 
ularni hotira xududining istalgan joyiga joylashtirish mumkin, ularni xoxishiy 
o‘lchamga keltirish va xoxlagancha murakkablashtirish mumkin bo‘ladi.
Uzulishga ishlov berish dasturi bajarilayotgan vaqtda yangi uzulishga so‘rov 
kelishi mumkin. Bu holda u ham bayon qilingan tartibda bajariladi, lekin asosiy 
dastur bo‘lib uzulgan dastur hisoblanadi. Bu esa 
uzulishni ko‘p marotaba 
joylashtirish deb ataladi
. Stek mexanizimi bu ko‘p marotaba joylashtirilgan 
uzulishlarni hech qandek muammosiz bajarilishini ta’minlab beradi, chunki stekdan 
birinchi bo‘lib oxirgi saqlangan kod olinadi, ya’ni ushbu uzulishga ishlov berishdan 
qaytish, bundan oldingi uzulishga ishlov berish dasturi amalga oshiriladi.
Qayt qilib o‘tishimiz kerakki, ancha murakkab hollarda uzulish vektorlar 
jadvalida uzulishga ishlov berish dasturning boshlanish manzili emas, uzulishlar 
deskriptori (bayon qiluvchi) joylashishi mumkin. Lekin bu deskriptorning ishini 
oxirgi natijasi bo‘lib baribir ham uzulishga ishlov berish dasturining boshlanish 
manzili bo‘ladi. Uzilishlarni bajarilishini ta’minlashda stek hotira muhim o‘rinni 
egallaydi.
 
Stek uchun hotira yoki stek (Stack)
– bu operativ hotiraning bir qismi bo‘lib, 
axborotlarni LIFO (Last In – First Out) ish tartibida vaqtincha saqlash uchun hizmat 
qiladi. 
Stekning boshqa operativ hotiraga nisbatan farqli xususiyati – bu berilgan va 
o‘zgartirib bo‘lmaydigan manzillash usulidir. Xoxishiy sonni (kodni) stekka 
yozishda son quydagicha hosil qilinadigan manzil bo‘yicha yoziladi, ya’ni stek 
ko‘rsatgichi registrining qiymatini dastlab birga kamaytirilgan (dekrementlangan) 
qiymati (yoki ikkiga kamaytirilgan, agar 16-razryadli so‘z hotiraga juft manzillarga
joylashtirigan bo‘lsa) manzil sifatida ishlatiladi. Stekdan sonni o‘qish vaqtida esa, 
son manzili stek ko‘rsatgichining qiymatidan aniqlanadi, shundan so‘ng stek 
ko‘rsatgichining bu qiymatini birga (inkrementlanadi) oshiriladi (yoki ikkiga). 
Natijada oxirida yozilgan sonni birinchi o‘qiladi, birinchi yozilgan son esa oxiri 
o‘qiladigan bo‘ladi. Bundek hotira turi LIFO yoki magazin turidagi hotira (masalan, 


102 
avtomat magaziniga joylashtirilgan oxirgi o‘q, birinchi bo‘lib ishlatiladi) deb 
nomlanadi. Stekning ishlash tamoili 6.7-chizmada keltirilgan (hotira yacheykasining 
manzili shartli ravishda olingan).
6.7-chizma. Stekning ishlash tamoili 
Masalan, stek ko‘rsatgichining hozirdagi holati 1000008 va unga ikkita son 
(so‘z) yozilishi kerak. Birinchi so‘z 1000006 manzil bo‘yicha yoziladi (yozishdan 
oldin stek ko‘rsargichi ikkiga kamayadi). Ikkinchisi – 1000004 manzil bo‘yicha 
yoziladi. Yozilgandan so‘ng stek ko‘rsatgichining qiymati – 1000004 bo‘lib qoladi.
Agarda yana stekdan ikkita so‘z o‘qilsa, u holda birinchi bo‘lib 1000004 manzildagi 
so‘z o‘qiladi, o‘qilgandan so‘ng esa stek ko‘rsatgichi 1000006 teng bo‘lib qoladi. 
Ikkinchi bo‘lib 1000006 manzildagi so‘z o‘qiladi va stek ko‘rsatgichi esa 1000008 
teng bo‘lib qoladi. Hammasi oldingi holatga qaytdi. Birinchi yozilgan so‘z ikkinchi 
bo‘lib o‘qiladi, ikkinchisi esa birinchi bo‘lib o‘qiladi. 
Bundek manzillash usuliga zarurat ko‘p marotaba joylashtiriladigan 
dasturostilarda yaqqol namoyish bo‘ladi. Masalan, faraz qilaylik asosiy dastur 
bajarilayotgan bo‘lsin va undan 1- dasturosti chaqirilsin. Agarda bizga axborotlar 
qiymatini va asosiy dasturning ichki registrlarining qiymatini dasturosti bajarilish 
vaqt oralig‘ida saqlashi kerak bo‘lsa, biz dasturostini chaqirishdan oldin ularni 
stekda saqlab qo‘yamiz (stekka yozib olinadi), dasturosti bajarib bo‘lingandan so‘ng
esa ularni stekdan (o‘qiladi) qayta olinadi. Agarda 1-dasturostidan 2-dasturosti 
chaqirilsa xuddi yuqorida keltirilgan operatsiyalarni qayta takrorlanadi, ya’ni 1-
dasturostining ichki registrlarining qiymatini va axborotlarni stekka yozib olinadi. 
Оператив хотира 
Ўкиш 
Ёзиш 
Манзил 
1000000 
1000002 
1000004 
1000006 
1000008 
100000А 
100000С 
Стек 


103 
Tushunarliki, 2-dasturosti ichida stekning oxirida 1-dasturostining (birinchi 
navbatda o‘qiladigan) axborotlari bo‘ladi, asosiy dasturning axborotlari esa 
ichkariroqda bo‘ladi. Shu jumladan stekdan o‘qish holati bo‘lganda esa avtomatik 
ravishda axborotni o‘qishni kerakli tartibiga rioya qilinadi. Dasturostilar soni ko‘p 
bo‘lgan holda ham xuddi yuqorida keltirilgani kabi ishlaydi. Ya’ni, nimani ko‘p vaqt 
saqlash kerak bo‘lsa, stekning ichkarirog‘iga yoziladi, oz vaqt saqlanib so‘ng 
o‘qiladigan axborotlar esa yuzaroqqa yoziladi.
Har qandek protsessorning buyruqlar tizimining tarkibida stek bilan axborot 
almashish uchun mahsus stekka yozish (PUSH) va stekdan o‘qish (POP) buyruqlari 
inobatga olingan. Stekka nafaqat protsessorning barcha ichki registrlarining 
qiymatlarini yozish mumkin, yana belgilar registrining (protsessorning so‘z holati, 
PSW) kiymatlarini ham yoziladi. Bundek hol esa, masalan, bu dasturostini 
chaqirishdan oldin bajarilgan dasturostidan qaytilayotganda oxirgi buyruq natijasini 
nazorat qiladi. Dasturlar va dasturostilar o‘rtasida axborotlarni uzatishni 
osonlashtirish uchun yana shuningdek stekda axborotlarni ham saqlash mumkin. 
Umumiy holda, stek uchun hotira xududi qancha ko‘p ajratilsa, dasturlovchi uchun 
shuncha ko‘p imkoniyatlar hosil bo‘ladi va murakkab dasturlarni ishlash mumkin 
bo‘ladi.

Download 2,55 Mb.
1   ...   54   55   56   57   58   59   60   61   ...   160




Download 2,55 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



O’rnatilgan tizimlar O’quv uslubiy majmua

Download 2,55 Mb.
Pdf ko'rish