3.4. SIMD sinfi hisoblash tizimlari.
SIMD - tizimlar protsessor soni ko’p bo’lgan va unumdorlikning GFLOPS tartibiga erishgan birinchi hisoblash tizimlaridandir. Flinn klassifikatsiyasiga asosan SIMD sinfiga ko’pgina ma’lumotlar elementlariga parallel ishlov beriladi, biroq bir turdagi ishlov beradigan hisoblash tizimlari kiradi. SIMD - tizimlari ko’p jihatdan klassik kompyuterlarga o’xshaydi: ularda dastur buyruqlarini ketma - ket bajarilishini ta’minlaydigan xuddi shunday bitta boshqarish qurilmasi bor. Bunda faqat buyruqni bajarish vaqtidagi farq, ya’ni umumiy buyruq har biri o’zining ma’lumotiga ishlov beruvchi ko’pgina protsessorga uzatiladi.
SIMD sinfini vektorli (vektor-konveyerli), matritsali, assotsiativ, sistologik va VLIW - hisoblash tizimlari tashkil qiladi.
Vektor-konveyerli hisoblash tizimlari
Ilmiy fan rivojlangani sari hisoblash unumdorligini oshirish masalasi ko’tarilyapti, chunki ko’p masalalar katta hisoblash quvvatini talab qilyapti. Bunday masalalarga suriluvchi vergulli formadagi sonning katta muntazam massivlariga ishlov berishga xos haqiqiy ob’ektlarni va jarayonlarni modellashtirish masalalari kiradi. Bunday massivlar matritsa va vektor ko’rinishida bo’ladi, ularga ishlov berish algoritmlari esa matritsali amallar terminida ta’riflanadi. Ma’lumki, asosiy matritsali amallar boshlang’ich matritsaning juft elementlari ustidagi parallel bajarish mumkin bo’lgan bir turdagi amallarga keltiriladi. Skalyar amallarga moslangan universal kompyuterlarda matritsalarga ishlov berish ketma - ket bajariladi. Katta o’lchamdagi massivlarda matritsa elementlariga ketma - ket ishlov berish juda ko’p vaqtni talab qiladi va shu boisdan ko’rilayotgan masalalar sinfi uchun universal mashinalar samarasiz hisoblanadi. Massivlarga ishlov berish uchun yagona buyruq bilan massivning hamma elementlari ustida birdaniga amallarni bajarish imkonini beruvchi hisoblash vositalari — vektorli ishlov beruvchi vositalar kerak bo’ladi.
Vektorli ishlov berishni qo’llashga tasvirlarga va signallarga raqamli ishlov berishni misol qilib keltirish mumkin.
Vektorli ishlov berish vositalarida vektor deb, muntazam ravishda xotirada joylashtirilgan bir turdagi ma’lumotlarning bir o’lchovli massivi (odatda suriluvchi vergulli shaklda) tushuniladi. Agar, ko’p o’lchovli massivlarga ishlov berilsa, ularga ham vektor sifatida qaraladi. Agar ko’p o’lchovli massivlarni mashina xotirasida qanday saqlanishini hisobga olsak, bunday yondashuvga yo’l qo’yish mumkin.
3.14-rasm. Ma’lumotlarni xotiraga joylashtirish
4x5 o’lchamdagi to’g’riburchakli matritsadan tashkil topgan A ma’lumotlar massivi bo’lsin (3.14, a-rasm). Matritsani xotiraga joylashtirishda, uning hamma elementlari yacheykaga ketma — ket manzillar bilan kiritiladi, bunda ma’lumotlar qator ketidan qator yoki ustun ketidan ustun bo’lib yozilishi mumkin (3.14, b-rasm). Ko’p o’lchovli massivlarning xotirada bunday joylashishini hisobga olinsa, ularni vektor sifatida ko’rish va bir o’lchovli ma’lumotlar massiviga (vektorga) ishlov berishga moslangan hisoblash vositalariga oriyentir olish mumkin.
Vektorli protsessorlar arxitekturasi
Vektorli protsessor — bu ayrim buyruqlarning operandlari sifatida tartibga keltirilgan ma’lumotlar massivi — vektorlar bo’lishi mumkin bo’lgan protsessor. Vektorli protsessor ikki xil variantda bo’lishi mumkin. Birinchisida universal kompyuterga qo’shimcha blok, ikkinchi variantda esa mustaqil hisoblash tizimining asosi bo’lishi mumkin.
Vektorli protsessorlarning eng keng tarqalgan arxitekturasini uchta guruhda keltirish mumkin:
— konveyerli AMQ (arifmetik — mantiqiy qurilma);
— AMQ massiv;
— protsessor elementlarining massivi (matritsalihisoblash tizimi).
Vektorli protsessor tushunchasi birinchi ikkita guruhga tegishli. Bu ikkita kategoriya 3.15- rasmda ko’rsatilgan.
Konveyerli AMQ variantida (3.15, a-rasm), vektor elementlariga ishlov berish suriluvchi vergulli (SV) sonlar uchun konveyerli AMQ da amalga oshiriladi.
Vektor elementlari ustida birdaniga bajariladigan amallarni parallel ravishda ishlatiladigan, har biri bir juft elementga javob beradigan, bir nechta AMQ yordamida amalga oshirish mumkin (3.15, b-rasm).
3.15-rasm. Vektorli hisoblashlarni tashkil etish variantlari
SV ko’rinishidagi sonlar ustidagi amallarni murakkab bo’lishiga qaramasdan, alohida qadamlarga bo’lish mumkin. Shunda ikkita sonni qo’shish to’rtta bosqichda bajarilishi mumkin: tartiblarni qiyoslash, sonlarning kichigidan mantissa bo’yicha surilish, mantissani qo’shish va natijani normallashtirish (3.16, a-rasm). Har bir bosqich konveyerli AMQ ning alohida pog’onasi yordamida amalga oshirilishi mumkin (3.16, b-rasm). Vektorning navbatdagi elementi AMQ ning pog’onasi bo’shashi bilan konveyerning kirishiga beriladi (3.16, c-rasm). Bunday variantning vektorlarga ishlov berish uchun yaroqli ekanligi aniqdir.
3.16-rasm. Vektorlarga ishlov berish strukturasi
Agar parallel ishlatiladigan AMQ lar ham konveyerli bo’lsa, u holda konveyerlashtirishning yana bir pog’onasi mavjud. Bu g’oya amalga oshirilgan hisoblash tizimlarini vektor — konveyerli tizim deyiladi. Universallikni ta’minlash maqsadida tarkibiga skalyar protsessor qo’shilgan vektor–konveyerli tizimlar super–kompyuter nomi bilan taniqli.
Matritsali hisoblash tizimlarining vazifasi ko’p jihatdan vektorli hisoblash tizimlariga o’xshab, katta ma’lumot massivlariga ishlov berishdir. Matritsali tizimlar asosida protsessor elementlarining (PE) muntazam massividan tashkil topgan matritsali protsessor yotadi. Bir qarashda bu turdagi tizimlarni tashkil qilish juda soddadir. Buyruqlar oqimini ishlab chiqaruvchi umumiy boshqarish qurilmasiga va parallel ishlab, har biri o’z ma’lumot oqimiga ishlov beradigan ko’p sonli PE ga ega. Ammo amaliyotda, keng doiradagi masalalarni yechishda tizimning yetarli darajada samaradorligini ta’minlash uchun protsessor elementlari orasidagi aloqani shunday tashkil qilish kerakki, protsessorlarni imkon qadar to’liq yuklash kerak. Aynan PElar orasidagi bog’lanishning xarakteri tizimning har xil xususiyatini aniqlaydi.
Matritsali va vektorli tizimlar orasida jiddiy farq bor. Matritsali protsessor matritsaga mantiqan birlashtirilgan va SIMD-uslubida ishlaydigan ko’plab o’xshash bo’lgan funksional bloklarni integrallashtiradi (butunlashtiradi). Bu bloklar mantiqan matritsaga birlashtirilgan bo’lib, sinxron ishlaydi, ya’ni hammasi uchun faqat bitta buyruqlar oqimi qatnashadi. Vektorli protsessorda ma’lumotlar vektoriga ishlov beruvchi buyruqlar kiritilgan, bu o’z o’rnida funksional bloklardan tuzilgan konveyerni samarali yuklash imkonini beradi. O’z navbatida, vektorli protsessorlardan foydalanish osonroq, chunki vektorlarga ishlov beruvchi buyruqlar inson uchun SIMD qaraganda dasturlashning qulay modellaridan biridir.
3.17-rasm. Matritsali SIMD-tizimining umumlashtirilgan modeli
Matritsali hisoblash tizimlarining arxitekturasini 3.17-rasmda ko’rsatilganidek ifodalash mumkin. Aslida ko’plab ma’lumotlar elementiga parallel ishlov berish protsessor massivi tomonidan amalga oshiriladi. Protsessor massividagi ma’lumotlarga ishlov berishni boshqaruvchi yagona buyruqlar oqimi protsessor massivining kontrolleri tomonidan ishlab chiqaradi. Kontroller ketma - ketlikdagi dastur kodini bajaradi, shartli va shartsiz o’tish amallarini amalga oshiradi, protsessor massiviga buyruqlarni, ma’lumotlarni va boshqarish signallarini uzatadi. Buyruqlarga protsessor tomonidan qat’iy sinxronlashtirish rejimida ishlov beriladi. Boshqarish signallari buyruqlarni sinxronlashtirish va qayta jo’natish uchun ishlatiladi, hamda hisoblash jarayonini boshqarish, xususan protsessor massivlari qanday amallarni bajarishi kerak, qandaylarni bajarishi kerak emasligini aniqlaydi. Kontrollerlardan tarqatishning keng eshittirishli shinasi orqali buyruqlar, ma’lumotlar va boshqarish signallari protsessor massiviga uzatiladi. Shartli o’tish amallarining bajarilishi hisoblashning natijasiga bog’liq bo’lgani uchun protsessor massividagi ishlov berish natijalari kontrollerlarga natijalar shinasidan o’tayotganda uzatiladi.
SIMD — tizimlarda vektor-konveyerli hisoblash tizimlarini ko’lash Flinn klassifikatsiyasiga asosan massivlarga ishlov berish uchun yagona buyruq bilan massivning hamma elementlari ustida birdaniga amallarni bajarish vektorli ishlov beruvchi vositalar orqali amalga oshiriladi.
Vektorli ishlov berishni qo’llanilishida tasvirlarga xamda signallarga raqamli ishlov berishda protsessorning arifmetik — mantiqiy qurilmasida, matritsali hisoblash tizimi suriluvchi vergulli sonlar uchun konveyerli arifmetik — mantiqiy qurilmada amalga oshiriladi.
Do'stlaringiz bilan baham: |