ko'rsatilgan sxemaga ega bo'lib, haddan tashqari holatda bitta tsiklda sakkizta
operatsiyani bajarishi va mavjud bo'lgan superscalar chiplariga qaraganda
pastroq soat tezligida ishlashi mumkin. Qo'shimcha funktsional bloklar chipni
haddan tashqari murakkablashtirmasdan ishlashni yaxshilaydi (resurslarning
tortishuvlarini kamaytirish orqali). Biroq, bu kengayish jismoniy imkoniyatlar
bilan cheklangan: funktsional bloklarning ro'yxatga olish fayliga bir vaqtning
o'zida kirishini ta'minlash uchun zarur bo'lgan o'qish / yozish portlari soni va
funktsional bloklar sonining ko'payishi bilan ularning soni geometrik ravishda
o'sib boradigan o'zaro bog'liqliklar. Bundan tashqari, kompilyator har bir
blokning yuklanishini ta'minlash uchun dasturni kerakli darajaga parallel qilishi
kerak - bu, menimcha, ushbu me'morchilikning qo'llanilishini cheklaydigan eng
muhim nuqta. Ushbu gipotetik yo'riqnomada sakkizta operatsion maydon
mavjud bo'lib, ularning har biri an'anaviy uchta operandli RISC-ga o'xshash
ko'rsatmani bajaradi = - -
(klassik MOV AX BX buyrug'i kabi) ) va ma'lum bir
funktsiya blokini minimal dekodlash bilan to'g'ridan-to'g'ri boshqarishi mumkin.
Aniqroq qilib, IA-64 ni qisqacha VLIW dasturining misollaridan biri sifatida
ko'rib chiqing. Vaqt o'tishi bilan ushbu arxitektura x86 (IA-32) ni nafaqat
bozorda, balki umuman sinf sifatida o'rnini bosishga qodir, garchi bu allaqachon
uzoq kelajakning taqdiri bo'lsa. Shunga qaramay, IA-64 uchun juda murakkab
kompilyatorlarni yaratish zarurati va optimallashtirilgan mashina kodlarini
yaratish qiyinligi IA-64 assambleyasida ishlaydigan mutaxassislarning
etishmovchiligini keltirib chiqarishi mumkin, ayniqsa dastlabki bosqichlarda,
eng murakkablari sifatida. IA-64 ning RISC orqali amalga oshirgan eng
radikal yangiligi - bu aniq ko'rsatma paralelligi (EPIC), bu juda uzun buyruq
so'zlari arxitekturasini eslatuvchi ba'zi elementlarni taqdim etadi, ular to'plamlar
deb nomlanadi. Shunday qilib, har ikkala arxitekturada aniq parallellik
allaqachon funktsional ijro etuvchi qurilmalarning (yoki funktsional modullar
yoki oddiygina funktsional qurilmalar, FU) bir vaqtning o'zida ishlashini
boshqaradigan buyruqlar darajasida taqdim etilgan. Bunday holda, to'plam
128bit uzunlikda va har biri 41bit uzunlikdagi buyruqlar uchun 3 ta maydonni
va 5-bitli shablon uyasini o'z ichiga oladi. Ko'prik buyruqlari turli xil FUlar
tomonidan parallel ravishda bajarilishi mumkin deb taxmin qilinadi. Shablon
maydonida bir xil to'plamdan buyruqlarni parallel bajarilishiga xalaqit
beradigan mumkin bo'lgan o'zaro bog'liqliklar aks etadi. Shu bilan birga, turli
xil to'plamlardan buyruqlarni parallel ravishda bajarish mumkin emas. Garchi,
har bir soat tsikli uchun oltita ko'rsatmaga ega bo'lgan, bajarilishning e'lon
qilingan parallelligi darajasiga asoslanib, kamida ikkita bog'lanish bir vaqtning
o'zida bajarilishi mumkin deb taxmin qilish mantiqan to'g'ri keladi. Shablon
to'g'ridan-to'g'ri to'plamning uyalarida qaysi turdagi buyruqlar mavjudligini
ko'rsatadi. Umuman olganda, bir xil turdagi buyruqlar bir nechta funktsional
birlik turlarida bajarilishi mumkin. Shablon uyani belgilaydigan to'xtash
joylarini belgilaydi, buyruqlar bajarilishi boshlangandan so'ng keyingi
maydonlarning ko'rsatmalari bajarilishini kutishi kerak. Paketdagi uyalarning
tartibi (o'ngda muhimroq) bayt tartibiga (Kichik Endian) to'g'ri keladi, shu bilan
birga xotiradagi ma'lumotlar Big Endian rejimida (chap tomonda muhimroq)
joylashgan bo'lishi mumkin, ya'ni foydalanuvchi maskasi registrida maxsus bit
bilan o'rnatiladi.
Do'stlaringiz bilan baham: