|
Kafedrasi kompyuter arxitekturasi moduli bo‘yicha
|
bet | 69/80 | Sana | 06.07.2024 | Hajmi | 13,43 Mb. | | #266748 |
Bog'liq Kafedrasi kompyuter arxitekturasi moduli bo‘yicha2 Amaliy mashg’ulot:
Mavzu: Ko‘p yadroli protsessorlarning arxitektura turlari
Ishdan maqsad: Simmetrik ko'p ishlov berish, bir vaqtning o'zida ko'p tarmoqli, ko'p yadroli, ko'p yadroli protsessorlarning asosiy sinflari.
Nazariy qism
Ingliz tilida ko'p yadroli protsessorlar uchun ikkita keng tarqalgan atama mavjud: ko'p yadroli va ko'p yadroli. Ko'p yadroli atamasi odatda ikki yoki undan ortiq umumiy maqsadli yadrolarni o'z ichiga olgan markaziy protsessorlarga nisbatan qo'llaniladi, lekin ba'zida u raqamli signal protsessorlari (DSP) va bitta chipli tizimlar (SoC, SoC) uchun ham qo'llaniladi. Ko'p yadroli protsessor bir nechta yadrolarning bitta integral mikrosxemaga birlashtirilganligini bildiradi (bitta silikon chipda ishlab chiqarilgan). Agar bir nechta yarim o'tkazgich kristallari bitta paketga birlashtirilgan bo'lsa, u holda dizayn ko'p chipli modul (MCM) deb ataladi. Ko'p protsessor atamasi bir nechta jismoniy jihatdan alohida protsessorlarga ega (masalan, server anakartlarida ko'pincha bir nechta chiplarni ulash uchun 2 yoki 4 rozetkaga ega), lekin operatsion tizimning (OT) bir nusxasi tomonidan boshqariladigan kompyuterlarga ishora qiladi. Ko'p yadroli (inglizcha ko'p yadroli yoki inglizcha massively multi-yadroli) kontseptsiyasi o'nlabdan yuzlab yoki undan ortiq yadrolarga ega bo'lgan ko'p yadroli tizimlarni tavsiflash uchun ishlatilishi mumkin. Chipdagi ko'p protsessor (bir chipli ko'p protsessor, chipli multiprotsessor, chipli multiprocessing, CMP) - dastlabki tadqiqotchilar bir nechta protsessorlarni bitta substratga joylashtirish loyihalarini shunday deb atashgan. Ko'p yadroli protsessorlar arxitekturasi asosan simmetrik multiprotsessorlar (SMP mashinalari) arxitekturasini faqat kichikroq miqyosda va o'ziga xos xususiyatlarga ega takrorlaydi. Birinchi ko'p yadroli protsessorlar (birinchi avlod CMP) eng oddiy sxemalar edi: ikkita protsessor yadrosi xotira avtobusidan tashqari hech qanday resurslarni almashmasdan bitta chipda joylashgan. Symmetric Multiprocessing (qisqartirilgan SMP) yoki simmetrik multiprocessing - bu ko'p protsessorli tizimlarning maxsus arxitekturasi bo'lib, unda bir nechta protsessorlar umumiy xotiraga kirish huquqiga ega. Bu juda keng tarqalgan arxitektura bo'lib, yaqinda juda keng qo'llaniladi. SMP dan foydalanganda bir vaqtning o'zida bir nechta protsessorlar kompyuterda ishlaydi, ularning har biri o'z vazifasini bajaradi. Yuqori sifatli operatsion tizimga ega SMP tizimi vazifalarni protsessorlar o'rtasida oqilona taqsimlaydi va ularning har biriga teng yukni ta'minlaydi. Biroq, xotiraga kirishda muammo bor, chunki hatto bir protsessorli tizimlar buni amalga oshirish uchun nisbatan uzoq vaqt talab etadi. Shunday qilib, SMPda RAMga kirish ketma-ket sodir bo'ladi: birinchi navbatda bitta protsessor, keyin ikkinchi. Yuqorida sanab o'tilgan xususiyatlar tufayli SMP tizimlari faqat ilmiy sohada, sanoatda, biznesda va juda kamdan-kam hollarda ish ofislarida qo'llaniladi. Uskunani amalga oshirishning yuqori narxiga qo'shimcha ravishda, bunday tizimlar juda qimmat va yuqori sifatli dasturiy ta'minotni talab qiladi, bu esa vazifalarning ko'p bosqichli bajarilishini ta'minlaydi. Oddiy dasturlar (o'yinlar, matn muharrirlari) SMP tizimlarida samarali ishlamaydi, chunki ular bunday parallellashtirish darajasini ta'minlamaydi. Agar siz biron bir dasturni SMP tizimi uchun moslashtirsangiz, u holda bir protsessorli tizimlarda ishlash juda samarasiz bo'lib qoladi, bu esa turli tizimlar uchun bir xil dasturning bir nechta versiyasini yaratish zarurligiga olib keladi. Agar siz oddiy dasturni ko'p protsessorli tizimda ishlatsangiz, u bir protsessorli tizimga qaraganda biroz tezroq ishlaydi. Bu boshqa bepul protsessorda bajariladigan apparat uzilishi (dasturni yadro tomonidan qayta ishlash uchun to'xtatish) bilan bog'liq. SMP tizimi (parallel hisoblashga asoslangan har qanday boshqa tizim kabi) xotira shinasi o'tkazish qobiliyati kabi xotira parametriga yuqori talablarni qo'yadi. Bu ko'pincha tizimdagi protsessorlar sonini cheklaydi (zamonaviy SMP tizimlari 16 protsessorgacha samarali ishlaydi).
SMP arxitekturasi
Protsessorlar umumiy xotiraga ega bo'lganligi sababli, undan oqilona foydalanish va ma'lumotlarni muvofiqlashtirish zarurati tug'iladi. Ko'p protsessorli tizimda bir nechta keshlar umumiy xotira resursi uchun ishlaydi. Kesh muvofiqligi - bu umumiy manba uchun alohida keshlarda saqlangan ma'lumotlarning yaxlitligini ta'minlaydigan kesh xususiyati. Ushbu kontseptsiya xotira kogerentligi kontseptsiyasining alohida holati bo'lib, bu erda bir nechta yadrolar umumiy xotiraga kirish huquqiga ega. Agar biz ushbu tushunchalarni umumiy ma'noda tasvirlab beradigan bo'lsak, rasm quyidagicha bo'ladi: bir xil ma'lumotlar bloki turli xil keshlarga yuklanishi mumkin, bu erda ma'lumotlar turli usullar bilan qayta ishlanadi. Maʼlumotlarni oʻzgartirish bildirishnomalaridan foydalanmaslik xatolikka olib keladi. Kesh muvofiqligi bunday ziddiyatlarni hal qilish va keshlardagi ma'lumotlarning izchilligini saqlash uchun mo'ljallangan. SMP tizimlari - bu Flynn tasnifidagi hisoblash tizimlarining MIMD (ko'p instruktsiyali ko'p ma'lumotlar) kichik guruhi. Ushbu tasnifga ko'ra, deyarli barcha turdagi parallel tizimlarni MIMD deb tasniflash mumkin.
Ko'p protsessorli tizimlarning turlarga bo'linishi xotiradan foydalanish printsipiga ko'ra bo'linish asosida sodir bo'ladi. Ushbu yondashuv quyidagi muhim turlarni ajratish imkonini berdi. Ko'p protsessorli tizimlar - ko'p protsessorlar (umumiy xotiraga ega ko'p protsessorli tizimlar) va ko'p kompyuterlar (alohida xotiraga ega tizimlar). Parallel hisoblashlarda ishlatiladigan umumiy ma'lumotlar sinxronizatsiyani talab qiladi. Ma'lumotlarni sinxronlashtirish vazifasi eng muhim muammolardan biri bo'lib, uni ko'p protsessorli va ko'p yadroli va shunga mos ravishda kerakli dasturiy ta'minotni ishlab chiqishda hal qilish muhandislar va dasturchilarning ustuvor vazifasidir. Ma'lumot almashish xotirani jismoniy ajratish orqali amalga oshirilishi mumkin. Ushbu yondashuv yagona bo'lmagan xotiraga kirish (NUMA) deb ataladi.
Ushbu tizimlarga quyidagilar kiradi:
• Ma'lumotlarni taqdim etish uchun faqat individual protsessor keshlari qo'llaniladigan tizimlar (faqat kesh xotirasi arxitekturasi).
• Turli protsessorlar uchun mahalliy keshlarning uyg'unligini ta'minlovchi tizimlar (kesh-kogerent NUMA).
• Kesh kogerentligini (keshsiz kogerent NUMA) apparat tatbiq etmagan holda individual protsessor xotirasiga umumiy foydalanishni ta'minlovchi tizimlar.
Ko'p protsessorli tizimlarni yaratish muammosini soddalashtirishga taqsimlangan umumiy xotiradan foydalanish orqali erishiladi, ammo bu usul parallel dasturlashning murakkabligini sezilarli darajada oshirishga olib keladi. Bir vaqtning o'zida ko'p oqim Nosimmetrik ko'p ishlov berishning yuqoridagi barcha kamchiliklariga asoslanib, ishlashni yaxshilashning boshqa usullarini ishlab chiqish va ishlab chiqish mantiqan to'g'ri keladi. Agar siz protsessordagi har bir alohida tranzistorning ishlashini tahlil qilsangiz, siz juda qiziq bir faktga e'tibor qaratishingiz mumkin - ko'pgina hisoblash operatsiyalarini bajarishda protsessorning barcha komponentlari ishtirok etmaydi (so'nggi tadqiqotlarga ko'ra, barcha tranzistorlarning taxminan 30 foizi). Shunday qilib, agar protsessor, aytaylik, oddiy arifmetik operatsiyani bajarsa, protsessorning ko'p qismi ishlamayapti, shuning uchun uni boshqa hisob-kitoblar uchun ishlatish mumkin. Shunday qilib, agar protsessor hozirda real operatsiyalarni bajarayotgan bo'lsa, u holda bo'sh qismga butun sonli arifmetik operatsiya yuklanishi mumkin. Protsessorga yukni oshirish uchun siz protsessorning apparat mantig'ida juda ko'p murakkablikni talab qiladigan operatsiyalarning spekulyativ (yoki kutilgan) bajarilishini yaratishingiz mumkin. Agar siz dasturda bir-biridan mustaqil ravishda bajarilishi mumkin bo'lgan iplarni (buyruqlar ketma-ketligini) oldindan aniqlasangiz, bu vazifani sezilarli darajada soddalashtiradi (bu usul apparat darajasida osonlik bilan amalga oshiriladi).
|
| |