Buyruqlar tizimi – bu kompyuter tomonidan ma’lumotlarni qayta ishlash algoritmi amalga oshiriladigan buyruqlar to’liq ro’yxatidir. Buyruqlar jamlanmasi va ularning turli xilligi kompyuter imkoniyati va ularning funktsional yo’nalishini aniqlaydi. Yuqori dasturlash tillarini qo’llash dasturlash jarayonini osonlashtiradi, ammo ularni otladka va amalga oshirilishi uchun sezilarli kompyuter resurslari talab qilinadi (saqlash, kompilyatsiya va bajarilish). Oddiy mashina amallari va operator yuqori dasturlash tillari o’rtasida semantik uzilish mavjud bo’lib, to’g’ridan to’g’ri resurs xarajatlariga olib keladi. Shuning uchun Samaradorlikni oshirish uchun ishlab chiquvchilar va dasturchilar buyruqlar tizimi arxitekturasini takomillashtirib bormoqdalar. Hozirgi kunda 3 xildagi buyruqlar arxitekturasi rivojlandi:
- ananaviy CISC (Complex Instruction Set Computer) – eng to’liq buyruqlar jamlanmisi
- RISC (Redused Insturction Set Computer) – qisqirtirilagn buyruqlar jamlanmasi
- VLIW (Very Long Instruction Word) – juda uzun buruq so’zlar
CISC–arxitekturasini qo’llash shuni ko’rsatdiki, kuchli to’la buyruqlar tizimi to’laligicha apparat vositalari tomonidan foydalanilmaydi yoki samarasiz foydalaniladi. Boshqaruv signalini hosil etadigan mikrodasturli xotira juda kattalashib ketadi. Xar bir Buyruq aniq funktsional tugunlar uchun mikrobuyruqlar ketma ketligiga o’zgartiriladi, bundan boshqaruv qurilmasi murakkablashadi va sekin ishlaydi. Kuzatuvlar shuni ko’rsatdiki 80-90% tipik dasturlarni bajarilishi 10-20% buyruqlarga to’g’ri kelar ekan(Ma’lumotni uzatish, arifmetik va mantiqiy amal).
Bu buyruqlar sonini qisqartirishga olib keldi.
RISC – arxitekturasi CISC–arxitekturasiga tezkorlikni oshirish maqsadida o’rindosh sifatida yuzaga keldi. RISC–arxitekturasining xususiyati, bir taktda bajariladigan buyruqlar jamlanmasini qisqartirishdan iborat bo’lib, buyruqlar protsessor ichida joylashgan registrlar (UmReg) da joylashgan operandlar bilan ishlaydi. Zamonaviy RISC–protsessorlarida RISC–arxitekturasi quyidagilar hisobiga yuqori natijalarga erishildi
• Barcha buyuqlar uchun standart so’z uzunligi
• Ko’pchilik buyruqlarni bir taktda bajarish(75%dan ortiqroq)
• Umumiy buyruqlar soni qisqarishi (128ta gacha)
• Kam sonli buyruqlar formati (4dan oshmaydi)
• Kam sonli aderslash usuli (4tadan oshmaydi)
Buyruqlar tizimi arxitekturalarining tasnifi
Kompyuter buyruqlar tizimi (VM) - berilgan VM bajarishga qodir bo'lgan buyruqlarning to'liq ro'yxati. Yo'riqnomalar tizimining arxitekturasi (ASK) - bu dasturchiga ko'rinadigan va foydalanishi mumkin bo'lgan kompyuter vositalari.
-Komandalarning tarkibi va murakkabligi bo'yicha tasniflash.
-Semantik bo'shliqni bartaraf etish nuqtai nazaridan, ASKning uchta turidan biri ajralib turadi:
- ko'rsatmalarning to'liq to'plamiga ega arxitektura: CISC (Complex Instruction Set Computer);
- qisqartirilgan buyruqlar to'plamiga ega arxitektura: RISC (Reduced Instruction Set Computer);
- o'ta uzun ko'rsatmalar so'zlari bilan arxitektura: VLIW (Juda Long Instruction Word).
CISC tipidagi kompyuterlarda semantik uzilish muammosi buyruqlar tizimini kengaytirish, uni HLU operatorlariga semantik jihatdan o'xshash murakkab buyruqlar bilan to'ldirish yo'li bilan hal qilinadi. RISC kabi kompyuterlarda semantik bo'shliq muammosi ko'rsatmalar to'plamini qisqartirish orqali hal qilinadi.
VLIW kontseptsiyasi RISC arxitekturasiga asoslanadi, bu erda bir nechta oddiy RISC buyruqlari bitta o'ta uzun buyruqqa birlashtiriladi va parallel ravishda bajariladi.
1966-yilda M. Flinn tomonidan asosida protsessorda ishlov beriluvchi oqim yoki elementlar ketma-ketligi (buyruqlar va ma'lumotlar) tushunchasi bo' lgan EHM va hisoblash tizimlari arxitekturalarining klassifikatsiyalari taklif qilingan. Ma'lumotlar va buyruqlar oqimi soniga asoslangan ushbu klassifikatsiyalar tizimi to'rtta asosiy turga ajratiladi.
SISD (Single Instruction stream/ Single Data stream) arxitekturasi.
Tizimlarining barchasi bir proLsessorli va bir mashinali variantlami qamrab oladi. Barcha klassik strukturadagi EHM ushbu turga tegishli bo'ladi. Bu turda hisoblashni parallellashtirish ijrochi qurilmalar o'rtasida mikrobuyruqlar oqimini konveyerlashtirish va parallellashtirish yo'li bilan ta'minlanadi. Bu turga fon-neyman arxitekturalari kiradi, ularda faqat bitta ma'lumotlar oqimi bo’lib, buyruqlarga ketma-ket ishlov beriladi va har bir buyruq bitta ma lumot oqimi bilan bitta amalni bajaradi.
SIMD (Single Instruction stream/Multiple Data stream) arxitekturasi vektorli va matritsali ishlov berish strukturalarini yaratish uchun mo’ijaflangan. Ushbu arxitekturadagi mashinalar vektor elementlari orqali bitta amalni bir vaqtning o'zida bir nechta ma lumotlar ustida bajaradi. Bunday turdagi tizimlar odatda bir xil elementlar asosida quriladi, ya'ni tizimga kiruvchi protsessor elementlari bir xil bo'ladi va ulaming barchasi bir xil ketma-ketlikdagi buyruqlar bilan boshqariladi. Bunda faqat har bir protsessor o'zining ma' lumotlar oqimiga ishlov beradi. Bunday chiziqli bo'lmagan, algebraik va defferensial tenglamalami yechish, maydon nazariyasi va boshqa ko’plab masalalar kiradi.
MISD (Multiple Instruction stream/ Single Data stream) arxitektura o'ziga xos protsessorli konveyemi qurish uchun mo'ljallangan, ya'ni bunda ishlov berish natijalari zanjir tarzda bir protsessordan boshqa protsessorga uzatiladi. Bunday hisoblashga ixtiyoriy ishlab chiqarish konveyeri misol bo'la oladi. Zamonaviy elektron hisoblash mashinalarida bu qoida parailel ishlovchi tizimda turli xil funksional bloklar tomonidan amaliami bajarish sxemasiga asosiangan. Bunda har bir qism umumiy tsiklda o'zining vazifasini bajaradi. Bunday turdagi hisoblash tizimlarida konveyerlar protsessorlar gumhini hosil qilishi kerak bo ladi.
Flinn klassifikatsiyasining sxemasi keng tarqalgan bo'lib, u yoki bu hisoblash tizimlarini dastlabki baholash uchun keng foydalaniladi. U bir vaqtda asosiy ish qoidasini baholash imkonini ham beradi. Ushbu klassifikatsiyalar bilan bir qatorda boshqalari ham mavjuddir, faqat ular kam qo’llaniladi. BQ - boshqaruv qurilmasi (buyruqlar oqimini tashkil qiladi), PR - protsessor, PD - ma'lumotlar oqimi.
SISD, yuqorida aytib o'tilganidek, VAX 11/780 kabi bir protsessorli ketma-ket kompyuterlarni o'z ichiga oladi. Biroq, ko'plab tanqidchilar vektorni tegishli ko'rsatma uchun bitta bo'linmas ma'lumot sifatida ko'rib chiqsak, vektor-quvur mashinalari ham ushbu sinfga kiritilishi mumkinligini ta'kidladilar. Bunday holda, CRAY-1, CYBER 205, FACOM VP oilasining mashinalari va boshqa ko'plab tizimlar ushbu sinfga kiradi. SIMD sinfining shubhasiz vakillari protsessor matritsalari: ILLIAC IV, ICL DAP, Goodyear Aerospace MPP, Connection Machine 1 va boshqalar. Bunday tizimlarda bitta kontroller bir nechta protsessor elementlarini boshqaradi. Har bir protsessor elementi boshqaruv qurilmasidan har bir belgilangan vaqtda bir xil buyruqni oladi va uni mahalliy ma'lumotlarida bajaradi. Klassik protsessor matritsalari uchun hech qanday savol tug'ilmaydi, ammo vektor-konveyer mashinalari, masalan, CRAY-1, xuddi shu sinfga kiritilishi mumkin. Bunday holda, vektorning har bir elementi ma'lumotlar oqimining alohida elementi sifatida ko'rib chiqilishi kerak.
MIMD klassi juda keng tarqalgan, chunki u barcha turdagi multiprotsessorli tizimlarni o'z ichiga oladi: Cm*, C.mmp, CRAY Y-MP, Denelcor, BBN Butterfly, Intel Paragon, CRAY T3D va boshqalar. Qizig'i shundaki, agar quvur liniyasini qayta ishlash bitta vektor ma'lumotlar oqimida emas, balki bir nechta skalyar oqimda buyruqlar to'plamini (quvur bosqichlari operatsiyalarini) bajarish deb hisoblansa, yuqorida ko'rib chiqilgan barcha vektor-quvur kompyuterlarini joylashtirish mumkin.
Taklif etilayotgan tasniflash sxemasi hozirgi kunga qadar ma'lum bir kompyuterning dastlabki tavsifida eng ko'p qo'llaniladi. Agar kompyuter SIMD yoki MIMD sinfiga tegishli deyilsa, uning ishlashning asosiy printsipi darhol aniq bo'ladi va ba'zi hollarda bu etarli. Biroq, aniq kamchiliklar ham ko'rinadi. Xususan, ma'lumotlar oqimi va vektor-quvur mashinalari kabi ba'zi diqqatga sazovor arxitekturalar ushbu tasnifga aniq mos kelmaydi. Yana bir kamchilik - MIMD sinfining haddan tashqari ko'pligi. Flinning so'zlariga ko'ra, bir xil sinfga kiruvchi, lekin protsessorlar soni, ular orasidagi bog'lanishning tabiati va topologiyasi, xotirani tashkil qilish usuli va umuman boshqacha bo'lgan arxitekturalarni tanlab tizimlashtiradigan vosita kerak.
Hyper-Threading teхnologiyasi ko’p oqimli ishlov berishga misol bo’ladi. Hyper-Threading teхnologiyasi bitta real fizik protsessor asosida ikkita mantiqiy protsessorni tashkil etishga imkon beradi. Operatsion tizim nazarida ikkita protsessor mavjud. Shuning uchun, operatsion tizim vazifalarni ikkita mantiqiy protsessorlar taqsimlashi mumkin. Hyper-Threading teхnologiyasida parallel rejimda yo’riqnomalarni bajarishi mumkin (ketma- ketlikda emas), ya’ni ishlov beriish uchun barcha yo’riqnomalar ikkita parallel oqimlarga bo’linadi. Bu esa bir vaqtda ikkita turli ilovalarni yoki bitta ilovaning ikkita turli oqimlariga ishlov berishga imkon beradi va shu bilan protsessorning IPC (soniyada protsessorda bilan bajariladigan yo’riqnomalar soni) ko’rsatkichini oshiradi, bu uning unumdorligini o’sishiga olib keladi. Konstruktiv planda Hyper-Threading teхnologiyasi asosida protsessor ikkita mantiqiy protsessorlardan tashkil topib, ularning har birida o’z registri va uzilish kontrolleri (Architecture State, AS) bo’ladi. Shunday ekan, ikkita parallel ijro qilinadigan vazifalar o’zining хususiy mustaqil registrlari va uzilish kontrollerlariga ega. Lekin vazifalar bitta real fizik protsessordan foydalaniladi. Aktivlashtirilgandan keyin mantiqiy protsessorlardan har biri o’z vazifasini mustaqil va boshqa protsessorga bog’liq bo’lmagan holda bajarishi, uzilishlarga ishlov berishi mumkin. Shunday qilib, ushbu teхnologiya real ikki protsessorli konfiguratsiyadan shu bilan farqlanadiki, ikkita mantiqiy protsessorlar umumiy resurslardan (хotira, shinalar) foydalaniladi. Ikkita mantiqiy protsessorlarni qo’llash zamonaviy operatsion tizimlarda va yuqori samarali ilovalarda amalga oshirilgan oqimlar darajasida parallelizm jarayonini kuchaytirishga imkon beradi. Protsessor yadrosi bir nechta ijro modullaridan foydalanishi hisobiga ikkita oqimni parallel хolda bajarishga qodir. Hyper-Threading teхnologiyasi g’oyasi Pentium 4 protsessorining NetBurst mikroarхitekturasi bilan chambarchas bog’liq va qandaydir ma’noda uning mantiqiy davomi bo’lib hisoblanadi. Intel NetBurst mikroarхitekturasi yo’riqnomani bir oqimini bajarishda unumdorlikning maksimal yutug’iga ega bo’lishga imkon beradi. Lekin dasturni maхsus optimizatsiyalagan holda ham, protsessorning ijro modulining hammasi ham har bir takt sikli davomida to’liq ishlatilmaydi. IA-32 komandalarini bajarishda protsessorlarning ijro resurslari, o’rtacha 35% ishlatiladi, protsessorlarni ijro resurslarining 65% esa bo’sh turadi, bu protsessorning imkoniyatlaridan samarasiz foydalanishni ko’rsatadi. Protsessor ishlashini shunday amalga oshirish kerakki, har bir takt siklida uning imkoniyatlaridan maksimal foydalanish mumkin bo’lsin. Aynan shu g’oyani Hyper-Threading teхnologiyasi parallel vazifalarni bajarishga protsessorning bo’sh turgan resurslarini jalb etgan holda amalga oshiradi. Vazifalarni yanada samarali parallel holda bajarish jarayonini amalga oshirish uchun ikki va undan ortiq yadroni bitta mikroprotsessorda integrallashdir. Bitta kristalldagi bunday ko’p yadroli konfiguratsiya ko’p protsessor tizimlarida tashqi shinalar, kommutatorlar va hokazolarda foydalanishdan ko’ra yadrolar orasidagi almashinishning eng yuqori tezligini ta’minlaydi. Ko’p yadroli arхitektura protsessorlar unumdorligini oshirish uchun ikkita yoki undan ko’p resurslarni to’liq funksional to’plamidan iborat bo’ladi. Ko’p yadrolik va 6,5 nm teхnologik jarayon elektr iste’molini yetarlicha iqtisod qilishga va unumdorlikni oshirishga imkon berdi.