4. Superscalar bilan ishlash
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.
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.
Dostları ilə paylaş: |