Stekli adreslash - 7-ma’ruza. Operandalarni adreslash turlari va usullari. Buyruqlar oqimini boshqarish. Uzulish...

|
7-ma’ruza. Operandalarni adreslash turlari va usullari. Buyruqlar oqimini boshqarish. Uzulish rejmi va uzilishga ishlov berish algoritmlari. Stekni tashkil etilishi. Reja
|
bet | 5/9 | Sana | 05.07.2024 | Hajmi | 33,06 Kb. | | #266699 |
Bog'liq 7-ma’ruza. Operandalarni adreslash turlari va usullari. Buyruqla-fayllar.orgStekli adreslash. Adreslashning bunday turi buyruqlarning stekli arxitekturasida ko’rib chiqilgan.
Buyruqlar oqimini boshqarish
Fon-neyman hisoblash kontsepsiyali mashnalar dastur buyruqlari, odatda ularning xotirada joylashish tartibida bajarilishini taklif qiladi. Navbatdagi buyruq adresini olish uchun buyruq hisoblagichi tarkibini joyriy buyruq uzunligiga oshirish yetrali. Shu bilan birga, HMning asosiy afzalligi aynan natijalarni hisoblash jarayonlariga qarab hisoblash yo’nalishini o’zgartirish imkoniyati mavjudligida. Shu maqsadda kompyuterning BTAga tabiiy tartibni buzish va boshqaruvni dasturning boshqa nuqtasiga o'tkazish imkonini beruvchi buyruqlar kiritilgan. Bunday buyruqlarning manzil qismida o'tish nuqtasining manzili (keyingi bajarilishi kerak bo'lgan buyruqning manzili) mavjud. O'tish nuqtasining manzilini dastur hisoblagichiga yuklash orqali amalga oshiriladi (bu hisoblagichning tarkibini buyruq uzunligiga oshirish o'rniga).
HM buyruqlar tizimida hisoblar ketma-ketligini o'zgartirishi mumkin bo'lgan uchta turdagi buyruqlar mavjud:
shartsiz o’tishlar;
shartli o’tishlar (ветвления);
protsedura chaqiruvlari va protseduralardan qaytish.
Dasturlash statistikasi shuni ko'rsatadiki, ko'rib chiqilayotgan guruhning buyruqlari orasida shartli o’tishlar ustunlik qiladi.
Dasturda ko'p sonli shartsiz o’tish buyruqlarining mavjudligi noto'g'ri dasturlash uslubining belgisi deb hisoblanishiga qaramay, bunday buyruqlar har qanday HM ning BTAga kiritilishi shart. Assambler tilida ularni belgilash uchun odatda inglizcha jump (sakrash) so'zi ishlatiladi. Shartsiz o'tish buyrug'i berilgan manzilga hech qanday shartlarni tekshirmasdan o'tishni ta'minlaydi. Shartli o’tish faqat ma'lum bir shart bajarilgan taqdirdagina yuzaga keladi, aks holda dasturning keyingi buyrug’i bajariladi. Aksariyat HM ishlab chiqaruvchilari bunday ko'rsatmalarni belgilash uchun assemblerlarda branch so'zidan foydalanadilar.
O'tishni amalga oshirish sharti ko'pincha oldingi arifmetik yoki mantiqiy operatsiya natijasining belgilaridir. Belgilarning har biri protsessor belgilari registrining o'z bitida o'rnatiladi. Taqqoslash operatsiyasi natijasi ilgari joylashtirilgan umumiy maqsadli registrlardan birining holatiga qarab o'tish to'g'risida qaror qabul qilinganda boshqa yondashuv ham mumkin. Uchinchi variant - solishtirish va o'tish operatsiyalarini bitta buyruqda birlashtirish.
HM ning buyruqlar tizimida natijaning har bir belgisi uchun o'zining shartli o’tish buyrug'i ta'minlanadi (ba'zan ikkita: belgi mavjud bo'lgan o'tish va u yo'qligida o'tish). Shartli o'tishlarning aksariyati ikki miqdorning o'zaro munosabatini tekshirish yoki ma'lum bir qiymatning nolga tengligi bilan bog'liq. So'nggi turdagi tekshirish dasturlarda eng intensiv qo'llaniladi. Shartli o’tish buyruqlarining shakllaridan biri o'tkazib yuborish buyruqlaridir. Ularda o'tish manzili yo'q va shart bajarilganda, keyingi buyruq o'tkazib yuboriladi, ya'ni buyruqda yetishmayotgan keyingi buyruqning manzili joriy ko'rsatma manziliga ekvivalent deb hisoblanadi, o'tkazib yuborilgan buyruq uzunligiga ko'payadi. Ushbu texnika boshqaruvni uzatish buyruqlari uzunligini qisqartirish imkonini beradi.
Barcha dasturlash tillari protseduralar mexanizmidan ko'p foydalanish bilan tavsiflanadi. Jarayon dasturning istalgan nuqtasida chaqirilishi mumkin. HM uchun bunday chaqiruv ushbu nuqtada protsedurani bajarish kerakligini anglatadi va keyin darhol chaqiruv joyidan keyingi nuqtaga qaytish kerak.
Protsessual mexanizm dasturning joriy nuqtasidan dastlabki protsedura buyrug’iga o'tishni ta'minlaydigan protsedurani chaqirish buyruqlariga va protseduradan qaytarish buyruqlariga, chaqiruv buyrug’idan so'ng darhol nuqtaga qaytishga asoslangan. Ushbu rejim chaqiruv paytida dastur hisoblagichi tarkibining joriy holatini saqlash (qaytish nuqtasi manzilini eslab qolish) va protsedura tugagandan so'ng uni tiklash uchun vositalar mavjudligini nazarda tutadi.
|
|
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
|