Nazorat savollari - Kafedrasi kompyuter arxitekturasi moduli bo‘yicha

|
Kafedrasi kompyuter arxitekturasi moduli bo‘yicha
|
bet | 35/80 | Sana | 06.07.2024 | Hajmi | 13,43 Mb. | | #266748 |
Bog'liq Kafedrasi kompyuter arxitekturasi moduli bo‘yichaNazorat savollari
CISC arxitekturasi
RISC arxitekturasi
VLIW arxitekturasi
12-Ma’ruza. Oqimlarni boshqarish buyruqlar turlari
Reja:
1. Oqimlarni boshqarish buyruqlari
2. Buyruqlar turlari
Tayanch iboralar: shartsiz sakrash, shartli sakrash, siklni boshqarish.
Oqimlarni boshqarish buyruqlari
Keyingi buyruqning manzilini buyruqlar tuzilmasidan chiqarib tashlash buyruqlarning dasturda joylashish tartibi bo'yicha bajarilishini (tanlanishini) nazarda tutadi. Bunday tanlash - "tabiiy tartibda" - buyruq hisoblagichi yordamida, buyruq hisoblagichi tarkibiga joriy buyruqdagi baytlar sonini qo'shish orqali amalga oshiriladi. Ammo ba'zi hollarda jamoalarni tanlashning tabiiy tartibini o'zgartirish kerak bo'ladi. Buning uchun buyruqlar tizimiga dasturni boshqarish buyruqlari kiritiladi. Bular tegishli boshqaruvni uzatish protseduralarini amalga oshiradigan o'tish ko'rsatmalaridir. Xuddi shu maqsadlar uchun kompyuter arxitekturasiga uzilishlar tizimi deb ataladigan maxsus tizim kiritilgan.
Dasturni boshqarish buyruqlari quyidagi buyruqlarni o'z ichiga oladi:
• shartsiz sakrash,
• shartli sakrash,
• siklni boshqarish,
• qo'ng'iroq (kichik dasturlar),
• shartli chaqiruv (kichik dasturlar).
Ingliz tilida o'tish atamasi odatda shartsiz o'tish buyruqlari uchun ishlatiladi va filial odatda shartli o'tish buyruqlari uchun ishlatiladi, garchi bu atama sotuvchilar tomonidan majburiy ravishda bajarilmasa ham. Misol uchun, Intel shartli va shartsiz sakrash uchun sakrash atamasini ishlatadi. Buyruqlar oqimini boshqarish uchun to'rtta asosiy buyruq turi mavjud: shartli o'tish, shartsiz o'tish, protsedura chaqiruvi va protsedurani qaytarish. Statistik ma'lumotlarga ko'ra, ushbu buyruqlardan foydalanish chastotasi rahminan quyidagicha. Dasturlarda shartli o'tish buyruqlari ustunlik qiladi. Turli dasturlarda ko'rsatilgan boshqaruv buyruqlari orasida ulardan foydalanish chastotasi 66 dan 78% gacha. Keyingi eng ko'p ishlatiladigan shartsiz o'tish buyruqlari (12 dan 18% gacha). Protseduralarni bajarish va bajarishdan o'tish chastotasi 10 dan 16% gacha. Bunday holda, dastur hisoblagichiga nisbatan shartsiz tarmoq buyruqlarining tahminan 90% bajariladi. O'tish ko'rsatmalari uchun sakrash manzili har doim oldindan ma'lum bo'lishi kerak. Bu kompilyatsiya vaqtida ma'lum bo'lmagan va ish vaqtida aniqlanishi kerak bo'lgan qaytarish manzillariga taalluqli emas. Filialning manzilini aniqlashning eng oddiy usuli - dastur hisoblagichining joriy qiymatiga nisbatan uning o'rnini ko'rsatish (ko'rsatma ofsetidan foydalangan holda) va bunday o'tishlar dastur hisoblagichiga nisbatan deyiladi. Ushbu adreslash usulining afzalligi shundaki, filial manzillari odatda bajarilayotgan buyruqning joriy manziliga yaqin joylashgan bo'lib, dastur hisoblagichining joriy qiymatiga nisbatan ko'rsatish ofsetda oz sonli bitlarni talab qiladi. Bundan tashqari, dastur-son-nisbiy adreslashdan foydalanish dastur qayerda yuklangan bo'lishidan qat'i nazar, xotiraning istalgan joyida ishlashiga imkon beradi. Ya'ni, bu adreslash usuli avtomatik ravishda o'zgartiriladigan dasturlarni yaratishga imkon beradi. Kompilyatsiya vaqtida manzil ma'lum bo'lmagan bilvosita manzilga qaytish va o'tishlarni amalga oshirish dastur hisoblagichiga nisbatan adreslashdan boshqa usullarni talab qiladi. Bunday holda, dastur ishlayotgan vaqtda o'tish manzili dinamik ravishda aniqlanishi kerak. Eng oddiy yo'l - qaytish manzilini saqlash uchun registrni belgilash yoki o'tish manzilini hisoblash uchun sakrash uchun istalgan adreslash usuliga ruxsat berilishi mumkin. Sakrash ko'rsatmalarini amalga oshirishdagi asosiy masalalardan biri sakrash ko'rsatmasining o'zidan sakrashning maqsadli manzili qanchalik uzoqda? Va ko'rsatmalardan foydalanish statistikasi bu savolga javob beradi: aksariyat hollarda o'tish o'tish yo'riqnomasiga nisbatan 3-7 ko'rsatma ichida sodir bo'ladi va 75% hollarda o'tish manzilni oshirish yo'nalishida amalga oshiriladi, ya'ni dasturdan oldin. Ko'pgina ko'rsatmalar oqimini boshqarish shartli tarmoq ko'rsatmasi bo'lganligi sababli, arxitekturani amalga oshirishda muhim masala o'tish shartlarini aniqlashdir. Buning uchun uch xil yondashuv qo'llaniladi. Ulardan birinchisi bilan protsessor arxitekturasi maxsus registrni ta'minlaydi, uning bitlari ma'lum shart kodlariga mos keladi. Shartli o'tish ko'rsatmalari ushbu shartlarni bajarayotganda tekshiradi. Ushbu yondashuvning afzalligi shundaki, ba'zida shart kodini o'rnatish va unga rioya qilish qo'shimcha vaqtni yo'qotmasdan amalga oshirilishi mumkin, ammo bu juda kam. Va bu yondashuvning kamchiliklari shundaki, birinchi navbatda, mashinaning yangi holatlari paydo bo'ladi, ular kuzatilishi kerak (uzilishda yashiringan va undan qaytib kelganda tiklanadi). Ikkinchidan, hozirgi yuqori tezlikdagi quvur liniyasi arxitekturalari uchun juda muhim, shart kodlari oqimdagi ko'rsatmalarni bajarish tartibini cheklaydi, chunki ularning asosiy maqsadi shart kodini shartli o'tish ko'rsatmasiga o'tkazishdir. Ikkinchi usul oddiygina o'zboshimchalik bilan (ehtimol bitta ajratilgan) umumiy maqsadli registrdan foydalanishdir. Bunday holda, ushbu reestrning holati tekshiriladi, unda taqqoslash operatsiyasining natijasi oldindan joylashtiriladi. Ushbu yondashuvning kamchiliklari dasturda tahlil qilish uchun maxsus registr shart kodlarini ajratish zarurati hisoblanadi. Uchinchi usul solishtirish va o'tish buyruqlarini bitta buyruqda birlashtirishni o'z ichiga oladi. Ushbu yondashuvning kamchiligi shundaki, bu birlashtirilgan buyruqni bajarish juda qiyin (bitta buyruqda siz ikkala shart turini ham, taqqoslash uchun doimiyni ham, o'tish manzilini ham ko'rsatishingiz kerak). Shuning uchun, bunday mashinalarda ko'pincha kompromis qo'llaniladi, ba'zi shart kodlari uchun bunday ko'rsatmalar, masalan, nolga solishtirish uchun ishlatiladi va murakkabroq shartlar uchun shartlar registridan foydalaniladi. Ko'pincha, butun son operatsiyalari va suzuvchi nuqta operatsiyalari uchun taqqoslash buyruqlari natijalarini tahlil qilish uchun turli xil usullar qo'llaniladi, ammo buni dasturlarda suzuvchi nuqta operatsiyalarini bajarish shartlariga ko'ra sakrashlar soni ancha kam ekanligi bilan izohlash mumkin. butun son arifmetikasi natijalari bilan aniqlangan sakrashlarning umumiy sonidan. Ko'pgina dasturlarning eng diqqatga sazovor xususiyatlaridan biri bu teng/teng bo'lmagan taqqoslashlar va nol taqqoslashlarning keng tarqalganligi. Shuning uchun, ba'zi arxitekturalarda bunday buyruqlar, ayniqsa, "taqqoslash va o'tish" kabi buyruqlardan foydalanganda alohida kichik to'plamda ajratiladi. Shartli shox ko'rsatmani sinovdan o'tkazish sharti to'g'ri bo'lsa, filial bajarilgan deb ataladi. Bunda o'tish buyrug'i bilan belgilangan manzilga sakrash amalga oshiriladi. Shuning uchun barcha shartsiz filial ko'rsatmalari doimo bajariladi. Statistik ma'lumotlarga ko'ra, dastur bo'ylab orqaga sakrashlar ko'p hollarda tsikllarni tashkil qilish uchun ishlatiladi va ularning 60% ga yaqini davom etayotgan sakrashlardir. Umuman olganda, shartli o'tish ko'rsatmalarining xatti-harakati aniq dasturga bog'liq, lekin ba'zida kompilyatorga bog'liqlik ham o'ynaydi. Ushbu kompilyatorga bog'liqliklar sikl bajarilishini tezlashtirish uchun kompilyatorlarni optimallashtirish orqali amalga oshiriladigan boshqaruv oqimining o'zgarishi natijasida yuzaga keladi.
|
| |