Katta uzunlikga ega bo‘lgan buyruqli so‘zlarga ishlov berish (VLIW) bir taktda ishlov beriladigan buyruqlar sonini sezilarli darajada oshirish imkoniyatini yaratadi. Bunday buyruqlar bir nechta qisqa buyruqlar ko‘rinishida ifodalanishi mumkin. Bu qisqa buyruqlarni bajarish uchun bir nechta parallel ravishda ishlaydigan funksional bloklar talab etiladi. Bunda, SIMD-protsessorlaridan farqli tomoni shundan iboratki, VLIW-protsessorlar bir takt davomida bir nechta bajarilishi bo‘yicha har xil buyruqlarga ishlov beradi [25].
VLIW-texnologiyasining asosiy g‘oyasi shundan iboratki, kompilyator birinchidan kirishdagiboshlang‘ich dasturnitekshiradi, birvaqtdabaravariga, ammo har xil bloklarda bajariladigan buyruqlarni qidiradi. Keyin kompilyator bu kabi o‘xshash buyruqlarni paketlarga birlashtiradi. Har bir paket bitta buyruqdan iborat. Bu buyruq o‘z navbatida bir vaqtda ammo protsessorning har xil bloklarida
151
bajariladigan oddiy buyruqlardan iborat. Bu jarayonda oddiy buyruqlarning soni
protsessorda mavjud bo‘lgan funksional bloklar soniga teng. 10.7-rasmda TMS320S62x protsessorida ma’lumotlarga ishlov berish sxemasi ko‘rsatilgan.
Dasturni saqlash uchun ichki xotira (kesh)
8х32 bitli buyruq
Bajariluvchi paketlar uchun buffer xotira
"А" blok "В" blok
L1 S1 M1 D1 L 2 S2 M2 D2
32-bit 32-bit
Ichki OXQ ma'lumotlari
10.7-rasm. VLIW-protsessorini ma’lumotlar oqimi sxemasi
Protsessor ikkita ma’lumotlar uzatish taktiga va sakkizta bir biriga bog‘liq bo‘lmagan ikkita bog‘lama ko‘rinishida shakllangan (blok «A» va blok «B») bloklardan iborat. Ishlov berish kompilyator tomonidan buyruqlar paketining shakllanishidan va ichki kesh-xotira paketidagi buyruqlarni o‘qishdan boshlanadi. Paket uzunligi sakkizta buyruqdan iborat. Har bir buyruqning uzunligi 32 bit. 256 bit miqdorli paket bufer yordamida sakkizta turli vazifalarni bajaradigan operatsion bloklarga uzatiladi: L1, L2 – mantiqiy amallarni bajaradigan bloklar, S1, S2 – surish sxemalari, M1, M2 – ko‘paytirgichlar, D1, D2 – manzilli elementlar. Natijalar ichki ma’lumotlarning tezkor xotira qurilmasida (TXQ) joylashadi va ishlov berishning keyingi taktlarida ishlatilishi mumkin.
Qisqa buyruqlar paketini dastlabki tayyorlash maqsadida kompilyatorlardan foydalanish tamoyili juda murakkab “intellektual” kompilyatorlar mavjud bo‘lishini
152
talab etadi. Ammo bu vaziyat parallel ravishda ishlov berishni buyruqlar darajasida
ta’minlaydi va ma’lumotlarga ishlov berish tezligi oshadi, ayniqsa dasturning sodda buyruqlari uchun.
Superskalyar ishlov berish – bu ham bir takt davomida baravariga bir vaqt birligida ishlov beriladigan buyruqlar sonini oshirish texnologiyasidir. Superskalyar protsessorlari baravariga bir nechta beyruqlarga parallel ravishda ishlov berish uchun mo‘ljallangan bir nechta operatsion bloklardan iborat. Superskalyar ishlov berish – bu SIMD va VLIW texnologiyalarining birlashtirish jarayonidir. 10.8-rasmda TS201S markali (TigerSHARC modeli) supeskalyar SP ishlov berish bog‘lamalari sxemasining tuzilishi va ma’lumotlar uzatish kanallari ko‘rsatilgan. Ma’lumotlar uzatish 128rli uchta takti, ikkita bir biriga bog‘lanmagan operatsion bloklar (AMQ, ko‘paytirgich, surish sxemasi), 32rli manzillashtirilgan ma’lumotlarni uzatishga mo‘ljallangan uchta kanal (sxemada ko‘rsatilmagan). SP 8,16 va 32 bit formalarida ishlaydi [19].
Ichki xotira М0 8 Мб
Ichki xotira М1 8 Мб
Ichki xotira М2 8 Мб
МlSh М0 (128р)
МlSh М1 (128р) Ma’lu-МlSh М2 (128р) motlar
128r 128r
Ko’paytiruvchi
128r 128r
Ko’paytiruvchi
"А"
Registrlar
"В"
Registrlar АМQ
surish sxemasi
nх32
Buyruqlarni strukturalash va uzatish
surish sxemasi
nх32
10.8-rasm. TS-201S protsessorida superskalyar arxitektura va ma’lumotlar oqimi
153
Har bir taktda xotiradan 4 gacha 32 bitli buyruqlar o‘qiladi. Bu buyruqlar bir
birlariga bog‘liq bo‘lmagan holda operatsion bloklarga uzatiladi. Operatsion bloklar SIMD arxitekturasi bo‘yicha tuzilgan (bitta buyruqlar oqimi – ko‘plik ma’lumotlar oqimi). Operatsion bloklardan har biri o‘ziga tegishli «A» va «B» registrlar bloklari bilan ishlaydi. Buyruqlar bir birlariga bog‘lanmagan ravishda bir vaqtni o‘zida ikkala bloklarga xamda har bitta blokga alohida uzatilishi mumkin. Registrlar bloklari uchta ma’lumotlarni uzatish taktlari bilan shunday bog‘langanki, ular bir vaqt birligida baravariga protsessor ishlashining bir takti davomida xotiradan ikkita sonni xotiradan o‘qishi va xotiraga bitta natijani yozishi mumkin. Bu SRIB bazaviy amallariga xos – ikkita kiruvchi qiymat va bitta chiquvchi qiymat.
Protsessor bir takt davomida sakkiztagacha qo‘shish/ayirish amallarini va sakkizta ko‘paytirish/yig‘ish amallarini 16 bitli kiruvchi ma’lumotlar bilan bajarishi mumkin (yoki ikkita 32 bitli kiruvchi ma’lumolar bilan ko‘paytirish/yig‘ish amallari).
Turli xil ma’lumotlarga ishlov berish va katta buyruqli so‘zlarni operatsion bloklarga mo‘ljallangan alohida buyruqlarga taqsimlash yoki bo‘lish jarayonlari protsessorga buyruqlar darajasida parallel ravishda ishlov berish imkoniyatini yaratadi. Protsessorning bu kabi imkoniyatlaridan samarali foydalanish kompilyator buyruqlarini dastur bajarilishidan oldin rejalashtirish va boshqarish mexanizmlariga bog‘liq.
Yuqorida ko‘rib chiqilgan signal protsessorlarining arxitekturaviy xususiyatlari, shuningdek konveyer va superskalyar ishlov berish nafaqat apparaturadagi signallarga va tasvirlarga raqamli ishlov berishda, balki protsessorlarning boshqa turdagi arxitekturalarida ham, ayniqsa Pentium, Power PC protsessorlarida xam keng qo‘llaniladi.
Do'stlaringiz bilan baham: |