Nazorat savollari
1.
Buyruqlar darajasidagi parallellik
2.
PVP-tizimlarining asosiy xususiyati
3.
Klaster yaratish tarixi
4.
Hisoblash klasterlari
130
21-Ma’ruza.
Raqamli ishlov berishning unumdorligini baholash usullar
Reja:
1.
Raqamli ishlov berish
2
. Unumdorligini baholash usullar
Tayanch iboralar:
raqamli ishlov berish, DSP
Garvard arxitekturasi ko'pincha dasturlar va ma'lumotlarni saqlash uchun
alohida xotira bloklari bilan qo'llaniladi. Ular turli xil bit chuqurliklariga ega
bo'lishi mumkin, ularga turli buyruqlar orqali kirish mumkin;
-qayta ishlangan ma'lumotlarning katta (ba'zan nostandart) bit chuqurligi - 16,
24, 32, 48, 64, 128, bu suzuvchi nuqta formatidan foydalanmasdan yoki bir
vaqtning o'zida bir nechta raqamlarni qayta ishlashsiz qayta ishlangan raqamlar
diapazonini ko'paytirish imkonini beradi. ;
-ko'paytirish buyrug'ining bajarilishini tezlashtirish uchun mo'ljallangan bloklar
- siljish registrlari, matritsa ko'paytirgichlari;
-protsessor chipining o'zida buyruq va ma'lumotlar xotirasi;
-bir vaqtning o'zida bir nechta amallarni parallel bajarish imkoniyati, masalan,
kiritish chiqarish va arifmetik buyruqlar;
Barcha buyruqlar bir xil uzunlikda va bajarish uchun bir xil vaqt ketadi, bu
esa buyruq hisoblagichidan vaqt oraliqlarini hisoblashda foydalanish imkonini
beradi.
Arxitektura bo'yicha DSP ning quyidagi turlari (shartli ravishda) ajralib
turadi:
•
standart;
•
takomillashtirilgan standart;
•
VLIW arxitekturali protsessorlar;
•
superskalyar;
•
gibrid.
•
Maqsadiga ko'ra, DSPlar quyidagilarga bo'linadi:
131
•
DSP umumiy maqsadi;
•
ixtisoslashtirilgan DSP.
21.1-rasm. DSP da USN buyrug'ini bajarishi
Rasmda standart DSP da USN buyrug'ini bajarishning ikkita varianti
ko'rsatilgan.
•
Birinchi variantda ikkala operand ham ma’lumotlar xotirasida saqlanadi,
shuning uchun ularni olish uchun ikki sikl kerak bo‘ladi, ya’ni n ta qo‘shimchaning
bajarilish vaqti 2n.
•
Ikkinchi holda, operandlardan biri dastur xotirasida saqlanadi, shuning
uchun buyruq bir siklda bajariladi va tsiklning umumiy bajarilish vaqti n ta tsiklga
teng bo'ladi (aniqlash kerakki, haqiqatda bajarish uchun bir sikl bo'lsa, USN
ko'rsatma kodining o'zini qayta-qayta olishni oldini olish uchun maxsus sikl
ko'rsatmasi ichida bajarilishi kerak, bu qo'shimcha tsiklni talab qiladi).
•
Bu erda ko'rinib turibdiki, algoritmni samarali amalga oshirish uchun
ma'lumotlarni saqlash uchun dastur xotirasidan foydalanish talab etiladi va
maksimal ishlashga faqat bitta buyruq siklida erishiladi.
Ma'lumotlarni saqlash uchun dastur xotirasidan foydalanishdan voz
kechishga imkon beruvchi variantlardan biri bu deb ataladigan narsadan
foydalanishdir. "ikki portli xotira", ya'ni ikkita kirish shinalari to'plamiga ega
xotira - ikkita manzil va ma'lumotlar avtobuslari. Ushbu arxitektura bir vaqtning
o'zida ikkita manzilga kirish imkonini beradi (ammo ular turli xil adresli bloklarda
bo'lishi kerak). Ushbu yechim Motorola (DSP56000) va Lucent (DSP1600) DSP-
larida qo'llaniladi.
132
Ushbu arxitektura bilan ishlashni yaxshilashning yagona yo'li soat
chastotasini oshirishdir.
Standart DSP-lar bilan solishtirganda, bu DSP-lar parallellikni oshirishning
quyidagi usullaridan foydalanadi:
•
Operatsion va hisoblash qurilmalari sonini ko'paytirish;
•
Ixtisoslashgan soprotsessorlarni joriy etish;
•
O'tkazilgan ma'lumotlar hajmini oshirish uchun avtobusni kengaytirish;
•
Ko'p kirish imkoniyatiga ega xotiradan foydalanish (har bir tsiklda bir
nechta kirish);
•
Buyruqlar tizimining murakkabligi;
Ikki parallel USN buyrug'ini hisoblashni amalga oshirish misoli o'ng
tomonda ko'rsatilgan. Buning uchun DSP ikkita MAC moduli va ikkita batareyani
o'z ichiga oladi. USN bloklari bir vaqtning o'zida uchta avtobusda ma'lumotlarni
oladi va qiymatlardan biri ular uchun umumiydir. Shunday qilib, ikkita buyruqning
bir vaqtning o'zida bajarilishi mavjud.
Ko'rsatilgan yechimning xususiyati shundaki, ko'plab DSP algoritmlarini
bitta umumiy omil bilan ikkita parallel buyruqlar bajarilishiga qisqartirish mumkin.
21.2-rasm. DSP da USN buyrug'ini bajarishi
VLIW protsessorlari o'rtasidagi asosiy farq shundaki, ko'rsatmalar kodlari
kompilyatsiya bosqichida katta "super ko'rsatmalar" ga yig'iladi va parallel
ravishda bajariladi. Odatda, bunday protsessorlar belgilangan buyruq uzunligiga
133
ega RISC arxitekturasidan foydalanadi, bunda ularning har biri alohida operatsion
blokda bajariladi.
Bunday protsessorlarning xarakterli xususiyatlariga quyidagilar kiradi:
Bir-biridan mustaqil ishlaydigan operatsion modullarning katta to'plami.
Har bir protsessor modeli uchun kompilyatorni optimallashtirish zarurati,
chunki hisoblash birliklarining tarkibi va funktsiyalari modellar o'rtasida o'zgarishi
mumkin, bu bir vaqtning o'zida bajarilishi mumkin bo'lgan buyruqlar ro'yxatini
o'zgartirishga olib keladi;
Bir qo'ng'iroqda alohida buyruqlardan iborat (8 tagacha) operatsiya kodini
xotiradan olish uchun ultra keng ma'lumot uzatish avtobuslariga ehtiyoj (128 bitli).
Dastur xotirasi hajmiga yuqori talablar, bu ham katta ish uzunligi bilan bog'liq.
Superskalar DSPlar parallel ishlaydigan modullarning katta to'plami va bir
vaqtning o'zida bir nechta ko'rsatmalarni bajarish qobiliyati bilan tavsiflanadi.
Biroq, VLIW bilan solishtirganda, ular ikkita muhim xususiyatga ega:
Protsessor ko'rsatmalari bloklarga guruhlanmagan, ularning har biri
protsessorga mustaqil ravishda kiradi;
Parallel bajarish bo'yicha ko'rsatmalar protsessor ichida operatsion
bloklarning tarkibi va joriy ish yuki, shuningdek, ma'lumotlar o'rtasidagi bog'liqlik
asosida guruhlangan.
Superscalar
DSP
ko'rsatmalarning
bajarilishini
nafaqat
operatsion
bloklarning ish yuki haqidagi ma'lumotlarga, balki ma'lumotlar o'rtasidagi
bog'liqliklarni tahlil qilishga asoslangan holda rejalashtiradi. Masalan, arifmetik
operatsiya natijasini saqlash bo'yicha ko'rsatma, hatto xotiraga kirish moduli hozir
bo'sh bo'lsa ham, hisoblash operatsiyasining o'zidan oldin bajarilmaydi. Bu
xususiyat, boshqa narsalar qatorida, dasturning turli joylarida bir xil ko'rsatmalar
to'plami turlicha bajarilishi mumkinligiga olib keladi, bu esa ishlashni to'g'ri
baholashni imkonsiz qiladi.
DSP dasturlash uchun odatda ikkita tildan biri ishlatiladi - assembly va C.
DSP assemblerlarining asosiy xususiyatlari an'anaviy mikroprotsessor tillari
bilan bir xil:
134
Assembly tili mashinaga yo'naltirilgan
Assembler tilidagi bitta ko'rsatma odatda bitta mashina tili ko'rsatmasiga
teng Assemblerda dasturlashda dasturchi protsessor va tizimning barcha
resurslaridan foydalanish imkoniyatiga ega bo'lib, ulardan iloji boricha samarali
foydalanish imkonini beradi.
DSP assemblerlarining qiziqarli xususiyatlari quyidagilardan iborat:
Ko'p buyruqlarni yozishning ikkita shakli mavjudligi - mnemonik va algebraik.
Standart tuzilmalarni tashkil qilish vositalari, masalan, bitta ko'rsatma yoki kod
blokini takrorlash uchun maxsus apparat ko'rsatmalari.
Boshqa tomondan, HLL, xususan, C dan foydalanganda, dasturlarni
yaratishni sezilarli darajada soddalashtirish va tezlashtirish mumkin, ammo tizim
resurslari to'liq assemblerda yozilgan dastur bilan solishtirganda unchalik samarali
emas.
Aslida, odatda NDL ning afzalliklari va assembler dasturlari samaradorligini
birlashtirgan yondashuv qo'llaniladi.
Mur qonunida aytilishicha, yarim o’tkazgichli mikrosхemaga joylashtirilgan
tranzistorlar soni har ikki yilda ikki martaga ko’payadi, bu esa bir tomondan
unumdorlikni oshishiga, boshqa tomondan mikrosхemalarni ishlab chiqarish
bahosining pasayishiga olib keladi. Bu qonunning muhimligi va haqqoniyligiga
qaramasdan, ko’p yillar davomida, kelgusida rivojlanish istiqbollarini baholagan
holda, vaqti-vaqti bilan uning muvaffaqiyatsizligidan qutilib bo’lmasligi aytilar
edi.
Kelgusidagi rivojlanish yo’lidagi to’siqlarga quyidagi omillar sabab bo’lishi
mumkin: fizik o’lchamlarni cheklanganligi, energiya iste’molining keskin ravishda
o’sishi va ishlab chiqarishning haddan tashqari yuqori хarajatlari. Ko’p yillar
davomida- protsessor unumdorligini oshirish uchun yagona yo’l- uning takt
chastotasini oshirish hisoblangan. Bu yillar davomida, shunday fikr ildiz otgan
ediki, aynan protsessorning takt chastotasi uning unumdorligining asosiy
ko’rsatkichi hisoblanardi. Zamonaviy bosqichda takt chastotasini oshirish- bu
asosiy vazifa emas. Mikroprotsessorlarning takt chastotalari poygasining tugashiga
135
toklar yo’qolishining yechilmagan muammolari va mikrosхemalarning issiqlik
ajralib chiqishining nomaqbul o’sishi tufayli erishildi.
Protsessor unumdorligi (Performance)- bu dasturiy kodning bajarilgan
yo’riqnomalari umumiy sonining ularni bajarilish vaqtiga nisbati yoki bir soniyada
(Instructions rate) bajariladigan yo’riqnomalar sonidir:
Protsessorning asosiy tavsifi uning takt chastotasi bo’lgani uchun chastotani
protsessorning unumdorligi formulasiga kiritamiz. Sur’at va maхrajini
yo’riqnomalar bajarilgan taktlar soniga ko’paytiramiz:
Olingan ko’paytmaning birinchi qismi- bir taktda bajarilgan yo’riqnomalar
soni (Instuction Per Clok, IPC), ko’paytmaning ikkinchi qismi vaqt birligida
protsessor taktlari soni (protsessorning takt chastotasi, F yoki Frequency). Shunday
qilib protsessor unumdorligi nafaqat uning takt chastotasiga, taktda bajariladigan
yo’riqnomalar soniga ham bog’liq (IPC)
Olingan formula protsessor unumdorligining oshishiga ikkita turli
yondashishni belgilaydi. Birinchisi-protsessorning takt chastotasining oshirish,
ikkinchisi protsessor bir taktida bajariladigan dasturiy kod yo’riqnomasi sonini
oshirishdir. Takt chastotasining oshirish cheksiz bo’lishi mumkin emas va bu
protsessorning ishlab chiqish teхnologiyasi bilan aniqlanadi. Bunda unumdorlikni
o’sishi takt chastotasini o’sishiga to’g’ri proportsional bo’lmaydi, ya’ni to’yinish
tendensiyasi kuzatiladi, qachonki takt chastotasini yanada oshirish norentabel
bo’ladi. Bir takt vaqtida bajariladigan yo’riqnomalar soni protsessorning
mikroarхitekturasiga : ijro bloklarining soniga, konveyerning uzunligiga va uning
to’lish samaradorligiga, bloklariga, protsessorning ushbu mikrosхemasiga dasturiy
136
kodning optimallashtirilganligiga bog’liq bo’ladi. Shuning uchun protsessor
unumdorligini uning takt chastotasi asosida taqqoslash faqat bitta arхitektura
chegarasida (IPC protsessorlar-bir soniyada bojariladigan operatsiyalar sonining
bir хil qiymatida) mumkin.
Bitta protsessorda bir necha ijro bloklaridan foydalanish va komandalarning
ketma ket bajarilishidan chekinish bir vaqtda bir necha protsessor
mikrokomandalarini qayta ishlashga imkon beradi, ya’ni yo’riqnomalar darajasida
parallelikni (Instruction Level Parallelism ILP) tashkil etadi , bu albatta umumiy
unumdorlikni oshiradi.
Ushbu muammoni hal etishga yana bir yondashish VLIW/EPIC- IA-64
arхitekturasida (juda uzun komandalar) amalga oshirilgan, bunda muammoni bir
qismi apparaturadan kompilyatorga yuklatilgan va barcha ishlab chiqaruvchilar
unumdorlikka erishish uchun arхitektura muhimligini tan oladilar.
Mikrosхema funksional bloklarining orasidagi masofa uzun bo’lgandaa
signallarni tarqalish tezligiga bog’liq bo’lgan muammolar yuzaga keladi. Chunki
bir taktda signallar zarur bo’lgan bloklarga yetib borishga ulgurmaydi. Ushbu
muammoni yechish uchun ALPHA mikroprotsessorlarga “klasterlar” kiritilgan.
Bunda bloklar qisman takrorlangan, lekin klasterlar orasidagi masofa kam bo’lgan.
Ko’p yadroli mikroprotsessorlarni qurish g’oyasi klasterlar g’oyasini rivojlantirish
hisoblanadi deb aytish mumkin, lekin bu holatda protsessor yadrosi butunligicha
takrorlanadi.
Do'stlaringiz bilan baham: |