12- ma’ruza Parallel hisoblash tizimlari Reja: Parallel tizim arxitektura kategoriyalari Parallel protsessorlar


Download 0.69 Mb.
Pdf ko'rish
bet7/22
Sana21.04.2023
Hajmi0.69 Mb.
#1370652
1   2   3   4   5   6   7   8   9   10   ...   22
Bog'liq
4-маъруза

  
2. Superskalar protsessorlari
Superscalar protsessorlari-bu ketma -ket arxitekturalar 
uchun ILP
protsessorining amalga oshirilishi - arxitektura, bu dastur bir vaqtning o'zida aniq 
ma'lumotni uzatmasligi kerak. Dasturda ILP borligi to'g'risida aniq ma'lumot yo'qligi 
sababli, parallellikni aniqlash muammosi apparat yordamida hal qilinishi kerak, 
shuning uchun "yashirin parallellik" ni aniqlash bo'yicha harakatlar rejasini tuzish 
kerak. Superskalar protsessorlari kodi belgilangan tartibda bajarilsa, to'g'ri natija 
beradigan ko'rsatmalar ketma -ketligini o'z ichiga oladi. Kod ketma -ket algoritmni 
bildiradi va faqat ma'lum bir yo'riqnomalar to'plamidan foydalangan holda, u 
ishlaydigan uskuna qanday aniqligi va ko'rsatmalarni bajarilishining aniq vaqti 
haqida tasavvurga ega emas. Bu yondashuv uskunaning murakkabligini oshiradi, shu 
bilan birga yuqori ishchi protsessor faqat ish vaqtida aniqlanishi mumkin bo'lgan 
omillardan foydalanib, ijro rejasini tuzadi.
Dasturning dinamik tuzilishini o'zgartirishning ruxsat etilgan chegaralari 
ko'rsatmalar majmuasida mavjud bo'lgan munosabatlar bilan belgilanadi: 
boshqaruvga 
qaramlik 
va 
ma'lumotlarga 
bog'liqlik. Superskalalar protsessorlari arxitekturasini 
tavsiflashda ko'pincha 
ijro 
oynasi modeli ishlatiladi. Dasturni bajarayotganda, mikroprotsessor bajariladigan 
oynani dasturning statik tuzilishi bo'ylab siljitadi. Agar ular orasidagi bog'liqlik 
bo'lmasa, oynadagi buyruqlar parallel ravishda bajarilishi mumkin.
Filial ko'rsatmalaridan kelib chiqadigan bog'liqliklarni bartaraf etish uchun, 
bashorat qilingan bashoratli ko'rsatmalarni olish va shartli bajarish uchun bashorat 
qilish 
usuli 
qo'llaniladi. Agar 
keyinroq 
bashorat to'g'ri bajarilganini aniqlasangiz, buyruqlarning shartli bajarilishi natijalari 
qabul qilinadi. Agar bashorat noto'g'ri bo'lsa, protsessor holati o'tish to'g'risida qaror 
qabul qilingan paytgacha tiklanadi.
Ijro oynasida joylashtirilgan buyruqlar ma'lumotlarga bog'liq bo'lishi 
mumkin. Bu bog'liqliklar turli xil ko'rsatmalarda bir xil xotira resurslaridan 


(registrlar, xotira xujayralari) foydalanishga bog'liq. Shuning uchun dasturning to'g'ri 
bajarilishi uchun ushbu resurslardan dasturda belgilangan tartibda foydalanish zarur. 
Ma'lumotlarga bog'liqlikning barcha turlarini uyushmalar turiga ko'ra tasniflash 
mumkin: RAR - 
"o'qishdan 
keyin 
o'qish", WAR - 
"o'qishdan keyin 
yozish" va WAW - 
"yozgandan 
keyin 
yozish", RAW - 
"yozgandan 
keyin 
o'qish". Ma'lumotlarga har xil buyruqlar bog'liqligining misoli 11 -rasmda 
ko'rsatilgan. Ma'lumotlarga bog'liqliklarning bir qismini olib tashlash mumkin. RAR, 
aslida, qaramliklarning yo'qligiga to'g'ri keladi, chunki bu holda buyruqlarni bajarish 
tartibi muhim emas. Haqiqiy qaramlik faqat o'qishdan keyin o'qiladi (RAW), chunki 
ilgari yozilgan yangi ma'lumotlar o'qilishi kerak, eski ma'lumotlar emas.
Ma'lumotga kerak bo'lmagan bog'liqliklar o'qishdan keyin yozish (WAR) va 
yozishdan keyin yozish (WAW) natijasida paydo bo'ladi. 
Keraksiz boshqaruv va ma'lumotlar qaramligini olib tashlaganingizdan so'ng, 
buyruqlar parallel ravishda bajarilishi mumkin. Buyruqlarning parallel bajarilishini 
rejalashtirish mikroprotsessor apparatiga yuklangan. Bu jadvalda buyruqlar va 
mavjud protsessor funktsiyasi modullari o'rtasidagi mavjud bog'liqliklar hisobga 
olinadi. 
1-rasm. Ma'lumotlar bo'yicha buyruq bog'liqliklari 
  
Superskal mikroprotsessorning tipik arxitekturasi 2 -rasmda ko'rsatilgan.
2-rasm. 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.


3-rasm. Yuqori darajali mikroprotsessorning tuzilishi

Download 0.69 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   22




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling