1-расм. Ma'lumotlar bo'yicha buyruq bog'liqliklari
Superskal mikroprotsessorning tipik arxitekturasi 2 -rasmda ko'rsatilgan.
2-расм. Yuqori darajali mikroprotsessor arxitekturasi
Yuqori darajali mikroprotsessorning asosiy bloklari quyidagilarni o'z ichiga oladi: ko'rsatmalarni qabul qilish va tarmoqni bashorat qilish bloki, ko'rsatmalarni dekodlash bloki, ko'rsatmalar orasidagi bog'liqlikni tahlil qilish, nomini o'zgartirish va rejalashtirish, suzuvchi va o'zgarmaydigan nuqtalari bo'lgan registrlar bloklari va ishlov berish moslamalari, xotirani boshqarish bloki; va bajarilgan ko'rsatmalarni buyurtma qilish uchun blok.
Keling, superkkalli mikroprotsessorlar ishini yaxshilashning asosiy usullarini ko'rib chiqaylik.
Ko'rsatmalarni oldindan o'rnatish va tarmoqni bashorat qilish. Yilda beri superscalar qayta ishlash, uni parallel funktsional modullarini o'rnatish uchun, bir tsikl xotira bir necha ko'rsatmalar olish uchun zarur bo'lgan, ortib talablar mikroprotsessor-xotira interfeysi kengligi solinadi. Zamonaviy mikroprotsessorlar ko'p darajali, alohida ma'lumotlar va ko'rsatma keshlaridan foydalanadilar.
Tarmoqli buyruqlar bajarilganda, kesh xotirasiga kirishda o'tkazib yuborishlar bilan bog'liq bo'lgan protsessor tsikllari yo'qotilishini kamaytirish uchun, keshlash tizimiga tarmoqni bashorat qilish vositalari kiritilgan, ularning asosiy maqsadi kerakli ko'rsatma ehtimolini oshirishdir. kesh xotirasi.
Shartli filiallarning bajarilishi quyidagi bosqichlardan iborat:
• shartli tarmoqlanish buyrug'ini tan olish;
• o'tish shartining bajarilishini tekshirish;
• o'tish manzilini hisoblash;
• nazorat o'tkazilishi, o'tkazilganda.
Har bir bosqichda mahsuldorlikni oshirishning maxsus usullari qo'llaniladi:
1. Tez dekodlash uchun kesh xotirasidan ko'rsatma tanlashda buyruqlar maydonining qo'shimcha bitlari yoki ko'rsatmalarni oldindan dekodlash ishlatiladi.
2. Ko'pincha, keshda ko'rsatma allaqachon tanlangan bo'lsa, o'tish sharti hali hisoblanmagan va buyruqlar oqimini kechiktirmaslik uchun, bu holda, o'tishni bashorat qilish bir nechta mumkin bo'lgan sxemalardan biriga muvofiq qo'llaniladi. Ba'zi forecasters FEVRAL statik ma'lumotlarni foydalanish - dasturining ary kodi yoki maxsus derleyicisinden tomonidan ishlagan. Masalan, ba'zi kodlar boshqa kodlarga qaraganda tarvaqaylab ketish ehtimoli ko'proq, yoki tarmoqlanish ehtimoli ko'proq (aylanishda) yoki kompilyator tarmoq yo'nalishini ko'rsatuvchi bayroqni o'rnatishi mumkin. Dasturni kuzatish orqali olingan statistik ma'lumotlardan ham foydalanish mumkin.
Boshqa bashoratchilar dasturni bajarishda dinamik ravishda yaratilgan ma'lumotlardan foydalanadilar. Bu, odatda, tarmoqli jadvalda yoki tarmoqni bashorat qilish jadvalida saqlangan, berilgan filialning bajarilish tarixi haqidagi ma'lumotlar. Bo'limni bashorat qilish jadvali assotsiativ printsipga muvofiq tuzilgan, kesh xotirasi kabi, uning elementlari filiali bashorat qilingan ko'rsatma manzilida mavjud. Ba'zi dasturlarda, tarmoqni bashorat qilish jadvalidagi yozuv - bu to'g'ri bashorat qilinganida ko'payadigan va noto'g'ri bo'lsa kamayadigan hisoblagich. Bunday holda, hisoblagich qiymati ustun tarmoqlanish yo'nalishini aniqlaydi.
Tarmoqlanish holatining haqiqiy qiymatini aniqlash vaqtida tarmoqlanish tarixiga o'zgartirish kiritiladi. Agar bashorat noto'g'ri bo'lsa, to'g'ri ko'rsatmalarni olishni boshlash kerak. Shartli ravishda bajarilgan jamoalarning natijalari bekor qilinishi kerak.
3. Filial manzilini aniqlash uchun odatda buyruq hisoblagichining joriy qiymatiga tarmoq buyruqlar maydonida ko'rsatilgan ofsetni qo'shib, butun son qo'shilishini bajarish talab qilinadi. Garchi bu registrlarga kirish uchun qo'shimcha tsikllarni talab qilmasa ham, manzilni hisoblash tezligiga ilgari ishlatilgan filial manzillari bo'lgan bufer yordamida erishish mumkin.
Agar buyruqlar hisoblagichining qiymatini o'zgartirish zarur bo'lsa, unda tarmoqlanish buyrug'ini tanib olish, buyruq hisoblagichini o'zgartirish va buyruq hisoblagichining belgilangan qiymati bo'yicha buyruqni olish uchun kamida bitta tsikl talab qilinadi. Bu kechikishlar protsessor quvurlarida bo'sh soat aylanishiga olib keladi. Murakkab echimlar ikkita mumkin bo'lgan dallanma natijalari uchun ko'rsatmalar to'plamini o'z ichiga olgan buferlardan foydalanadi.
Filial buyrug'idan keyin bir yoki bir nechta buyruqlar shartsiz bajarilganda "kechiktirilgan filiallar" dan foydalanish mumkin.
Buyruqlarni dekodlash, resurslarning nomini o'zgartirish va yuborish. Ushbu bosqichda buyruqlar orasidagi ahamiyatsiz bog'liqliklar ( RAW ) aniqlanadi va ahamiyatsizlari ( WAW, WAR ) bartaraf etiladi, buyruqlar funktsional qurilmalarning buyruq buferlari o'rtasida taqsimlanadi.
Ko'rsatmani dekodlashda bir yoki bir nechta buyurtma qilingan uchlik tuziladi, ularning har biri quyidagilarni o'z ichiga oladi: 1) bajarilayotgan operatsiya, 2) operandlarga ko'rsatgichlar, 3) natijaning joylashuvi ko'rsatkichi.
Cheklangan mantiqiy resurslar (xotira katakchalari, registrlar) natijasida kelib chiqadigan WAR va WAW keraksiz bog'liqliklarini bartaraf etish uchun dastur matni bilan aniqlangan mantiqiy resurslarni jismoniy mikroprotsessor resurslariga dinamik ravishda joylashtirish mexanizmi qo'llaniladi. Bunday yondashuv yordamida bitta mantiqiy resursni har xil jismoniy manbalardagi bir nechta qiymatlar bilan bog'lash mumkin, ularning har biri dasturning ketma -ket bajarilishi vaqtidagi nuqtalardan birining mantiqiy qiymatiga to'g'ri keladi.
Agar buyruq mantiqiy registr uchun yangi qiymat yaratsa, qiymatni saqlaydigan jismoniy resurs nomlanadi. Bu qiymatdan foydalaniladigan keyingi buyruqlar jismoniy manba nomi bilan qo'shiladi. Ushbu protsedura registrni qayta nomlash deb ataladi. Nomini o'zgartirishning ikkita asosiy usuli bor.
Birinchisida, jismoniy registr fayli mantiqiydan kattaroqdir. Agar qayta nomlash zarur bo'lsa, u bepul jismoniy registrlar ro'yxatidan olinadi va unga tegishli mantiqiy nom yoziladi. Agar bepul ro'yxatga olish ro'yxati bo'sh bo'lsa, bepul jismoniy registrlar paydo bo'lguncha buyruqlarni yuborish to'xtatiladi.
Ma'lumotlar oxirgi marta o'qilganidan so'ng, jismoniy registrlarni bepul ro'yxatga qaytarish masalasi qolmoqda. Bir usul - hisoblagichni har bir jismoniy registr bilan bog'lash. Hisoblagich har safar operandning nomini ushbu fizik registr yordamida ko'rsatishda ko'paytiriladi. Shunga ko'ra, operanddan foydalanganda hisoblagich qiymati 1 ga kamayadi. Hisoblagich nolga yetganda, jismoniy resurs erkin ro'yxatga o'tkazilishi kerak.
Ikkinchi qayta nomlash usuli bir xil miqdordagi mantiqiy va fizik registrlardan foydalanadi va ularning birma-bir yozishmalarini saqlaydi. Bundan tashqari, bajarilishi uchun boshlangan har bir buyruq uchun bitta yozuvli bufer mavjud. Bu bufer qayta tartiblash deb ataladi, chunki u ham uzilishlar buyruqlar tartibini o'rnatish uchun ishlatiladi. Bu tamponni boshlang'ich va oxirgi ko'rsatgichlari bo'lgan dumaloq bufer deb hisoblash mumkin.
Buyruqlar bufer oxirida joylashtiriladi. Buyruq bajarilgandan so'ng, uning natijasi ushbu element egallagan navbatdagi joyidan qat'i nazar, unga oldindan tayinlangan navbat elementiga kiritiladi. Buyruq bufer boshiga yetganda, agar u bajarilgan bo'lsa, uning natijasi registr fayliga joylashtiriladi va buyruqning o'zi o'chiriladi. Operativ qiymati yo'qligi sababli buferdagi buyruq bajarilmaydi, bu qiymat olinmaguncha. Navbatdan bir nechta buyruqlar tanlanishi yoki unga bir vaqtning o'zida joylashtirilishi mumkin.
Buyruqlarni bajarish. Har bir ko'rsatma uchun opkod, jismoniy operandlar - manba va natijadan tashkil topgan buyurtma uchliklari tuzilib, ularni buferlarga joylashtirilgandan so'ng, operand qiymatlarining ko'rsatmalarni bajarishga tayyorligini dinamik tekshirish bosqichi boshlanadi.
Ideal holda, kirish operandlari tayyor bo'lgach, ko'rsatma bajarishga tayyor bo'ladi. Biroq, aktuatorlar, kommutatorlar va registr fayllari (yoki buferni qayta tartiblash) portlari kabi jismoniy resurslarning mavjudligi bilan bog'liq bir qator cheklovlar mavjud. Ijro oynasini tashkil qilish uchun turli usullar qo'llaniladi: bitta navbat, bir nechta navbat yoki zaxira stantsiyasi usuli.
Agar bitta navbat bo'lsa, registrlarni qayta nomlash shart emas, chunki operandlarning qiymatlari har bir registr bilan bog'liq bo'lgan rezervasyon biti bilan belgilanishi mumkin. Ro'yxatdan o'tish kitobi uni o'zgartiradigan buyruq bajarishga tayinlanganda saqlanadi. Va registr buyruq bajarilishi tugagach chiqariladi. Agar resurslar buyruq uchun ajratilmagan bo'lsa, u holda uning bajarilishi to'xtatiladi.
Ko'p navbatli usulda har bir navbat bir xil turdagi buyruqlar uchun tashkil qilinadi. Masalan, suzuvchi nuqta buyrug'i yoki xotira buyrug'i.
Uchinchi usul, har birida operatsiya kodini joylashtirish uchun pozitsiyalar, birinchi operandning nomi, birinchi operandning nomi, birinchi operandning mavjudligidan dalolat beruvchi elementlar to'plamidan iborat ortiqcha stantsiyani ishlatishni o'z ichiga oladi., ikkinchi operandning nomi, ikkinchi operandning nomi, ikkinchi operandning mavjudligi va registrning nomi. natija. Qachon buyrug'i ijrosini yakunlanadi va bir natija ishlab chiqaradi, natijada nomi ortiqcha to'lqinning operanddan nomlari bilan qiyoslanadi.
Agar bu natijani kutayotgan buyruq ortiqcha stantsiyada topilsa, u holda ma'lumotlar tegishli joyga yoziladi va ularning mavjudligi belgisi o'rnatiladi. Buyruqda barcha operandlar mavjud bo'lganda, uning bajarilishi boshlanadi. Ortiqcha stansiya operandlarning mavjudligini nazorat qiladi. Ortiqcha stantsiyaga buyruq yuborilganda, registr faylidagi barcha tayyor operandlar ushbu buyruq maydonlariga qayta yoziladi. Hamma operandlar tayyor bo'lgach, buyruq bajariladi. Ba'zida kutish stantsiyasida operandlarning o'zi yo'q, lekin ular ro'yxatga olish faylida yoki qayta tartiblash buferida ko'rsatiladi.
Xotira bilan ishlash. Xotira manzilini hisoblash odatda kamida bitta qo'shimchani talab qiladi. Manzil hisoblangandan so'ng, uni tarjima manzili buferi (TLB) orqali jismoniy manzilga tarjima qilish zarur bo'lishi mumkin.
Nizolarni muammolari birgalikda bir manbai kirishini - xotira hujayralarini, bor aslida reestrini kirayotganda bir xil.
Buyruqlar bajarilishini yakunlash. Final bosqichi buyrug'i ijrosi o'zgarishlar o'zgarish quyidagilarni o'z ichiga oladi, deb - buyruq muvofiq Nia protsessor. Bu bosqichning maqsadi - individual buyruqlarning haqiqiy parallel bajarilishi va tarmoq buyruqlarining shartli bajarilishi bilan dasturni bajarishning ketma -ket modelini saqlab qolish. Protsessor holatini o'zgartirish uchun ikkita asosiy usuldan foydalaniladi, ikkalasi ham ikkita holatga asoslangan: o'lchanadigan holat - operatsiya natijasi yo'qligi va tiklanish uchun zarur bo'lgan shartlar.
Birinchi usul protsessor holatini nazorat punktlari to'plamida yoki hisoblash tarixi buferida saqlaydi, agar kerak bo'lsa, holatni tiklash uchun ishlatiladi.
Ikkinchi usul protsessorning mantiqiy (me'moriy) va jismoniy holatini hisobga olishni o'z ichiga oladi. Jismoniy holat keyingi buyruq bajarilgandan so'ng darhol o'zgaradi. Shartli bajarilgan buyruqlar natijasi aniq bo'lganda me'moriy holat o'zgaradi. Ushbu usulni amalga oshirish uchun qayta tartiblash buferi ishlatiladi: buferdan olingan natijalar arxitektura registri fayli va xotirasiga yuboriladi.
Har bir buyruq uchun qayta tartiblash buferi mos keladigan hisoblagich qiymatini va to'g'ri uzilish xizmati uchun zarur bo'lgan boshqa registrlarning qiymatlarini o'z ichiga oladi.
13-rasm. superscalar mikroprotsessorining asosiy komponentlarini ko’rsatadi: funktsional modullar - suzuvchi (FPU) va sobit (ALU) nuqtali operatsiyalarni bajaradi, yuklash / saqlash qurilmasi, fayllarni ro'yxatga olish, alohida ko'rsatma va ma'lumotlar keshini, shuningdek dinamik rejalashtirishni ta'minlaydigan yordamchi modullarni ko'rsatadi. hisoblash jarayoni "2 -darajali kesh xotirali aloqa moslamasi, buyruqni qayta tartibga solish birligi va dastlabki parolni ochish birligi.
At kamida ikki holatlar foydalanish samaradorligini cheklash superscalar mimarileri. Birinchidan, hatto eng ilg'or superscalar hisoblash texnikasi qo'llanilsa ham, ko'rsatma darajasida parallellik darajasining chegaralari bor. Birinchi cheklov shartli sakrashlardan kelib chiqadi. Ikkinchisi, bajarilish oynasining o'lchami (parallel bajarilishi mumkin bo'lgan faol buyruqlar soni), dasturga xos bo'lgan parallellikni cheklaydi, chunki buyruqlar oynaning o'lchamidan oshib ketadigan masofada joylashgan. hisobga olinmagan.
Ikkinchidan, superscalar protsessorining murakkabligi parallel va hatto tezroq bajariladigan buyruqlar soni oshadi.
Katta ehtimol bilan, superskalarni qayta ishlashda parallelizatsiya chegarasi har bir tsiklda bajarish uchun bir vaqtning o'zida 7-8 buyruqni ishga tushirishdir.
Yuqori darajali mikroprotsessorning tuzilishi
Konveyer tezligini oshirishning bir necha yo'li mavjud. Birinchidan, mashina yo'riqnomalarini qayta ishlash tsiklining har bir bosqichini bir nechta podstansiyalarga ajratish tufayli konveyer aylanishi kamayadi va chastota shunga mos ravishda oshadi. Ikkinchidan, protsessorda bir-birining ustiga chiqish bilan ishlaydigan bir nechta quvurlar. Birinchi usulga superkonveyorizatsiya deyiladi [6], ikkinchisi - superskalalar bilan ishlov berish.
Super-konveyerli ishlov berish protsessorini tashkil qilishda, CLCM doirasida bajarilgan ishlar soni ko'payadi va har bir bunday operatsiya uchun alohida bo'lim ajratiladi. Shu bilan birga, ular bajarilgan harakatlarning murakkabligini sezilarli darajada qisqartirishga erishadilar, bu esa ularni amalga oshirish vaqtini qisqartiradi. har bir birlik yuqori soat chastotasida ishlashi mumkin. Ko'p jihatdan, bu mumkin, chunki konveyerning ko'plab pozitsiyalarida mashina aylanishining yarmidan ozrog'ini bajaradi. Natijada, siz konveyerning soat pulslarining chastotasini ikki baravar oshirishingiz mumkin, bu esa mashina aylanishining bir davri uchun bir vaqtning o'zida ikkita harakatning bajarilishini ta'minlaydi.
Har bir bosqichda parchalanish tufayli bir nechta jamoalar uchun operatsiyalarni bajarish mumkin, bu esa parallellik darajasini oshiradi. 3.6-rasmda protsessorning yuqori darajadagi konveyer tashkiloti bilan vaqt diagrammasi ko'rsatilgan, u CLCM-ning har bir bosqichini ikkita podstansiyaga ajratishni ta'minlaydi. Ushbu yondashuvdan foydalanib, mashina ko'rsatmalari to'plamining davomiyligini yanada qisqartirish mumkin bo'ladi.
Biroq, amalda, super quvurlarni ishlov berishga o'tishdan hisoblash ishlarida sezilarli yutuqlarga erishish har doim ham mumkin emas. Bu, asosan, mojarolar ehtimolligi oshishi, shuningdek, super-konveyer protsessorni boshqarish moslamasi mantig'ining sezilarli darajada murakkablashishi bilan bog'liq. Bundan tashqari, shartli filialni taxmin qilishda xato bo'lsa, quvur liniyasini tozalash kerak. Bosqichlar va zinapoyalarning ko'pligi bilan konveyerni to'liq to'ldirishda kechikish tufayli ancha uzoq vaqt ishlaydigan protsessor kuzatiladi. Filialni bashorat qilishda sog'inish super-konveyer protsessorining ishlashida qattiq jazolarga olib keladi, bu esa umumiy ishlash ko'rsatkichini pasaytiradi.
|
4.6-rasm. Super konveyer protsessorining vaqtini aniqlash sxemasi
|
Biroq, xavflarni oldini olish mexanizmlarini takomillashtirish yuqori mahsuldorlikka ega bo'lgan super konveyerning ishonchli ishlashini ta'minlaydi.
Superscalar protsessoriga ma'lum bir ish sinflarini bajarish uchun javobgar bo'lgan bir nechta mustaqil ma'lumotlarni qayta ishlash bloklari kiradi. "Skalalar" atamasi ushbu protsessorlar va vektor ma'lumotlari bilan ishlaydigan kalkulyatorlar o'rtasidagi tub farqni ta'kidlash uchun ishlatiladi [3]. Bunday tashkilot protsessorga bir vaqtning o'zida skalyar ma'lumotlarga bir nechta buyruqlarni bajarishga imkon beradi. Umuman olganda, superskalalar qayta ishlash turli xil protsessor quvurlarida parallel ravishda amalga oshiriladi (3.7-rasm). Bu erda, CLCM-ning 1-bosqichida bir nechta buyruqlarni tanlash kerak, ularning har biri o'z trubkasiga ishlov berish uchun yuborilgan va buyruqlarni bajarish uchun birlik. Buyruqlar va ma'lumotlarning bir nechta tanlanishini ta'minlash uchun maxsus xotira tashkiloti talab qilinadi.
3.7-rasm. Ko'p konveyerli superskalalar protsessorining tuzilishi
Ko'p sonli ishlov berish birliklari bo'lgan bitta konveyerdan foydalanib, superscalar protsessorini boshqarish murakkabligini kamaytirish mumkin (3.8-rasm). Odatda, 1-3 bosqichlarda bajarilgan operatsiyalar, mashina buyrug'ining haqiqiy bajarilishiga qaraganda ancha kam vaqt talab qiladi. Shunday qilib, 1-3 bosqichlar jamoani tegishli ishlaydigan moslamani qayta ishlash va yuklashga tayyorlashni ta'minlaydi. Agar keyingi buyruqning dastlabki ma'lumotlari avvalgi buyruqning natijasiga bog'liq bo'lsa, unda avvalgisiga ishlov berish tugaguncha bunday buyruq bajarilmaydi. Umumiy holda, superscalar protsessori dasturning manba kodida ko'rsatilgan mashina ko'rsatmalarining ishlash tartibini uning ishlash mantig'ini buzmasdan o'zgartirishi mumkin.
Qoida tariqasida, supersalar protsessorida har bir mashina ko'rsatmasi uchun mustaqil ishlov berish birligi, ba'zan esa bir nechta amalga oshiriladi. Masalan, ALU raqamlarni suzuvchi-nuqta formatida, ALU qayta ishlangan raqamlarni sobit nuqtali formatda, ma'lumotlarni yuklash va saqlash bloklari va boshqalar.
|
3.8-rasm. Yagona quvur liniyasidan yuqori protsessor
|
Superscalar protsessorlarining ishlash ko'rsatkichlari mashina ko'rsatmalarining tabiiy ketma-ketligida super konveyer kompyuterlarning ishlashiga to'g'ri keladi. Shartli o'tishlar mavjud bo'lganda, superscalar protsessori o'tishning prognozi xatosi uchun jarimaga olib keladigan kamroq kechikishlarni ta'minlaydi. 3.9-rasmda bir xil mashina dasturlarini bajarishda super konveyer va superskalalar protsessorlarining ishlashining qiyosiy diagrammalari ko'rsatilgan.
|
3.9-rasm. Protsessorning vaqt diagrammasi: super quvur (a) va superskalalar (b).
|
Supersalar protsessorlarining ishlashi ko'p jihatdan har bir aniq dasturda buyruqlarning parallel ravishda bajarilishi imkoniyatiga bog'liq. Bu imkoniyat o'qitish darajasidagi parallelizm tushunchasi bilan bog'liq. Protsessorda operatsiyalarni parallellashtirish bir qator cheklovlar bilan bog'liq, ularning asosiylari
• ma'lumotlarga bog'liqlik,
• protsessual bog'liqlik,
• resurslardan foydalanish ziddiyati,
• mahsulotga bog'liqlik,
• teskari munosabatlar.
Agar qo'shni dastur buyruqlarida ma'lumotlarga bog'liqlik bo'lmasa, ularni ikkita mustaqil operatsion birlikda bir vaqtning o'zida ajratib olish va qayta ishlash mumkin. Aks holda, keyingi buyruq bajarilishi uchun barcha dastlabki ma'lumotlar paydo bo'lmaguncha, ko'p sonli tsikllar kechiktirilishi kerak.
Protsedura bog'liqligi ikkita holat bilan bog'liq: shartli filial ko'rsatmalarining mavjudligi, ushbu yo'riqnoma bajarilishidan oldin keyingi yo'riqnomaning manzilini aniqlashning iloji bo'lmaganda va oldingi buyruq to'liq yoki qisman dekodlanmaguncha keyingi yo'riqnomani chiqarib olish mumkin bo'lmaganda o'zgaruvchan uzunlikdagi ko'rsatmalardan foydalanish.
Resurslardan foydalanishdagi ziddiyat, turli xil mashina ko'rsatmalarini bajarish uchun protsessorning bir xil funktsional tugunlari - xotira, avtobus, registr va boshqalar zarur bo'lganda paydo bo'ladi.
Chiqarilgan bog'liqlik qo'shni bo'lmagan mashina ko'rsatmalarini ularni bajarish natijalarining boshqa buyruqlarni bajarishda noto'g'ri natijalarni olishiga ta'siri tufayli qo'shma ijro etish (guruhlash) mumkin emasligini ta'minlaydi. Boshqacha qilib aytganda, mahsulotga bog'liqlik dasturda ko'rsatilgandek, mashina ko'rsatmalarini bajarish tartibini buzishni taqiqlaydi.
Keyingi buyruq oldingi buyruqni bajarish uchun ishlatiladigan ma'lumotni o'zgartirganda teskari munosabatlar yuzaga keladi. Bunday holda, oldingi buyruq ishga tushmaguncha va tegishli ma'lumotlar olinmaguncha keyingi buyruq bajarilmaydi.
Dasturda ishlatiladigan buyruqlarga ilg'or qarashni amalga oshiradigan bepul boshlang'ich buyurtma yoki buyruqlarni bepul buyurtma qilish texnologiyasidan foydalanishda oxirgi ikkita cheklov paydo bo'ladi. Bunday tashkilot yordamida dekodlashdan keyin buyruq buferga kiradi, u erda kerakli funktsional tugunning chiqarilishini kutadi. Kerakli resurs buyruqni bajarish uchun bo'sh bo'lganda, buyruq buferdan olinadi va quvur liniyasi bajarilgan joyga keladi. Shu bilan birga, har qanday birinchi buyruqni buferdan olish mumkin, buning uchun bepul tugun zarur va bu hech qanday nizo yoki qaramlikka xalaqit bermaydi.
Shunday qilib, superscalar protsessorining apparat va dasturiy resurslariga quyidagi talablar qo'yiladi [7]:
• bir nechta buyruqlarni parallel o'qish va shartli filial buyruqlaridan keyin bo'limni bashorat qilish;
• buyruqlarni bajarish tartibini o'zgartiradigan mexanizmni ularning dastur mantig'ini o'zgartirmasdan dasturda joylashish ketma-ketligi bilan taqqoslash;
• ma'lumotlardan bog'liqlikni aniqlash mantiqini va buyruqlarni to'g'ri bajarish uchun ularni almashish mexanizmini yaratish;
• bir vaqtning o'zida bir nechta xotiraga kirish imkoniga ega bo'lgan bir nechta mashina yo'riqlarini parallel bajarish mexanizmini amalga oshirish;
• dasturda tasvirlangan dastlabki buyruq oqimiga mos keladigan tartibda individual buyruqlar natijalarini aniqlashni boshqaruvchi mexanizmni amalga oshirish.
Foydalanilgan adabiyotlar
Musayev M.M. “Kompyuter tizimlari va tarnqlari”.
Mirzayusupov Z.Z. “Kompyuter arxitekturasi”.
Library.Ziyonet.uz sayti
Newtravels.ru sayti
Do'stlaringiz bilan baham: |