O`zbekisto n respublikasi axborot tex n ologiyalari va kommu


II BOB ASOSIY QISM. VLIW protsessorining mantiqiy qatlami



Yüklə 0,88 Mb.
Pdf görüntüsü
səhifə6/7
tarix21.05.2023
ölçüsü0,88 Mb.
#111754
1   2   3   4   5   6   7
Снимок экрана 2023—01—29 в 20.44.34

II BOB ASOSIY QISM. VLIW protsessorining mantiqiy qatlami
2.1 VLIW kompilyatori ishlashi.
VLIW protsessorining mantiqiy qatlami.Quyida ko`rsatilgan sxemaga ega
bo`lgan VLIW protsessori chegaralangan holatda har bir tsiklda sakkizta
operatsiyani bajarishi va mavjud superskalyar chiplarga qaraganda ancha past
soat tezligida ishlashi mumkin. Funktsiya bloklarini qo`shish chipga ortiqcha
murakkablik qo`shmasdan ishlashni yaxshilashi mumkin (resurslarni
taqsimlashda nizolarni kamaytirish orqali). Biroq, bunday kengayish jismoniy
imkoniyatlar bilan cheklangan: funktsional bloklarning registr 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 boruvchi munosabatlar. Bundan tashqari, kompilyator har bir
blokning yuklanishini ta`minlash uchun dasturni kerakli darajaga
parallellashtirishi kerak - bu, menimcha, ushbu arxitekturaning qo`llanilishini
cheklaydigan eng muhim nuqta.Ushbu faraziy ko`rsatma sakkizta operatsiya
maydoniga ega bo`lib, ularning har biri = — — (klassik MOV AX BX
yo`riqnomasi kabi) tipidagi an`anaviy uch operandli RISC ko`rsatmalarini
bajaradi va minimal dekodlash bilan ma`lum bir funktsiya blokini bevosita
boshqarishi mumkin. Aniqroq bo`lish uchun qisqacha IA-64 ni VLIW joriy etish
misollaridan biri sifatida ko`rib chiqing. Vaqt o`tishi bilan bu arxitektura x86
(IA-32) ni nafaqat bozorda, balki umuman sinf sifatida almashtirishga qodir,
garchi bu allaqachon uzoq kelajakning taqdiri. Shunga qaramay, IA-64 uchun
juda murakkab kompilyatorlarni ishlab chiqish zarurati va optimallashtirilgan
mashina kodlarini yaratishdagi qiyinchiliklar IA-64 assemblerida ishlaydigan
mutaxassislarning etishmasligiga olib kelishi mumkin, ayniqsa dastlabki
bosqichlarda, eng murakkablari sifatida bo`ladi.
RISC bilan solishtirganda IA-64 ning eng dramatik yangiligi bu aniq
ko`rsatmalar parallelizmi (EPIC) bo`lib, u to`plamlar deb ataladigan juda uzun
ko`rsatmalar so`zi arxitekturasini eslatuvchi ba`zi elementlarni taqdim etadi.
Shunday qilib, ikkala arxitekturada aniq parallelizm allaqachon funktsional ijro
etuvchi qurilmalarning (yoki funktsional modullar yoki oddiygina funktsional
birliklar, FU) bir vaqtning o`zida ishlashini boshqaruvchi buyruqlar darajasida
taqdim etilgan. Bunday holda, ulanish uzunligi 128 bit bo`lib, har biri 41 bit
uzunlikdagi buyruqlar uchun 3 ta maydon va 5 bitli naqsh uyasi o`z ichiga oladi.
Bog`lanish buyruqlari turli FUlar tomonidan parallel ravishda bajarilishi
mumkin deb taxmin qilinadi. Bir xil to`plam buyruqlarining parallel
bajarilishiga to`sqinlik qiladigan mumkin bo`lgan o`zaro bog`liqliklar shablon
maydonida aks ettirilgan. Biroq, turli to`plamlarning buyruqlarini parallel
ravishda bajarish mumkin emasligi aytilmagan. Har bir tsiklda oltita
ko`rsatmaga yetadigan bajarilishning e`lon qilingan darajasiga asoslanib, kamida
ikkita to`plam bir vaqtning o`zida bajarilishi mumkin deb taxmin qilish
mantiqan to`g`ri keladi. Shablon to`plamning uyalarida daturdagi buyruqlar
mavjudligini ko`rsatadi. Umuman olganda, bir xil turdagi ko`rsatmalar bir
nechta funktsional birliklarda bajarilishi mumkin. Shablon, buyruqlar
bajarilgandan so`ng, keyingi maydonlarning ko`rsatmalari tugashini kutishi
kerak bo`lgan uyani belgilaydigan to`xtash joylarini belgilaydi. To`plamdagi
slotlarning tartibi (o`ngda muhimroq) baytlar tartibiga ham mos keladi (Little
Endian), ammo xotiradagi ma`lumotlar Big Endian rejimida ham joylashishi
mumkin (chapda muhimroq), bu foydalanuvchi maskalari registridagi maxsus


1
0
bit tomonidan o`rnatiladi.Registrni aylantirish qaysidir ma`noda registr nomini
o`zgartirishning alohida holati bo`lib, u ko`plab zamonaviy superskalar
protsessorlarda tartibsiz spekulyativ («spekulyativ») buyruqlar bajarilishida
qo`llaniladi. Ulardan farqli o`laroq, IA-64 da registrlarning aylanishi dasturiy
ta`minot tomonidan boshqariladi. IA-64-da ushbu mexanizmdan foydalanish
kichik dasturlarga qo`ng`iroq qilish va ulardan qaytishda ko`p sonli registrlarni
saqlash / tiklash bilan bog`liq bo`lgan qo`shimcha xarajatlardan qochadi, ammo
agar kerak bo`lsa, tegishli ko`rsatmalarni aniq kodlash orqali statik registrlar hali
ham saqlanishi va tiklanishi kerak. Aytgancha, IA-64 qo`mondon tizimi juda
noyobdir. Asosiy xususiyatlar qatorida buyruqlarning spekulyativ bajarilishi va
predikatlardan foydalanishni ta`kidlash kerak - IA-64 ning eksklyuzivligini
aniqlaydigan ushbu kichik to`plam. Bunday buyruqlarning barchasini registrlar
stegi bilan ishlash, butun son buyruqlari, taqqoslash va predikatlar bilan ishlash
buyruqlari, xotiraga kirish buyruqlari, o`tish buyruqlari, multimedia buyruqlari,
registrlar o`rtasida uzatish buyruqlari, “turli xil” (satrlar ustida amallar va
hisoblash Worddagi birliklar soni) va suzuvchi nuqta ko`rsatmalari. VLIW
protsessorining apparat ta`minoti juda oddiy: protsessor avtobusiga ulangan bir
nechta kichik funksiya modullari (qo`shimchalar, ko`paytirishlar, filiallar va
boshqalar) va bir nechta registrlar va kesh bloklari. VLIW arxitekturasi ikki
sababga ko`ra yarimo`tkazgich sanoatini qiziqtiradi. Birinchisi, endi chipda
ko`proq joy, masalan, o`tishni bashorat qilish bloki uchun emas, balki bloklarni
qayta ishlash uchun ajratilishi mumkin. Ikkinchi sabab shundaki, VLIW
protsessori yuqori tezlikda bo`lishi mumkin, chunki maksimal ishlov berish
tezligi faqat funktsional modullarning ichki xususiyatlari bilan belgilanadi.
VLIW ma`lum sharoitlarda eski CISC ko`rsatmalarini RISCga qaraganda
samaraliroq amalga oshirishi ham jozibali. Buning sababi, VLIW protsessorini
dasturlash mikrokod yozishga juda o`xshaydi (fizik qatlamni har tomonlama
dasturlash, mantiqiy shlyuzlarning ishlashini ma`lumotlar shinalari bilan
sinxronlashtirish va funktsional modullar o`rtasida ma`lumot uzatishni
boshqarish imkonini beruvchi o`ta past darajadagi til). Kompyuter xotirasi
qimmat bo`lgan kunlarda dasturchilar uni STOS va LODS (xotiraga bilvosita
yozish/o`qish) kabi x86 protsessorining murakkab ko`rsatmalariga murojaat
qilish orqali saqlab qolishgan. CISC faqat o`qish uchun xotiraga (ROM) qattiq
kodlangan va protsessor tomonidan bajariladigan proshivka kabi ko`rsatmalarni
amalga oshiradi. RISC arxitekturasi mikrokoddan foydalanishni butunlay yo`q
qiladi, ko`rsatmalarni faqat apparatda amalga oshiradi - aslida RISC
protsessorining ko`rsatmalari CISCda ishlatiladigan mikrokod bilan deyarli bir
xil. VLIW buni boshqacha qiladi - u protsessordan mikrokod yaratish tartibini
(va umuman bajarilish bosqichini) olib tashlaydi va uni kompilyatorga,
bajariladigan kodni yaratish bosqichiga o`tkazadi. Natijada, STOS kabi x86
protsessor ko`rsatmalarini emulyatsiya qilish juda samarali, chunki protsessor
bajarish uchun tayyor makroslarni oladi. Ammo shu bilan birga, bu ham ba`zi
qiyinchiliklarni keltirib chiqaradi, chunki etarlicha samarali mikrokod yozish
juda ko`p vaqt talab qiladigan jarayondir. Faqatgina "aqlli" kompilyator VLIW
arxitekturasining hayotiyligini ta`minlay oladi, bu esa bu ishni o`z zimmasiga
oladi. Aynan shu holat VLIW arxitekturali kompyuterlardan foydalanishni
cheklaydi: hozirgacha ular asosan vektor (ilmiy hisoblar uchun) va signal
protsessorlarida qo`llanilishini topdilar. VLIW kompilyatori qanday
ishlaydi.Umumiy maqsadli hisob-kitoblarni amalga oshirish uchun ishlatilishi
mumkin bo`lgan arxitektura sifatida VLIWga yaqinda yangilangan qiziqish
VLIW kompilyatsiya texnikasining rivojlanishiga sezilarli turtki berdi. Bunday
kompilyator mustaqil operatsiyalar guruhlarini juda uzun ko`rsatmalar so`zlariga
shunday jamlaydiki, ular funksiya modullari tomonidan tez ishga tushirilishi va
samaraliroq bajarilishi mumkin. Kompilyator avval ma`lumotlar o`rtasidagi
barcha bog`liqliklarni aniqlaydi va keyin ularni qanday yechish kerakligini


1
0
1
aniqlaydi. Ko`pincha, bu butun dasturni qayta tartiblash orqali amalga oshiriladi
- uning turli bloklari bir joydan ikkinchisiga ko`chiriladi. Ushbu yondashuv
dasturni bajarish vaqtida bog`liqlikni aniqlash uchun maxsus apparat
yechimidan foydalanadigan superskalar protsessorda qo`llaniladigan usuldan
farq 
qiladi 
(kompilyatorlarni 
optimallashtirish, 
albatta, 
superskalar
protsessorning ish faoliyatini yaxshilaydi, lekin uni "bog`lab qo`ymaydi".
ularga). Aksariyat superskalar protsessorlar faqat asosiy dastur bloklari ichida
bog`liqliklarni aniqlashi va parallel bajarilishini rejalashtirishi mumkin (ular
ichida uzilish yoki mantiqiy filialni o`z ichiga olmaydi, faqat oxirida ruxsat
etilgan ketma-ket dastur bayonotlari guruhi). Ba`zi qayta tartiblash tizimlari
skanerlash maydonini asosiy bloklardan tashqarida kengaytira boshladi. Ko`proq
parallellikni ta`minlash uchun VLIW kompyuterlari ushbu operatsiyalarni bir xil
uzun ko`rsatmada joylashtirish uchun turli baza bloklaridagi operatsiyalarni
kuzatishi kerak (ularning "ko`lami" superskalar protsessorlarga qaraganda
kengroq bo`lishi kerak) - bu "marshrut" bo`ylab yotqizish orqali ta`minlanadi.
dastur (kuzatuv). Kuzatish - dastur orqali ma`lum bir dastlabki ma`lumotlar
to`plami uchun eng maqbul yo`nalish (to`g`ri natijani ta`minlash uchun, bu
ma`lumotlarning kesishishi kafolatlanmaydi), ya`ni. parallel bajarish uchun mos
bo`limlar bo`ylab "o`tadigan" marshrut (bu bo`limlar boshqa narsalar qatori
dasturning boshqa joylaridan kod o`tkazish yo`li bilan shakllanadi), shundan
so`ng ularni uzoq ko`rsatmalarga to`plash va ularni bajarish uchun topshirish
qoladi. Hisoblash rejalashtiruvchisi optimallashtirishni uning alohida asosiy
bloklari emas, balki butun dastur darajasida amalga oshiradi. VLIW uchun,
shuningdek, RISC uchun dasturda tarmoqqa bo`linish uning samarali
bajarilishiga to`sqinlik qiladigan "dushman" hisoblanadi. RISC filiallarni
bashorat qilish uchun apparat yechimidan foydalansa-da, VLIW uni
kompilyatorga qoldiradi. Kompilyatorning o`zi dasturni profillash orqali
to`plangan ma`lumotlardan foydalanadi, garchi kelajakdagi VLIW protsessorlari
kompilyatorga to`g`ridan-to`g`ri statistik ma`lumotlarni to`plash bilan
ta`minlaydigan kichik apparat kengaytmasiga ega bo`lishi kutilmoqda, bu
o`zgaruvchilar to`plami bilan tsiklik ishlashda printsipial ahamiyatga ega.
Kompilyator eng mos marshrutni bashorat qiladi va uni bitta katta asosiy blok
sifatida ko`rib chiqishni rejalashtiradi, so`ngra bu jarayonni undan keyin paydo
bo`lgan barcha boshqa dastur tarmoqlari uchun takrorlaydi va dasturning
oxirigacha davom etadi. Shuningdek, u kodni tahlil qilishda dastur siklini ochish
va IF-transformatsiyasi kabi boshqa “aqlli qadamlar”ni qanday bajarishni biladi,
bunda barcha mantiqiy o`tishlar kuzatilayotgan bo`limdan vaqtinchalik olib
tashlanadi. RISC faqat filiallarga qarashi mumkin bo`lgan hollarda, VLIW
kompilyatori uni filial aniqlanmaguncha (iz bo`yicha) bir joydan ikkinchi joyga
ko`chiradi, lekin kerak bo`lganda oldingi dastur holatiga qaytish imkoniyatini
beradi. Rasmiy ravishda, RISC protsessoriga hech narsa to`sqinlik qilmaydi,
shunchaki narx/samaradorlik nisbati juda yuqori bo`lib chiqadi.
VLIW protsessoriga qo`shilgan tegishli apparat kompilyatorga biroz yordam
berishi mumkin. Masalan, bir nechta filiallarga ega bo`lgan operatsiyalar bitta
uzun ko`rsatmaga kiritilishi mumkin va shuning uchun bitta mashina tsiklida
bajarilishi mumkin. Shuning uchun oldingi natijalarga bog`liq bo`lgan shartli
operatsiyalarni bajarish apparatda emas, balki dasturiy ta`minotdaamalga
oshirilishi mumkin. Zamonaviy yuqori tezlikdagi VLIW protsessorlarini ishlab
chiquvchilar sof VLIW arxitekturasi bilan o`zlarining asl g`oyasidan chetga
chiqishni boshlaganlari allaqachon ayon bo`ldi. Intel, hech bo`lmaganda,
Itanium oilasiga klassik x86 kodini bajarish qobiliyatini saqlab qoldi, garchi
protsessor ushbu rejimda ishlayotganida, u juda katta ishlash yo`qotishlari
evaziga buni amalga oshirishga muvaffaq bo`ldi. Taxmin qilish mumkinki,
protsessor giganti dasturiy ta`minot gigantlari bosimi ostida "sof VLIW" tayanch
punktidan voz kechdi. Biroq, VLIW arxitekturasida apparat va dasturiy


0
1
0
ta`minotning o`zaro ta`sirini ta`minlashning murakkab muammosini hal qilish
jiddiy dastlabki tadqiqotlarni talab qiladi. Afsuski, hozirda dasturlarni avtomatik
parallellashtirish algoritmlari sohasidagi nazariy tadqiqotlar hali ham ko`plab
yutuqlar bilan maqtana olmaydi: qoida tariqasida, agar siz dasturni malakali
parallellashtirishingiz kerak bo`lsa (masalan, SMP optimallashtirilgan
bo`limlarni kiritish uchun). Bunga), bu eski uslubda - "qo`llar" va juda, juda
malakali dasturchilarning qo`llari bilan amalga oshiriladi. Bundan tashqari, katta
kuch sarflagan holda parallel ravishda bajarilishi mumkin bo`lgan yoki umuman
bajarib bo`lmaydigan vazifalarning katta ro`yxati uzoq vaqtdan beri
ma`lum.Misol tariqasida Transmetadan mashhur Kruzoni eslashimiz mumkin.
Uning ishlash printsipi aslida VLIW arxitekturasi uchun allaqachon tuzilgan x86
kodini dinamik qayta kompilyatsiya qilishdan iborat. Biroq, ishlab chiquvchilar
yuqori darajadagi tillar uchun samarali VLIW kompilyatorlarini yaratishda
bunday katta qiyinchiliklarga duch kelsa ham, juda xaotik va oldindan aytib
bo`lmaydigan x86 mashina kodining "kompilyatori" haqida nima deyish
mumkin, ayniqsa kompilyatsiya paytida u yana tez-tez optimallashtiriladi, lekin
butunlay boshqa me`moriy xususiyatlarga asoslangan. Haqiqatda, Kruzo faqat
x86 emulyatsiya rejimida qo`llaniladi, garchi boshqa kodlarni emulyatsiya
qilishda fundamental cheklovlar yo`q. Shu bilan birga, barcha dasturlar va
operatsion tizimning o`zi kodni o`zgartirish deb ataladigan past darajadagi
dasturiy ta`minot ustida ishlaydi va x86 kodlarini 128 bitli paketlarga tarjima
qilish uchun javobgardir. Kruzo shuningdek, arxitekturaning mantiqiy qatlami
darajasini nozik tarzda belgilaydigan o`ziga xos terminologiyadan foydalanadi,
unda to`plamlar molekulalar (Molekulalar) deb ataladi va to`plamda joylashgan
32 bitli kichik buyruqlar atomlar (Atom) deb ataladi. Har bir molekulada ikki
yoki to`rtta atom mavjud. Yo`riqnoma formatiga mos kelishi uchun, agar ikkilik
tarjima molekulaning barcha "atom" bo`shliqlarini to`ldira olmasa, bo`sh
maydonlarga operatsiya yo`qligini ko`rsatadigan bo`sh NOP kichik buyrug`i
kiritilishi kerak (No OPeration). Natijada, ikki turdagi molekulalardan
foydalanish tufayli ularning har birida bittadan ortiq NOP mavjud emas.
Hammasi bo`lib, har bir tsiklda to`rttagacha VLIW kichik buyruqlar bajarilishi
mumkin. Crusoe VLIW yadrosining muhim me`moriy xususiyatlari orasida
nisbatan qisqa quvur liniyalari ajralib turadi: butun sonning etti bosqichi va o`nta
suzuvchi nuqta quvurlari. Nazariy jihatdan, bu protsessor turli arxitekturalarni
taqlid qilish uchun ishlatilishi mumkin, ammo uning mikroarxitekturasining bir
qator xususiyatlari x86 kodini samarali emulyatsiya qilishga qaratilgan.
Prinsipial jihatdan muhim farq shundaki, x86 emulyatsiyasi bilan protsessorning
taxminan teng chastotalari sharoitida ishlashda deyarli hech qanday yo`qotish
yo`q. Birinchidan, qurilma bayt-bayt sharhlash rejimida x86 ketma-ketligini
dekodlaydi, lekin agar kod bir necha marta bajarilsa, morflash mexanizmi uni
molekulalarning optimal ketma-ketligiga aylantiradi va tarjima natijasi qayta
foydalanish uchun keshlanadi.Agar optimallashtiruvchi qat`iy vaqt cheklovlari
bilan cheklanmagan bo`lsa ham (klassik superskalar protsessorlarda bo`lgani
kabi), unda, ehtimol, ba`zi algoritmlarda ko`rsatmalarning etarlicha zich
qadoqlanishiga erishish mumkin, lekin faqat ba`zilarida. Masalan, doimiy
ravishda o`zgarib turadigan ma`lumotlar to`plamiga ega voqealarga asoslangan
dasturlarni misol qilib keltirish mumkin, ularni statik optimallashtirish juda
qiyin. Ma`lumotlar to`plamini o`zgartirish, masalan, ma`lumotlar bazalari bilan
ishlashda ishlashning halokatli pasayishiga olib keladigan vaziyatni taxmin
qilish mumkin. Hodisalarning bunday rivojlanishiga yo`l qo`ymaslikning yo`li
shunday ko`rinadi - dasturni tuzishda barcha mumkin bo`lgan ma`lumotlar
kombinatsiyalarida algoritmning barcha bo`limlarini "o`tish", har bir mumkin
bo`lgan vaziyat uchun optimal kodni yaratish. Ammo, shubhasiz, bunday
yechim kompilyatsiya qilingan dastur hajmini tushunarli darajada oshirishga
olib keladi va bajarish uchun operativ xotiradan optimal kodning turli xil


1
0
(vaziyatga ko`ra) bo`laklarini yuklash zarurati xotira quyi tizimidagi yukni
sezilarli darajada oshiradi. . Shu nuqtai nazardan, kesh xotira hajmini oshirish
mantiqiy ko`rinadi, masalan, Itanium bilan solishtirganda haqiqiy Itanium2-da -
va bu ma`lumotlar avtobusining o`tkazish qobiliyati bir necha baravar ortganiga
qaramay.Alohida qiziqish uyg`otadigan narsa, masalan, algoritmning turli
bo`limlariga tegishli bo`lgan ko`rsatmalar to`plamini bir vaqtning o`zida
bajarish uchun ularni haqiqiy natijani keyinchalik tanlash bilan birlashtirishning
nazariy imkoniyatidir. Ushbu usul ishlash nuqtai nazaridan nisbatan
soddalashtirilgan holda, filialni bashorat qilish g`oyasini yo`q qilishi mumkin,
ammo kod hajmi va xotira yuki nomutanosib ravishda oshadi. Boshqa
tomondan, agar tarmoqlanish ikkilik emas, balki kattaroq bo`lsa, unda buyruqni
dekodlash qurilmalaridagi yuk ham ortadi - yuklash ko`rsatmalarining zichligi
oshishi bilan (bitta o`rniga ikkala filial), masalan, maksimal raqobat holatlari.
asosiy avtobusning (FSB) mumkin bo`lgan tarmoqli kengligi paydo bo`lishi
mumkin - Front Side Bus) va/yoki kesh xotirasi (BSB - Back Side Bus). Shuni
ta`kidlash kerakki, klassik protsessorlarga qaraganda ko`proq hollarda
operatsiyalar ketma-ketligini oldindan rejalashtirish ma`lumotlar avtobusining
haqiqiy o`tkazish qobiliyatidan to`liq foydalanish imkonini beradi. Ammo
interfeysdan foydalanishning bunday yuqori va prognozli samaradorligi, boshqa
tomondan, tizimni yaratishga mutlaqo yangi yondashuvni talab qiladi.Ammo
VLIW arxitekturasini rivojlantirishning eng "qiziqarli" (va kontseptsiya uchun
xavfli) jihati protsessorlarning ichki arxitekturasidagi mumkin bo`lgan
o`zgarishlar bilan birgalikda statik kodni optimallashtirish muammosi deb
hisoblanishi mumkin. Ko`rinib turibdiki, bitta qurilma uchun optimallashtirilgan
dastur keyingi avlod protsessorlarida ishlash uchun mutlaqo yaroqsiz
(samarasiz) bo`lib chiqishi mumkin. Biroq, bu muammoni hal qila oladigan usul
mavjud. G`oyaning mohiyati shundan iboratki, dasturning taqsimlangan
"tarqatish to`plami" ijroga tayyor kodni o`z ichiga olmaydi va manba matnlari
emas (OSF g`oyasiga ko`ra), lekin ba`zi bir oraliq kompilyatsiya bosqichining
natijasi: tavsiflangan bog`liqliklar bilan, a. jarayonlarning rasmiylashtirilgan
tavsifi, kengaytirilgan tsikllar - umuman olganda, u kompilyator ishining
an`anaviy ravishda eng qiyin qismi deb hisoblangan narsalarni o`z ichiga oladi
va aslida uning ish sifatini belgilaydi. Dasturni o`rnatish vaqtida o`rnatuvchi
ma`lum bir protsessorga xos kompilyatorni chaqiradi, bu oraliq kodni
bajariladigan kodga aylantiradi, bundan tashqari, ushbu protsessor (va bundan
tashqari, konfiguratsiya) uchun optimal tarzda. Ushbu g`oyani ishlab chiqishda
biz foydalaniladigan quyi tizimlarni tavsiflovchi kutubxonalar asosida yakuniy
kompilyatorni (uning ishlashi uchun variantlar) kompilyatsiya qilish variantini
taklif qilishimiz mumkin. Ushbu yondashuvning natijasi, birinchidan, har bir
aniq kompyuter konfiguratsiyasidan maksimal mumkin bo`lgan ishlashni "siqib
chiqarish" bo`lishi mumkin, ikkinchidan, bu "apparat va dasturiy platforma"
tushunchasining yo`qolishiga olib kelishi mumkin. Kerakli drayverlar to`plami
(ta`riflar) mavjud bo`lsa, har qanday operatsion tizim har qanday protsessorga
o`rnatilishi mumkin. Biroq, bu juda ideal.Taklif etilgan variantlarga muqobil
bo`lib, to`g`ridan-to`g`ri ish vaqtida oraliq kod sifatida yetkazib beriladigan
ilovalarning dinamik kompilyatsiyasi bilan Crusoe-ga o`xshash tizimdir. Bir
tomondan, dinamik kompilyatsiya ko`rinishidagi qo`shimcha yuk tufayli ishlash
pastroq bo`lishi aniq, boshqa tomondan, bunday yechimning soddaligi va uning
aniqroq moslashuvchanligi (masalan, dinamik tarjimon). tizimda bir vaqtda
ishlayotgan ilovalarning xatti-harakatlarini hisobga olishi mumkin) bu usulni
yetarli qilish.jozibali. Shunga qaramay, bunday dinamik kompilyator ish paytida
mavjud apparat haqida ma`lumotga ega bo`lishi mumkin (va hatto kerak).
O`ylab ko`rsak, Transmeta`ning mavjud zamonaviy xotira texnologiyalaridan
to`liq foydalanishni istamasligi Transmeta`ni “o`ldirgan”. Ilovalarning dinamik
kompilyatsiyasi bilan operativ xotiraga yuk sezilarli darajada oshishi aniq.


1
0
Boshqacha qilib aytadigan bo`lsak, past o`tkazish qobiliyatiga ega xotira quyi
tizimidan foydalangan holda Transmeta tizimning operativ xotirasiga intensiv
kirishni ta`minlovchi ilovalarda katta yo`qotishlarga duchor bo`ldi, shu bilan
birga ko`p vaqtini protsessor ichida o`tkazadigan ilovalarning ishlashida bu
deyarli paritetdir. . Transmeta-ning kelajakdagi yo`li, mantiqan, protsessorning
funktsional birliklari sonini ko`proq kengaytiriladigan va tezroq tizim
xotirasidan foydalangan holda bir yadroda ikki yoki undan ortiq dastur
tarmoqlarini (turli xil dasturlar) parallel ravishda bajarish imkoniyati bilan
kengaytirishga qaratilgan bo`lishi kerak.
XULOSA
Xulosa qilib shuni aytamizki, VLIW arxitekturasi kompyuter sanoatining
paydo bo`lishidan boshlanganiga qaramay (Tyuring VLIW kompyuterini 1946
yilda ishlab chiqqan), u hali tijorat muvaffaqiyatiga erishmagan. .EPICni
yaratishda o`z oldimizga qo`ygan maqsadlarimizdan biri VLIW-da amalga
oshirilgan statik POE yaratish tamoyilini saqlab qolish, lekin shu bilan birga uni
superskalyar protsessorga o`xshash imkoniyatlar bilan boyitib, yangi
arxitekturani yaxshiroq hisobga olish imkonini beradi. VLIW arxitekturasi ikki
sababga ko`ra yarimo`tkazgich sanoatini qiziqtiradi. Birinchisi, endi chipda
ko`proq joy, masalan, o`tishni bashorat qilish bloki uchun emas, balki bloklarni
qayta ishlash uchun ajratilishi mumkin.

Yüklə 0,88 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə