|
M. M. Musayev kompyuter tizimlari va tarmoqlari
|
bet | 44/168 | Sana | 16.12.2023 | Hajmi | 3,98 Mb. | | #120781 |
Bog'liq 4. komp tizmlari Musayev2.7. Zamonaviy prosessorlar
Prosessor elementlarining shakllanish tartibini uning klassik sxemasida ko’rib chiqamiz. Uning strukturasida avval ko’rib chiqilgan xotira va prosessorning asosiy bog’lamalari o’zaro amallarining tamoyillari aks etgan.Avval bayon etilgan buyruqlarga ishlov berishning beshta bosqichi bu yerda soddalashtirilgan (2.22-rasm). Buyruqlar va malumotlar birinchi darajadagi L1 kesh-xotiraning turli qismlaridan o’qiladi. Bu birinchi bosqichdir. Keyingi tanlangan buyruqlar prosessorning bog’lamalari uchun tushunarli bo’lgan mashina kodlariga dekodlanadi. Bu ikkinchi bosqichdir. Uchinchi bosqichda bajaruvchi bloklar (AMQ, akkumulyator, ichki registorlar) zarur hisoblashlarni bajaradi va ishlov berish natijasini shakllantiradi. So’nggi to’rtinchi bosqichda natijalarni yozish amalga oshiriladi.
Ko’rib turganimizdek, oddiy holda buyruq kamida to’rtta ishlov berish bosqichlaridan o’tadi. Ular konveyerning pog’onalari hisoblanadi :
kesh-xotiradan tanlash ;
dekodlash ;
bajarilish ;
natijani yozish.
Keltirilgan ishlov berish jarayoni shartli xarakterga ega. Real zamonaviy prosessorlarda buyruqlarga ishlov berish konveyeri murakkabroq hisoblanadi va ko’p sonli pog’onalarga ega bo’ladi, lekin prosessorning qurilish ideologiyasi o’zgarmasdan qoladi.
To’rtta ishlov berish bosqichlaridan har biri konveyerning bir necha pog’onalaridan iborat bo’lishi mumkin (masalan, Pentium IV prosessorlarida konveyerning uzunligi 20-30 tani tashkil etishi mumkin). Bundan tashqari, zamonaviy prosessorlarda oldindan tanlash operasiyasi mavjud. Bu operativ xotiradan (yoki L2 xotiradan) L1 kesh-xotiraga buyruqlarni va malumotlarni yuklash operasiyalaridir. L1 keshdan buyruqlarga ishlov berish prosessor bog’lamalariga (yani ichki registrlarga) buyruqlarni yuklash malum uzunlikdagi bloklarda amalga oshiriladi. Keyin ulardan dekodlash uchun buyruqlar ajratiladi.
Buyruqlar oqimida tarmoqlanish va o’tishlar uchrasa, buyruqlarning navbatdagi blokini o’qish oldindan aytish mexanizmidan foydalanib amalga oshiriladi.
Prosessorning unumdorligi vaqt birligi ichida boshqariladigan buyruqlar sonini aniqlaydi. Bu nuqtai nazardan unumdorlikni oshirishning ikkita varianti mavjud. Birinchisi, konveyerning pog’onalarini oshirish, mos ravishda bajariladigan bloklar bog’lamalarining sonini oshirish, har bir bosqichlarda ishlov berish vaqtini qisqartirish va bajaruvchi blok ishlash tezligini oshirish hisoblanadi. Ikkinchisi, konveyerning bosqichlarini qisqartirish, har bir bosqichlarda bajariladigan ishlar hajmini oshirish, bajaruvchi bloklar sonini oshirish hisoblanadi. Har ikkala usul afzalliklar va kamchiliklarga ega, lekin ularning har ikkalasida bitta muammo mavjud bo’lib, agar tartib bo’yicha keyingi buyruqlarning bajarilishi uchun avvalgi buyruqning boshqarilishi natijasini bilish talab qilinsa, konveyer bosqichlarining parallel bajarilishi bo’lmaydi, uni qayta yuklash talab qilinadi. Zamonaviy prosessorlar arxitekturasida konveyerli ishlov berish mexanizmlarini takomillashtirish bilan bir qatorda multimedia texnologiyalarini ishlatishda vektorli ishlov berish, ko’p foydalanishli yadroli prosessorlar kabi dolzarb muammolar o’z aksini topgan.
Bir necha birlashtirilgan operandlarni bir vaqtda ishlov berish uchun maxsus buyruqlar guruhini ishlatish taraqqiyot yo’nalishlaridan biri bo’ladi. Bunday buyruqlar audio va video signallarga ishlov berish jarayonini tezlashtiradi, shuning uchun ular MMX (Multi Media Extension-multimediali kengaytirish) nomini oladi. Multimedia, grafik ilovalar masalalarini yechishda ko’pincha katta malumotlar massivi ustida bir xil operasiyalarni bajaradigan raqamli ishlov berishning murakkab algoritmlari ishlatiladi. Mazkur holda maqsadli qo’llanish malumotlar vektorining (oqimi) bir buyruq bilan ishlov berish tamoyili to’laroq ishlatiladi. Bunday ishlov berish tamoyili birinchi marta Pentium II prosessorida ishlatilgan (1997 yil).
Rivojlanishining keyingi qadami (Pentium III) MMX texnologiyalari so’zlariga vergulli bir necha sonlar ustida bir vaqtda operasiyalarni bajaradigan qo’shimcha buyruqlar guruhini kiritish yo’li bilan rivojlantirish bo’ladi. Prosessorlar arxitekturalarini bunday kengaytirish SSE – Streaming SIMD Extension (SIMD- buyruqlarni kengaytirish) buyruqlar tizimi nomini oladi. Natijada 70 ta yangi buyruq kiritildi (qayd etilgan vergul bilan ishlash uchun MMX turidagi 57 buyruqni qo’shganda).
So’nggi yillar zamonaviy prosessorlarning unumdorligini oshirishda sezilarli natijalarni keltirdi. Prosessorlarning yadrosi, shinali almashtirishning tashkil etilishi takomillashtirildi, ichki va tashqi xotira darajalari texnologik va mantiqiy jihatdan ajratildi, buyruqlar tizimi takomillashtirildi. Biroq dasturiy taminot foydalanuvchilari va ishlab chiquvchilar tizimlarning quvvatini oshirishni talab qildi, shuning uchun prosessorlar yadrolarining sonini oshirish inqilobiy yechim bo’ldi.
Birinchi bunday chipni Intel kompaniyasi 2005 yilda ishlab chiqardi, 2006 yilning o’zida esa bozorga ikki yadroli Intel Cove prosessor chiqarildi. Bu keyingi sakkizinchi avlod ko’p yadroli prosessorlarning rivojlanishiga turtki bo’ldi. Mikroprosessor texnikasining birinchi modellaridan ko’p yadroli arxitekturalargacha takomillashuvi va rivojlanishini Intel korporasiyasi tajribalaridan yaxshi o’rganish mumkin, ularning g’oyalari kompyuterlar rivojlanishining ko’plab zamonaviy ananalarining boshlanishiga sababchi bo’ldi.
Intel korporasiyasi birinchi mikroprosessorlar (1974 yil) bozorga chiqarilgan vaqtdan boshlab o’tgan davrda prosessorlarni ko’plab xilma-xil modellarini ishlab chiqdi. Bu prosessorlar IBM firmasining kompyuterlarida keng qo’llanilmoqda. Intel prosessorlarining oldingi modellariga to’xtalmasdan, ularning so’nggi Pentium oilasidagi 32-razryadli modellarini ko’rib chiqamiz.
Bu prosessorlar ichki struktura bilan, ma’lumotlar va buyruqlarni saqlash uchun ajratilgan kesh-xotirani kiritish yordamida ma’lumotlar va buyruqlar oqimlarining ajratilishi, garvard arxitekturasining ishlatilishi bilan ajralib turadi. Bu prosessorlarda superskalyar arxitektura ishlatilgan bo’lib, bunda bir necha operasiyalar bir vaqtda to’rt ijrochi qurilmalarida bajariladi. Ikkita butun sonli operandlar uchun, bitta suriluvchi vergulli sonlarga ishlov berish uchun, bitta shartli o’tish buyruqlari uchun ishlatiladi. Konveyerda bir vaqtda turli bajarilish pog’onalarida bo’lgan beshta buyruq bo’lishi mumkin. O’tishlarni oldindan aytish prosedurasi ishlatilgan bo’lib, u bo’linish ehtimoli borligini oldindan (tarmoqlanish shartini hisoblashgacha) aniqlashga imkon beradi. Shu tufayli, shartli o’tishlar buyruqlari bajarilishida o’ta qayta yuklanishlar sonini sezilarli qisqartirishga erishildi.
Pentium prosessorlarining keyingi modellarida konveyerning bajaruvchi buyruqlar pog’onalari 12 tagacha yetkazilgan, L1 va L2 ikki kristalli ko’rinishda takomillashtirilgan kesh-xotira paydo bo’ldi (Pentium Pro).
1998 yildan ishlab chiqarilgan Pentium II Xeo 450 Mgs gacha takt chastotasiga ega bo’ldi va multiprosessorli tizimlarni (8ta prosessorgacha) ishlatish uchun takomillashtirilgan vositalarga ega bo’ldi. Bu yangiliklar oltinchi avlod prosessorlari uchun xarakterlidir:
32 razryadli ichki struktura;
36 razryadli manzil va 64 razryadli ma’lumotlar tizim shinasi;
ichki L1 kesh-xotira, alohida L2 kesh-xotira, ularning har biri buyruqlar va ma’lumotlarni ajratilgan holatda saqlashi (mos ravishda L1 – 16 kbayt, L2 – 2 Mbayt);
buyruqlarni 12- darajali konveyerda bajarilishi;
suriluvchi vergulli operasiyalarning tezlashtirilgan bajarilishi;
multiprosessor tizimlarining ishlatilishni qo’llab–quvvatlash;
o’zini testlash ichki vositalarining, sozlash va unumdorlik monitoringining mavjudligi.
Bu xarakteristikalar R6 oiladagi prosessorlariga UNIX, Windows, Solaris va boshqa operasion tizimlar boshqarishida samarali ishlashga imkon berdi. R6 oilasidagi modellarda qo’yilgan qurish ideologiyasi Pentium Pro modellaridan Pentium III modellarigacha mavjud bo’ldi.
Prosessorlarni rivojlantirishdagi keyingi qadam IA-64 (1999) arxitektura bo’ldi. Bu arxitektura serverlarda va quvvatli ishchi stansiyalarda qo’llanishga mo’ljallangan, shuning uchun yuqori razryadlikdagi prosessorlarga asoslangan. IA-64 - bu 64 razryadli prosessorlar uchun Intel arxitekturasi razryadni oshirish katta hajmli xotirani manzillashtirish, katta diapazondagi sonlarda operasiyalar, parallel hisoblashlarning samaradorligini oshirishga imkon beradi.
IA-64 arxitekturasini tashkil etishning asosiy tamoyili yuklamaning bajarilish davridan kompilyasiya davriga o’tkazish. Oldingi prosessorlarda ko’p pog’onali konveyerli ishlov berishni (demak, superskalyar) ishlatishda alohida (asosiy) e’tibor o’tishlarni aniq oldindan aytishga va buyuruqlarning bir-birlaridan ketma-ketligining samarali mustaqilligini shakllantirishga ajratildi. Buning uchun bajarilishidan oldin buyruqlar ichki registorlardan foydalanish, funksional bloklarga yuklamalarni taqsimlash, prosessor holatini doimo tahlil qilish yo’li bilan kerakli ketma-ketlikda tartiblanadi. IA-64 modellarda bu funksiyalar kompilyatorda bajariladi, u dastlabki tahlil va buyruqlar qayta tartiblanishi natijasida apparatli vositalar bilan ortiqcha o’zgarishlarsiz bajariladigan dasturni ishlab chiqaradi.
Buyruqlar kompilyator bilan turli funksional bloklarda parallel bajarilishi uchun guruhlanadi. Prosessorlarning sxemotexnik yechimlarida navbatdan tashqari, superskalyar buyruqlarning bajarilishiga javob beradigan murakkab mantiq yo’qoladi, shuning uchun prosessor chipida kesh-xotiraga, prosessorlarning ichki bajaruvchi bloklariga katta joy ajratiladi. Prosessor o’ta operativ xotiraning uchta darajali iyerarxiyasiga ega, bunda L1 va L2 kesh-xotiralar prosessorlarning o’zini kristalliga joylashtirilgan, L3 kesh-xotiraning mikrosxemalari esa prosessorning kartrij platasiga joylashtiriladi.
Kompilyator ham buyruqlar orasida, ham ularga xizmat qiladigan registrlar orasida bahsli vaziyatlarning bo’lmasligi sharti bilan bajarilishga buyruqlar guruhini shakllantiradi.
Shunday qilib, IA-64 arxitekturali prosessorlarda bir necha tezkorlikni oshirish mexanizmlari ishlatiladi:
yaqqol parallelizmli konveyerli ishlov berish, bir xil uzunlikdagi oddiy buyruqlardan foydalanish;
kompilyator orqali buyruqlarni guruhlashtirish va mos bajaruvchi bloklarga uzatish;
prosessorning ichki kristalli va kartrijida ko’p darajali keshlashni tashkil etish hisobiga xotiraga tezlashtirilgan murojaat etish.
Unumdorlikni ikki usulda-takt chastotasini oshirish yoki prosessorning bitta taktida ishlay olinadigan buyruqlarning sonini ko’paytirish bilan oshirish mumkin. Takt chastotasi o’zining chegaraviy qiymatlariga yetib bo’lganligi bois, ishlov berish bloklar sonini oshirish va ularni parallel ishlashini ta’minlash optimalroq bo’lib koldi.
|
| |