Internet Windows Android
Kengaytirish

Va ikki xil holatda nima bo'lishini o'ylab ko'ring. Oilaviy aloqalarni aniqlashtirish

* har doim dolzarb savollar, xato qilmaslik uchun protsessor tanlashda nimalarga e'tibor berish kerak.

Ushbu maqoladagi maqsadimiz protsessor ishlashiga va boshqa operatsion xususiyatlariga ta'sir etuvchi barcha omillarni tasvirlashdir.

Hech kimga sir emaski, protsessor kompyuterning asosiy hisoblash birligi hisoblanadi. Siz hatto aytishingiz mumkin - kompyuterning eng muhim qismi.

U kompyuterda sodir bo'ladigan deyarli barcha jarayonlar va vazifalarni qayta ishlash bilan shug'ullanadi.

Video, musiqa ko'rish, Internetda sayr qilish, xotirada yozish va o'qish, 3D va videoni qayta ishlash, o'yinlar bo'lsin. Va yana ko'p narsalar.

Shuning uchun, tanlovga C markaziy NS protsessorga juda ehtiyotkorlik bilan yondashish kerak. Ma'lum bo'lishicha, siz kuchli video karta va uning darajasiga mos kelmaydigan protsessor o'rnatishga qaror qilgansiz. Bunday holda, protsessor video kartaning imkoniyatlarini oshkor qilmaydi, bu uning ishlashini sekinlashtiradi. Protsessor to'liq yuklanadi va tom ma'noda qaynab ketadi, va video karta o'z imkoniyatlarini 60-70% da ishlaydigan o'z navbatini kutadi.

Shuning uchun, muvozanatli kompyuterni tanlashda, emas xarajatlar beparvo protsessor kuchli video karta foydasiga. Videokartaning imkoniyatlarini ochish uchun protsessorning kuchi etarli bo'lishi kerak, aks holda bu shunchaki behuda sarflangan pul.

Intel va boshqalar AMD

* abadiy qo'lga olish

Korporatsiya Intel, ulkan inson resurslari va deyarli tugamaydigan moliyaga ega. Yarimo'tkazgichlar sanoatida ko'plab yangiliklar va yangi texnologiyalar shu kompaniyadan keladi. Protsessorlar va ishlanmalar Intel, o'rtacha bo'yicha 1-1,5 muhandislarning rivojlanishidan yillar oldin AMD... Lekin bilganingizdek, eng ko'p narsaga ega bo'lish imkoniyati uchun zamonaviy texnologiyalar- to'lash kerak.

Protsessor narx siyosati Intel, ikkalasiga ham asoslangan yadrolar soni, kesh miqdori balki yoqilgan Arxitekturaning "yangiligi", tsikl bo'yicha ishlashvatt,chip texnologiyasi... Kesh xotirasining qiymati, "texnik jarayonning nozikligi" va boshqalar muhim xususiyatlar protsessor quyida muhokama qilinadi. Erkin chastotali multiplikator kabi texnologiyalarga ega bo'lish uchun siz qo'shimcha miqdorda to'lashingiz kerak bo'ladi.

Kompaniya AMD kompaniyadan farqli o'laroq Intel, oxirgi foydalanuvchi uchun protsessorlarning mavjudligi va malakali narx siyosatiga intiladi.

Siz hatto shunday deyishingiz mumkin edi AMD– « Odamlar brendi". Uning narx belgilarida siz kerakli narsalarni juda jozibali narxda topasiz. Odatda paydo bo'lganidan bir yil o'tib yangi texnologiya kompaniyada Intel, dan texnologiyaning analogi AMD... Agar siz eng yuqori ko'rsatkichlarga erishmoqchi bo'lmasangiz va ilg'or texnologiyalardan ko'ra narx yorlig'iga ko'proq e'tibor bersangiz, unda kompaniya mahsulotlari AMD- faqat siz uchun.

Narx siyosati AMD, ko'proq yadro soniga va biroz - kesh xotirasi hajmiga, me'moriy yaxshilanishlarning mavjudligiga bog'liq. Ba'zi hollarda, uchinchi darajali kesh xotirasiga ega bo'lish uchun siz biroz qo'shimcha to'lashingiz kerak bo'ladi ( Fenom 3 darajali kesh xotirasiga ega, Athlon faqat cheklangan, 2 darajali kontent). Lekin ba'zida AMD Uning muxlislarini "pampers" qiladi blokdan chiqarish qobiliyati arzonroq protsessorlar qimmatroq. Siz yadro yoki kesh xotirasini qulfini ochishingiz mumkin. Yaxshilash Athlon oldin Fenom... Bu modulli arxitektura va ba'zi arzon modellarning yo'qligi tufayli mumkin. AMD faqat bir nechta qimmatroq chiplarni o'chirib qo'yadi (dasturiy jihatdan).

Yadrolar- deyarli o'zgarmaydi, faqat ularning soni farq qiladi (protsessorlar uchun amal qiladi) 2006-2011 yillar). O'z protsessorlarining modulligi tufayli kompaniya rad etilgan chiplarni sotish bo'yicha ajoyib ishni bajaradi, ular ba'zi bloklar o'chirilganda unumdorligi past bo'lgan protsessorga aylanadi.

Kompaniya ko'p yillar davomida kod nomi ostida mutlaqo yangi arxitektura ustida ishlamoqda Buldozer, lekin kirish vaqtida 2011 yil, yangi protsessorlar unchalik yaxshi ko'rsatkich ko'rsatmadilar. AMD operatsion tizimlarda gunoh qilib, ular ikki yadroli me'moriy xususiyatlarni va "boshqa ko'p ishlov berish" ni tushunmagan.

Kompaniya vakillarining so'zlariga ko'ra, ushbu protsessorlarning to'liq ishlashi uchun maxsus tuzatishlar va tuzatishlar kutish kerak. Biroq, boshida 2012 yillar davomida kompaniya vakillari arxitekturani qo'llab -quvvatlash uchun yangilanishni chiqarilishini keyinga qoldirdilar Buldozer yilning ikkinchi yarmi uchun.

Protsessor chastotasi, yadrolar soni, ko'p ishlov berish.

Vaqtlarda Pentium 4 va uning oldida - CPU chastotasi protsessor tanlashda protsessor ishlashining asosiy omili bo'lgan.

Bu ajablanarli emas, chunki protsessor arxitekturasi yuqori chastotaga erishish uchun maxsus ishlab chiqilgan, bu ayniqsa protsessorda kuchli aks etgan. Pentium 4 arxitektura bo'yicha NetBurst... Arxitekturada ishlatilgan uzun quvur liniyasi bilan yuqori chastota samarali emas edi. Hatto Athlon XP chastota 2 gigagertsli, ishlash jihatidan ko'ra yuqori edi Pentium 4 v 2,4 gigagertsli... Shunday qilib, bu aniq marketing edi. Bu xatodan keyin kompaniya Intel xatolarimni tushundim va yaxshilik tarafiga qaytdi chastota komponentida emas, balki soat tsiklidagi ishlashda ishlay boshladi. Arxitekturadan NetBurst Men rad etishim kerak edi.

Nima biz ko'p yadroli beradi?

Chastotali to'rt yadroli protsessor 2,4 gigagertsli, ko'p tarmoqli dasturlarda nazariy jihatdan chastotali bitta yadroli protsessorning taxminiy ekvivalenti bo'ladi 9,6 gigagertsli yoki chastotali 2 yadroli protsessor 4,8 gigagertsli... Lekin bu faqat nazariyada. Amalda ammo, ikkita soketli anakartdagi ikkita ikki yadroli protsessor bir xil ish chastotasida bitta 4 yadroli protsessordan tezroq bo'ladi. Avtobus tezligi va xotira kechikishining cheklanishi aniq.

* bir xil arxitektura va kesh xotirasi miqdoriga bo'ysunadi

Ko'p yadroli ko'rsatmalar va hisob-kitoblarni qismlarga bo'lishga imkon beradi. Masalan, uchta arifmetik amalni bajarish kerak. Dastlabki ikkitasi protsessor yadrolarining har birida bajariladi va natijalar kesh xotirasiga qo'shiladi, bunda keyingi harakatlar ulardagi bo'sh yadrolarning har biri orqali bajarilishi mumkin. Tizim juda moslashuvchan, lekin to'g'ri optimallashsiz u ishlamasligi mumkin. Shuning uchun, OS muhitida protsessorlar arxitekturasini ko'p yadroli uchun optimallashtirish juda muhim.

"Sevadigan" va foydalanish ko'p o'qish: arxivchilar, video pleyerlar va kodlovchilar, antiviruslar, defragmentatsiya dasturlari, grafik muharriri , brauzerlar, Flash.

Shuningdek, ko'p ishlov berishni "sevuvchilar" ga siz shunday operatsion tizimlarga murojaat qilishingiz mumkin Windows 7 va Windows Vista , shuningdek, ko'pchilik OS yadroga asoslangan Linux agar sizda bo'lsa, bu tezroq ishlaydi ko'p yadroli protsessor.

Ko'pchilik o'yinlar Buning uchun 2 yadroli protsessor etarli yuqori chastotali... Endi esa, ko'p ishlov berish uchun "keskinlashtirilgan" o'yinlar tobora ko'payib bormoqda. Hech bo'lmaganda shundayini oling Sandbox kabi o'yinlar Gta 4 yoki Prototip, unda chastotasi past bo'lgan 2 yadroli protsessorda 2,6 gigagertsli- o'zingizni qulay his qilmaysiz, kadr tezligi sekundiga 30 kadrdan pastga tushadi. Garchi bu holda, ehtimol, bunday hodisalarning sababi o'yinlarning "zaif" optimallashtirilishi, vaqtning etishmasligi yoki o'yinlarni konsollardan boshqalarga o'tkazganlarning "bilvosita" qo'llari. Kompyuter.

O'yinlar uchun yangi protsessor sotib olayotganda, endi siz 4 yoki undan ko'p yadroli protsessorlarga e'tibor qaratishingiz kerak. Ammo, baribir, e'tiborsiz qoldirmang 2 yadro protsessorlari"yuqori toifadan". Ba'zi o'yinlarda, bu protsessorlar ba'zida ba'zi bir yadroli protsessorlarga qaraganda o'zlarini yaxshi his qilishadi.

Protsessorning kesh xotirasi.

- Bu protsessor kristalining ajratilgan maydoni bo'lib, unda protsessor yadrolari, RAM va boshqa avtobuslar orasidagi oraliq ma'lumotlar qayta ishlanadi va saqlanadi.

U juda yuqori soat tezligida ishlaydi (odatda protsessorning o'zi chastotasida), juda yuqori o'tkazish qobiliyati va protsessor yadrolari u bilan bevosita ishlaydi ( L1).

U tufayli tanqislik, protsessor vaqtni talab qiladigan vazifalarda bo'sh qolishi mumkin, ishlov berish uchun keshga yangi ma'lumotlar kelishini kutadi. Shuningdek, kesh xotirasi uchun xizmat qiladi Tez -tez takrorlanadigan ma'lumotlarning yozuvlari, agar kerak bo'lsa, keraksiz hisob -kitoblarsiz, protsessorni yana vaqt sarflashga majburlamasdan, tezda tiklanishi mumkin.

Ishlash, shuningdek, kesh xotirasi birlashtirilganligi va barcha yadrolar undan ma'lumotlarni bir xil darajada ishlatishi bilan ham qo'shiladi. Bu ko'p tarmoqli optimallashtirish uchun qo'shimcha imkoniyatlar beradi.

Bu texnika hozirda ishlatiladi 3 -darajali kesh... Protsessorlar Intel umumiy L2 keshli protsessorlar bor edi ( C2D E 7 ***,E 8 ***), buning natijasida paydo bo'ldi Bu yerga ko'p tarmoqli ish faoliyatini oshirish.

Protsessorni haddan tashqari oshirganda, kesh xotirasi zaif nuqtaga aylanib qolishi mumkin, bu protsessorni maksimal ish chastotasidan oshib ketishi xatosiz oldini oladi. Biroq, ijobiy tomoni shundaki, u overclock protsessori bilan bir xil chastotada ishlaydi.

Umuman olganda, kesh xotirasi qanchalik ko'p bo'lsa Tezroq MARKAZIY PROTSESSOR. Qaysi ilovalarda?

Ko'p o'zgaruvchan nuqta ma'lumotlari, ko'rsatmalar va oqimlar ishlatilgan barcha ilovalar, kesh xotirasi faol ishlatiladi. Ular kesh xotirasini juda yaxshi ko'radilar arxivchilar, video kodlovchilar, antiviruslar va grafik muharriri va hokazo.

Qulay katta raqam keshlar o'z ichiga oladi o'yinlar... Ayniqsa, strategik o'yinlar, avtoulovlarni simulyatsiya qilish, RPG, SandBox va barcha mayda detallar, zarrachalar, geometriya elementlari, axborot oqimi va jismoniy effektlar mavjud bo'lgan barcha o'yinlar.

Kesh xotirasi 2 yoki undan ortiq video kartali tizimlarning imkoniyatlarini ochishda juda muhim rol o'ynaydi. Oxir oqibat, yukning bir qismi protsessor yadrolarining bir -biri bilan o'zaro ta'siri va bir nechta video chiplar oqimlari bilan ishlashga to'g'ri keladi. Bu holda keshni tashkil qilish muhim va katta hajmli L3 keshi juda foydali.

Kesh xotira, har doim himoyalangan mumkin bo'lgan xatolar (ECC), ular aniqlanganda tuzatiladi. Bu juda muhim, chunki xotira keshidagi kichik xato, ishlov berish jarayonida ulkan, uzluksiz xatoga aylanishi mumkin, undan butun tizim tushib ketadi.

Xususiy texnologiyalar.

(giper-tishli, HT)–

birinchi marta texnologiya protsessorlarda qo'llanildi Pentium 4, lekin u har doim ham to'g'ri ishlamagan va tez -tez protsessorni tezlashtirgandan ko'ra sekinlashtirgan. Buning sababi juda uzun quvur va tarmoqni bashorat qilish tizimining to'liq bo'lmaganligi edi. Kompaniya tomonidan qo'llaniladi Intel, Texnologiyaning analoglari hali yo'q, o'sha paytdagi analogdan tashqari? kompaniya muhandislari amalga oshirgan narsalar AMD arxitekturada Buldozer.

Tizimning printsipi shundaki, har bir jismoniy yadro uchun a ikkita hisoblash oqimi bittasi o'rniga. Ya'ni, agar sizda 4 yadroli protsessor bo'lsa HT (Core i 7), keyin sizda virtual mavzular bor 8 .

Ma'lumotlar quvur liniyasiga birinchi bo'lib emas, balki uning o'rtasiga kirishi mumkinligi tufayli ishlash samaradorligiga erishiladi. Agar bu amalni bajarishga qodir bo'lgan har qanday protsessor bloklari bo'sh bo'lsa, ular bajarilishi uchun topshiriq oladi. Ishlash samaradorligi haqiqiy jismoniy yadrolarnikiga o'xshamaydi, lekin solishtirish mumkin (dastur turiga qarab ~ 50-75%). Ba'zi ilovalarda kamdan -kam hollarda bo'ladi. HT salbiy ta'sir ko'rsatadi ishlash bo'yicha. Buning sababi, ushbu texnologiya uchun ilovalarning yomon optimallashtirilishi, "virtual" iplar borligini tushuna olmaslik va iplarning yuklanishini teng ravishda cheklovchilarning yo'qligi.

TurboBoost Bu ularning yuklanish darajasiga qarab eng ko'p ishlatiladigan protsessor yadrolarining chastotasini oshiradigan juda foydali texnologiya. Qachonki, dastur barcha 4 yadrodan foydalanishni bilmasa va faqat bitta yoki ikkitasini yuklasa, ularning ish chastotasi oshadi, bu esa ishlashni qisman qoplaydi. Kompaniya uchun ushbu texnologiyaning analogi AMD texnologiya hisoblanadi Turbo yadro.

, 3 hozir! ko'rsatmalar... Protsessorni tezlashtirish uchun mo'ljallangan multimediya hisob -kitoblar (video, musiqa, 2D / 3D grafikalar va boshqalar), shuningdek arxivchi, tasvir va video bilan ishlash dasturlari (bu dasturlar ko'rsatmalari yordamida) ishini tezlashtiradi.

3hozir! - ancha eski texnologiya AMD o'z ichiga olgan qo'shimcha ko'rsatmalar multimediya tarkibini qayta ishlash, bundan tashqari SSE birinchi versiya.

* Aniq aniq sonlarni qayta ishlash qobiliyati.

Eng ko'p mavjudligi yangi versiya- bu katta ortiqcha, protsessor to'g'ri dasturiy ta'minotni optimallashtirish bilan ma'lum vazifalarni yanada samarali bajarishni boshlaydi. Protsessorlar AMD ismlari o'xshash, lekin biroz boshqacha.

* Misol - SSE 4.1 (Intel) - SSE 4A (AMD).

Bundan tashqari, ushbu ko'rsatmalar to'plami bir xil emas. Bular biroz farq qiladigan analoglar.

Cool'n'Tinch, SpeedStep, CoolCore, Kengaytirilgan Yarim Shtat (C1E) vaT... d.

Ushbu texnologiyalar, past yukda, yadrodagi multiplikator va kuchlanishni kamaytirish, keshning bir qismini o'chirish va h.k. Bu protsessorga ancha kam qiziydi va kam quvvat sarflaydi va shovqinni kamaytiradi. Agar quvvat kerak bo'lsa, protsessor bir soniyada normal holatiga qaytadi. Yoqilgan standart sozlamalar Bios deyarli har doim yoqilgan, agar xohlasangiz, ularni 3D o'yinlariga o'tishda mumkin bo'lgan "muzlashlar" ni kamaytirish uchun o'chirib qo'yish mumkin.

Ushbu texnologiyalarning ba'zilari tizimdagi muxlislarning tezligini nazorat qiladi. Masalan, agar protsessor issiqlik tarqalishiga muhtoj bo'lmasa va yuklanmagan bo'lsa, protsessor ventilyatorining tezligi pasayadi ( AMD Cool'n'Quiet, Intel tezligi).

Intel virtualizatsiya texnologiyasi va AMD virtualizatsiyasi.

Bu uskuna texnologiyalari maxsus dasturlar yordamida bir vaqtning o'zida bir nechta operatsion tizimlarni ishga tushirishga imkon beradi, bu esa ishlashda sezilarli yo'qotishlarga olib kelmaydi. Bundan tashqari, u uchun ishlatiladi to'g'ri ish serverlar, chunki ko'pincha ularda bir nechta OS o'rnatilgan.

Ijro etish O'chirish Bit vaYo'q eXecute Bit kompyuteringizni virus hujumlaridan himoya qilish uchun mo'ljallangan texnologiya va dasturiy ta'minotdagi xatolar bu tizimni buzishi mumkin tampon to'lishi.

Intel 64 , AMD 64 , EM 64 T -bu texnologiya protsessorga 32-bitli arxitekturali OSda ham, 64-bitli operatsion tizimda ham ishlash imkonini beradi. Tizim 64 bit- imtiyozlar nuqtai nazaridan, oddiy foydalanuvchi uchun bu tizimda 3,25 Gb dan ortiq foydalanish mumkinligi bilan farq qiladi. tasodifiy kirish xotirasi... 32-bitli tizimlarda b dan foydalaning O Xotiraning cheklangan miqdori tufayli RAMning katta miqdori mumkin emas *.

32-bitli arxitekturaga ega bo'lgan ko'pgina ilovalar 64-bitli operatsion tizimli tizimda ishlashi mumkin.

* Siz nima qila olasiz, agar 1985 yilda hech kim o'sha paytdagi standartlarga ko'ra, RAM hajmlari haqida bunday ulug'vor narsa haqida o'ylamasa ham.

Qo'shimcha.

Haqida bir necha so'z.

Bu nuqtaga alohida e'tibor berishga arziydi. Texnik jarayon qanchalik nozik bo'lsa kichikroq protsessor energiya sarflaydi va natijada kamroq isitiladi. Va boshqa narsalar qatorida, u overclocking uchun yuqori xavfsizlik chegarasiga ega.

Texnik jarayon qanchalik nozik bo'lsa, siz chipga shunchalik "o'ralishingiz" mumkin (va nafaqat) va protsessor imkoniyatlarini oshirasiz. Shu bilan birga, issiqlik yo'qotilishi va quvvat sarfi ham mutanosib ravishda kamayadi, chunki oqim yo'qotilishi kamayadi va yadro maydonining kamayishi kuzatiladi. Siz bir xil arxitekturaning har bir yangi avlodi yangi texnik jarayonda energiya iste'moli ham o'sib borayotganini sezishingiz mumkin, lekin unday emas. Shunchaki, ishlab chiqaruvchilar tranzistorlar sonining ko'payishi hisobiga oldingi avlod protsessorlarining issiqlik tarqalish chizig'idan oshib ketishdi, bu esa texnik jarayonning pasayishiga mutanosib emas.

Protsessor ichiga o'rnatilgan.

Agar sizga o'rnatilgan video yadro kerak bo'lmasa, u holda protsessor sotib olmang. Siz faqat issiqlik tarqalishini yomonlashtirasiz, ortiqcha issiqlik (har doim emas), overclocking potentsiali (har doim ham emas) va ortiqcha to'langan pul.

Bundan tashqari, protsessorga o'rnatilgan yadrolar faqat OSni yuklash, Internetda sayr qilish va videolarni ko'rish uchun mos keladi (va bundan keyin ham sifatli emas).

Bozor tendentsiyalari hali ham o'zgarmoqda va ishlab chiqaruvchi protsessorni sotib olish imkoniyati Intel video yadrosiz, u kamroq va kamroq chiqib ketadi. Protsessorlar yordamida o'rnatilgan video yadrosini o'rnatishga majburlash siyosati paydo bo'ldi Intel kod nomi Qumli ko'prik, asosiy yangilik bir xil texnik jarayonga asoslangan o'rnatilgan yadro edi. Video yadrosi joylashgan birgalikda protsessor bilan bitta kristal ustida va protsessorlarning oldingi avlodlaridagidek oddiy emas Intel... Uni ishlatmaydiganlar uchun protsessor uchun ortiqcha to'lash ko'rinishidagi kamchiliklar mavjud, issiqlik taqsimlash qopqog'ining markaziga nisbatan isitish manbasini ofset. Shu bilan birga, plyuslar ham bor. O'chirilgan video yadrosi, texnologiya yordamida juda tez video kodlash uchun ishlatilishi mumkin Tez sinxronizatsiya ushbu texnologiyani qo'llab -quvvatlaydigan maxsus dasturlar bilan birlashtirilgan. Kelajakda, Intel parallel hisoblash uchun o'rnatilgan video yadrodan foydalanish ufqlarini kengaytirishga va'da beradi.

Protsessor rozetkalari. Platformaning ishlash muddati.


Intel o'z platformalari uchun qo'pol siyosatga ega. Har birining umr ko'rish muddati (protsessorlarni sotish boshlanishi va tugashi davri) odatda 1,5 - 2 yildan oshmaydi. Bundan tashqari, kompaniya bir vaqtning o'zida bir nechta platformalarni ishlab chiqadi.

Kompaniya AMD, qarama -qarshi muvofiqlik siyosatiga ega. Uning platformasida AM 3 qo'llab -quvvatlaydigan protsessorlarning barcha kelajak avlodlariga mos keladi DDR3... Hatto platforma chiqib ketganda ham AM 3+ va keyinchalik, yoki yangi protsessorlar AM 3, yoki yangi protsessorlar eski anakartlarga mos keladi va faqat protsessorni o'zgartirish (anakart, operativ xotira va boshqalarni o'zgartirmasdan) va kartani miltillatish orqali hamyonni og'riqsiz yangilash mumkin bo'ladi. Mos kelmaslikning yagona nuanslari turini o'zgartirganda bo'lishi mumkin, chunki protsessorga o'rnatilgan boshqa xotira boshqaruvchisi kerak bo'ladi. Shunday qilib, moslik cheklangan va barcha anakartlar tomonidan qo'llab -quvvatlanmaydi. Umuman olganda, iqtisodiy foydalanuvchi yoki platformani har 2 yilda bir marta o'zgartirishga odatlanmaganlar uchun - protsessor ishlab chiqaruvchining tanlovi aniq - bu AMD.

Protsessorni sovutish.

Odatdagidek, protsessor bilan birga keladi QUTI- o'z vazifasini bajaradigan yangi sovutgich. Bu alyuminiydan tayyorlangan, dispersiya maydoni unchalik yuqori emas. Issiqlik quvurlari va sobit qanotlarga asoslangan samarali sovutgichlar yuqori samarali issiqlik tarqalishi uchun mo'ljallangan. Agar siz fanatdan keraksiz shovqinni eshitishni xohlamasangiz, u holda siz issiqlik quvurlari bo'lgan muqobil, samaraliroq sovutgichni yoki yopiq yoki yopiq bo'lmagan suyuq sovutish tizimini sotib olishingiz kerak. Bunday sovutish tizimlari qo'shimcha ravishda protsessorni overclock qilish imkoniyatini beradi.

Xulosa.

Protsessor ishlashi va ishlashiga ta'sir etuvchi barcha muhim jihatlar ko'rib chiqildi. Keling, diqqat qilish kerak bo'lgan narsani takrorlaymiz:

  • Ishlab chiqaruvchini tanlang
  • Protsessor arxitekturasi
  • Texnik jarayon
  • CPU chastotasi
  • Protsessor yadrolari soni
  • Protsessor keshining hajmi va turi
  • Texnologiya va ko'rsatmalarni qo'llab -quvvatlash
  • Sifatli sovutish

Umid qilamizki, ushbu material sizning taxminlaringizga mos keladigan protsessorni tanlash va tanlashda sizga yordam beradi.

saul 2015 yil 9 sentyabr, soat 01:38

Ko'p tarmoqli o'yin dvigatellari arxitekturasini amalga oshirish

  • Intel blogi,
  • O'yinni rivojlantirish,
  • Parallel dasturlash,
  • Veb -saytni ishlab chiqish
  • Tarjima

Ko'p yadroli protsessorlarning paydo bo'lishi bilan parallel arxitekturaga asoslangan o'yin dvigatelini yaratish zarur bo'ldi. Tizimdagi barcha protsessorlardan foydalanish - ham grafik (GPU), ham markaziy (CPU) - faqat GPU -ga asoslangan bitta tishli dvigateldan ko'ra ko'proq imkoniyatlarni ochib beradi. Masalan, ko'proq CPU yadrolaridan foydalanish yaxshilanishi mumkin vizual effektlar o'yinda ishlatiladigan jismoniy ob'ektlar sonini ko'paytirish orqali, shuningdek, ilg'or sun'iy intellektni (AI) joriy etish orqali xarakterning yanada real harakatlariga erishish orqali.
O'yin dvigatelining ko'p tarmoqli arxitekturasini amalga oshirish xususiyatlarini ko'rib chiqaylik.

1.Kirish

1.1. Sharh

O'yin dvigatelining ko'p tarmoqli arxitekturasi platformadagi barcha protsessorlarning imkoniyatlaridan maksimal darajada foydalanish imkonini beradi. U barcha mavjud protsessorlarda turli xil funktsional bloklarni parallel bajarilishini nazarda tutadi. Biroq, bunday sxemani amalga oshirish unchalik oson emas ekan. Shaxsiy elementlar O'yin dvigatellari ko'pincha bir -biri bilan o'zaro aloqada bo'lib, ular bir vaqtning o'zida bajarilganda xatolarga olib kelishi mumkin. Bunday stsenariylarni hal qilish uchun dvigatel ma'lumotlarni sinxronlashtirishning mumkin bo'lgan qulflarini istisno qiladigan maxsus mexanizmlarni taqdim etadi. Shuningdek, u ma'lumotlarni bir vaqtning o'zida sinxronlashtirish usullarini qo'llaydi va shu bilan ijro vaqtini kamaytiradi.

Taqdim etilgan materiallarni tushunish uchun siz yaratilishning zamonaviy usullarini yaxshi bilishingiz kerak Kompyuter o'yinlari, o'yin dvigatellari uchun ko'p ishlov berish yoki umuman dastur ish faoliyatini yaxshilash.

2. Parallel bajarilish holati

Parallellik holati ko'p ishlov berishda asosiy tushunchadir. Faqat o'yin dvigatelini alohida tizimlarga bo'lish orqali, ularning har biri o'z rejimida ishlaydi va dvigatelning qolgan qismi bilan deyarli ta'sir o'tkazmaydi, parallel hisoblashning eng yuqori samaradorligiga erishish va sinxronizatsiya uchun zarur bo'lgan vaqtni qisqartirish mumkin. Dvigatelning alohida qismlarini barcha ajratilgan resurslarni hisobga olmaganda butunlay ajratish mumkin emas. Biroq, ob'ektlarning holati yoki yo'nalishi to'g'risida ma'lumot olish kabi operatsiyalar uchun alohida tizimlar umumiy manbalardan emas, balki ma'lumotlarning mahalliy nusxalaridan foydalanishi mumkin. Bu dvigatelning turli qismlarida ma'lumotga bog'liqlikni kamaytirish imkonini beradi. Alohida tizim tomonidan umumiy ma'lumotlarga kiritilgan o'zgartirishlar davlat boshqaruvchisiga xabar qilinadi, bu esa ularni navbatga qo'yadi. Bu xabar almashish rejimi deb ataladi. Bu rejim Vazifalar tugagandan so'ng, dvigatel tizimlari o'zgarishlar to'g'risida bildirishnomalar oladi va shunga mos ravishda ichki ma'lumotlarini yangilaydi. Bu mexanizm sinxronizatsiya vaqtini va tizimlarning bir -biriga bog'liqligini sezilarli darajada kamaytirishi mumkin.

2.1 Ijro holatlari

Ijro etuvchi davlat boshqaruvchisi samarali ishlashi uchun operatsiyalarni ma'lum soatga sinxronlashtirish tavsiya etiladi. Bu barcha tizimlarning bir vaqtning o'zida ishlashiga imkon beradi. Bunday holda, soat tezligi kadr tezligiga mos kelishi shart emas. Va soat tsikllarining davomiyligi chastotaga bog'liq bo'lmasligi mumkin. U shunday tanlanishi mumkinki, bitta soat aylanishi bitta kadrni uzatish uchun zarur bo'lgan vaqtga to'g'ri keladi (kattaligidan qat'i nazar). Boshqacha qilib aytganda, Shomillarning chastotasi yoki davomiyligi davlat boshqaruvchisining aniq bajarilishi bilan belgilanadi. 1-rasmda "erkin" bosqichma-bosqich ish tartibi ko'rsatilgan bo'lib, u barcha tizimlarning bir xil soat tsiklida operatsiyani bajarishini talab qilmaydi. Barcha tizimlar operatsiyalarni bitta soat tsiklida bajaradigan rejimga "qattiq" qadam rejimi deyiladi. U 2 -rasmda sxematik tarzda ko'rsatilgan.


Shakl 1. Bepul bosqichma-bosqich rejimning bajarilish holati

2.1.1. Bosqichma-bosqich bepul rejim
Bosqichma-bosqich bepul rejimda, barcha tizimlar hisob-kitoblarning keyingi qismini bajarish uchun oldindan belgilangan vaqt davomida uzluksiz ishlaydi. Biroq, "erkin" nomini so'zma -so'z qabul qilmaslik kerak: tizimlar o'zboshimchalik bilan sinxronlashtirilmaydi, ular keyingi bosqichni yakunlash uchun zarur bo'lgan soat tsikllari sonini tanlashda "erkin".
Odatda, bu rejimda davlat boshqaruvchisiga holat o'zgarishi haqida oddiy xabarnoma yuborish etarli emas. Yangilangan ma'lumotlar ham yuborilishi kerak. Buning sababi shundaki, almashilgan ma'lumotlarni o'zgartirgan tizim ishlayotgan holatda bo'lishi mumkin, ma'lumotni kutayotgan boshqa tizim esa yangilanishga tayyor. Bunday holda, ko'proq xotira talab qilinadi, chunki ma'lumotlarning ko'p nusxalarini olish kerak. Shuning uchun "erkin" rejimni hamma holatlar uchun ham universal echim deb hisoblash mumkin emas.
2.1.2. Qattiq qadam rejimi
Ushbu rejimda barcha tizimlar bo'yicha vazifalarni bajarish bitta soat tsiklida yakunlanadi. Ushbu mexanizmni amalga oshirish osonroq va bildirishnoma bilan birga yangilangan ma'lumotlarni uzatishni talab qilmaydi. Haqiqatan ham, agar kerak bo'lsa, bitta tizim boshqa tizimdan yangi qiymatlarni so'rashi mumkin (albatta, ish tsikli oxirida).
Qattiq rejimda siz hisoblarni turli bosqichlar o'rtasida taqsimlash orqali psevdosiz qadam rejimini amalga oshirishingiz mumkin. Xususan, bu AI hisob -kitoblari uchun zarur bo'lishi mumkin, bu erda dastlabki "umumiy maqsad" birinchi soat tsiklida hisoblab chiqiladi va u keyingi bosqichlarda bosqichma -bosqich takomillashtiriladi.


Rasm 2. Qat'iy bosqichma-bosqich rejimda bajarilish holati

2.2. Ma'lumotlarni sinxronlash

Bir nechta tizim tomonidan umumiy ma'lumotlarning o'zgarishi o'zgarishlarning ziddiyatiga olib kelishi mumkin. Bunday holda, xabar almashish tizimi to'g'ri umumiy qiymatni tanlash uchun algoritmni taqdim etishi kerak. Quyidagi mezonlarga asoslangan ikkita asosiy yondashuv mavjud.
  • Vaqt: Yakuniy qiymat - bu oxirgi qilingan o'zgartirish.
  • Ustuvorlik: jami - bu tizim tomonidan eng ustuvor ahamiyatga ega bo'lgan o'zgarish. Agar tizimlarning ustuvorligi bir xil bo'lsa, siz o'zgarish vaqtini ham hisobga olishingiz mumkin.
Barcha eskirgan ma'lumotlar (har qanday mezon uchun) oddiygina yozilishi yoki xabarlar navbatidan chiqarilishi mumkin.
Umumiy qiymat o'zgarishlarning tartibiga qarab o'zgarishi mumkinligi sababli, umumiy ma'lumotlarning nisbiy qiymatlaridan foydalanish juda qiyin bo'lishi mumkin. Bunday hollarda mutlaq qiymatlardan foydalanish kerak. Keyin, mahalliy ma'lumotlarni yangilashda, tizimlar eski qiymatlarni yangilariga almashtirishi mumkin. Optimal yechim - aniq vaziyatga qarab mutlaq yoki nisbiy qiymatlarni tanlash. Masalan, pozitsiya va yo'nalish kabi umumiy ma'lumotlar mutlaq bo'lishi kerak, chunki o'zgarishlarning tartibi muhim. Nisbiy qiymatlar, masalan, zarrachalar hosil qilish tizimi uchun ishlatilishi mumkin, chunki zarralar haqidagi barcha ma'lumotlar faqat unda saqlanadi.

3. Dvigatel

Dvigatelni ishlab chiqishda asosiy e'tibor uning funksionalligini yanada kengaytirish uchun zarur bo'lgan moslashuvchanlikka qaratiladi. Bu uni ma'lum cheklovlar ostida (masalan, xotira) ishlatish uchun optimallashtiradi.
Dvigatelni taxminan ikki qismga bo'lish mumkin: ramka va menejerlar. Framework (3.1 -bo'limga qarang) o'yin vaqtida takrorlanadigan qismlarni o'z ichiga oladi, ya'ni ular bir nechta holatlarda mavjud. Shuningdek, u o'yinning asosiy tsiklini bajarishda ishtirok etadigan elementlarni o'z ichiga oladi. Menejerlar (3.2 -bo'limga qarang) - o'yin mantig'ini bajarish uchun javob beradigan Singleton ob'ektlari.
Quyida o'yin dvigatelining diagrammasi keltirilgan.


Shakl 3. Dvigatelning umumiy arxitekturasi

E'tibor bering, funktsional o'yin modullari yoki tizimlari dvigatel tarkibiga kirmaydi. Dvigatel ularni birlashtiruvchi element vazifasini bajarib, faqat birlashtiradi. Ushbu modulli tizim tizimlarni kerak bo'lganda yuklash va tushirish imkonini beradi.

Dvigatel va tizimlarning o'zaro ta'siri interfeyslar yordamida amalga oshiriladi. Ular dvigatelga tizim funktsiyalariga, tizimlarga esa dvigatel menejerlariga kirishni ta'minlaydigan tarzda amalga oshiriladi.
Dvigatelning batafsil diagrammasi A ilovasida, Dvigatel diagrammasida keltirilgan.

Deyarli barcha tizimlar bir -biridan mustaqildir ("Bir vaqtning o'zida bajarilish holati" 2 -bo'limga qarang), ya'ni ular boshqa tizimlarning ishlashiga ta'sir qilmasdan parallel ravishda harakatlarni bajarishlari mumkin. Biroq, har qanday ma'lumot o'zgarishi ma'lum qiyinchiliklarga olib keladi, chunki tizimlar bir -biri bilan o'zaro aloqada bo'lishi kerak. Tizimlar o'rtasida ma'lumot almashish quyidagi hollarda zarur:

  • umumiy ma'lumotlarning o'zgarishi haqida boshqa tizimni xabardor qilish (masalan, ob'ektlarning holati yoki yo'nalishi);
  • bu tizim uchun mavjud bo'lmagan funktsiyalarni bajarish uchun (masalan, sun'iy intellekt tizimi nurlarning kesishuvini tekshirish uchun ob'ektning geometrik yoki jismoniy xususiyatlarini hisoblash tizimiga murojaat qiladi).
Birinchi holda, axborot almashinuvini nazorat qilish uchun oldingi bo'limda tasvirlangan davlat boshqaruvchisidan foydalanish mumkin. (Davlat boshqaruvchisi haqida qo'shimcha ma'lumot olish uchun "Davlat boshqaruvchisi" bo'limining 3.2.2 bo'limiga qarang.)
Ikkinchi holda, bir tizimning boshqasidan foydalanish uchun xizmatlarini ta'minlaydigan maxsus mexanizmni amalga oshirish zarur. To'liq tavsif bu mexanizm 3.2.3 -bo'limda "Xizmatlar menejeri" da tasvirlangan.

3.1. Framework

Dvigatelning barcha elementlarini birlashtirish uchun ramka ishlatiladi. Bu erda dvigatel ishga tushiriladi, menejerlar bundan mustasno, butun dunyoda ishga tushiriladi. Shuningdek, u sahna haqidagi ma'lumotlarni saqlaydi. Kattaroq moslashuvchanlikka erishish uchun sahna umumiy ob'ektlarni o'z ichiga olgan umumiy sahna sifatida amalga oshiriladi. Ular sahnaning turli funktsional qismlarini birlashtirgan idishlar. Tafsilotlar uchun 3.1.2 bo'limiga qarang.
Asosiy o'yin tsikli ham ramkada amalga oshiriladi. U sxematik tarzda quyidagicha ifodalanishi mumkin.


4 -rasm. Asosiy o'yin tsikli

Dvigatel derazali muhitda ishlaydi, shuning uchun o'yin tsiklidagi birinchi qadam har qanday tugallanmagan OS oynasi xabarlarini qayta ishlashi kerak. Agar bu bajarilmasa, vosita OS xabarlariga javob bermaydi. Ikkinchi bosqichda, rejalashtiruvchi vazifalar menejeri yordamida topshiriq beradi. Bu jarayon quyida 3.1.1 -bo'limda batafsil tasvirlangan. Shundan so'ng, davlat menejeri (3.2.2 -bo'limga qarang) dvigatel tizimiga kiritilgan o'zgarishlar, uning ishiga ta'sir qilishi mumkin bo'lgan ma'lumotlarni yuboradi. Oxirgi bosqichda, bajarilish holatiga qarab, ramka dvigatelni to'xtatish yoki davom ettirishni, masalan, keyingi sahnaga o'tishni belgilaydi. Dvigatel holati haqidagi ma'lumotlar atrof -muhit menejeri tomonidan saqlanadi. Tafsilotlar uchun 3.2.4 bo'limiga qarang.

3.1.1. Rejalashtiruvchi
Rejalashtiruvchi belgilangan tezlikda ijro mos yozuvlar soatini ishlab chiqaradi. Agar benchmark rejimi oldingi operatsiyani tugatgandan so'ng, soat oxirini kutmasdan, keyingi operatsiyani boshlashini talab qilsa, chastota cheksiz bo'lishi mumkin.
Vaqt signalida, rejalashtiruvchi tizimlarni ish rejimiga o'tkazish uchun vazifa menejeridan foydalanadi. Erkin qadam rejimida (2.1.1 -bo'lim), rejalashtiruvchi vazifalarni bajarish uchun qancha soat tsikli kerakligini aniqlash uchun tizimlarni so'roq qiladi. So'rov natijalariga ko'ra, rejalashtiruvchi qaysi tizimlar ishlashga tayyorligini va qaysi biri o'z ishini ma'lum bir vaqtda bajarishini aniqlaydi. Agar tizim bajarilishi uchun ko'proq vaqt kerak bo'lsa, rejalashtiruvchi shomil sonini o'zgartirishi mumkin. Qattiq qadam rejimida (2.1.2 -bo'lim), barcha tizimlar bir vaqtning o'zida boshlanadi va tugaydi, shuning uchun rejalashtiruvchi barcha tizimlarning bajarilishini kutadi.
3.1.2. Ko'p tomonlama sahna va ob'ektlar
Umumiy sahna va ob'ektlar boshqa tizimlarda qo'llaniladigan funktsional konteynerlardir. Ular faqat dvigatel bilan ishlashga mo'ljallangan va boshqa funktsiyalarni bajarmaydi. Biroq, ular boshqa tizimlarda mavjud bo'lgan funktsiyalardan foydalanish uchun kengaytirilishi mumkin. Bu bo'shashmasdan ulash imkonini beradi. Darhaqiqat, universal sahna va ob'ektlar boshqa tizimlarning xususiyatlarini ularga bog'lanmasdan ishlatishi mumkin. Aynan shu xususiyat tizimlarning bir -biriga bog'liqligini istisno qiladi va bir vaqtning o'zida ishlashga imkon beradi.
Quyidagi diagrammada universal sahna va ob'ektning kengaytmasi ko'rsatilgan.


Shakl 5. Umumjahon sahna va ob'ektning kengayishi

Keling, kengaytmalar qanday ishlashini quyidagi misolda ko'rib chiqaylik. Faraz qilaylik, universal sahnaning kengaytmasi bajariladi, sahna grafik, jismoniy va boshqa xususiyatlardan foydalangan holda kengaytiriladi. Bunday holda, kengaytmaning "grafik" qismi displeyni ishga tushirish uchun javobgar bo'ladi va uning "jismoniy" qismi qattiq jismlar uchun fizik qonunlarni, masalan, tortishish kuchini amalga oshirish uchun javobgar bo'ladi. Sahnalarda ob'ektlar bor, shuning uchun umumiy sahnada bir nechta umumiy ob'ektlar ham bo'ladi. Umumiy ob'ektlar grafik, jismoniy va boshqa xususiyatlardan foydalanish uchun ham kengaytirilishi va kengaytirilishi mumkin. Masalan, ob'ektni ekranda chizish grafik kengayish funktsiyalari, qattiq jismlarning o'zaro ta'sirini hisoblash esa fiziklar yordamida amalga oshiriladi.

Dvigatel va tizimlarning o'zaro ta'sirining batafsil diagrammasi "Dvigatel va tizimlarning o'zaro ta'siri sxemasi" B ilovasida keltirilgan.
Shuni ta'kidlash kerakki, umumiy sahna va umumiy ob'ekt barcha kengaytmalarni davlat boshqaruvchisida ro'yxatga olish uchun javobgardir, shunda barcha kengaytmalar boshqa kengaytmalar (ya'ni boshqa tizimlar) tomonidan kiritilgan o'zgarishlar to'g'risida xabardor qilinadi. Masalan, jismoniy kengaytma tomonidan joylashuv va yo'nalish o'zgarishi to'g'risida bildirishnomalarni olish uchun ro'yxatdan o'tgan grafik kengaytma.
Tizim komponentlari haqida batafsil ma'lumot olish uchun 5.2 bo'limiga qarang.

3.2. Menejerlar

Menejerlar dvigatel ishini nazorat qiladi. Ular Singleton ob'ektlari, ya'ni har bir menejer turi faqat bitta holatda mavjud. Bu zarur, chunki menejer resurslarining takrorlanishi muqarrar ravishda ishchilarni qisqartirishga olib keladi va ishlashga salbiy ta'sir ko'rsatadi. Bundan tashqari, menejerlar barcha tizimlar uchun umumiy funktsiyalarni amalga oshirish uchun javobgardir.
3.2.1. Vazifa menejeri
Vazifa menejeri tarmoqlar havzasidagi tizim vazifalarini boshqarish uchun javobgardir. Iplar havzasi har bir protsessor uchun bitta n-katlamli masshtabni ta'minlash va keraksiz iplar tayinlanishining oldini olish uchun bitta ish zarrachasini yaratib, operatsion tizimda vazifalarni almashtirishning ortiqcha yukini yo'q qiladi.

Rejalashtiruvchi vazifa menejeriga bajarilishi kerak bo'lgan vazifalar ro'yxatini, shuningdek, qaysi vazifalar bajarilishini kutish kerakligi haqidagi ma'lumotlarni yuboradi. U bu ma'lumotlarni oladi turli xil tizimlar... Har bir tizim faqat bitta vazifani bajaradi. Bu usul funktsional parchalanish deb ataladi. Biroq, ma'lumotlarni qayta ishlash uchun har bir bunday vazifani ixtiyoriy miqdordagi kichik vazifalarga bo'lish mumkin (ma'lumotlar dekompozitsiyasi).
Quyida to'rt yadroli tizim uchun vazifalar orasidagi taqsimotga misol keltirilgan.


Shakl 6. Vazifa menejeri ishlatadigan iplar havzasi misoli

Asosiy vazifalarga kirish uchun rejalashtiruvchi so'rovlarini qayta ishlashdan tashqari, vazifa menejeri ishga tushirish rejimida ishlashi mumkin. U har bir tarmoqdan tizimlarni ketma -ket so'rovlar o'tkazadi, shunda ular ishlash uchun zarur bo'lgan mahalliy ma'lumotlar do'konlarini ishga tushiradilar.
Vazifa menejerini amalga oshirish bo'yicha maslahatlar D ilovasida berilgan. Vazifalarni bajarish bo'yicha maslahatlar.

3.2.2. Davlat boshqaruvchisi
Davlat menejeri xabar almashish mexanizmining bir qismidir. U o'zgarishlarni kuzatib boradi va bu o'zgarishlar ta'sir qilishi mumkin bo'lgan barcha tizimlarga ular haqida bildirishnoma yuboradi. Keraksiz bildirishnomalarni yubormaslik uchun, davlat menejeri ma'lum bir holatda qaysi tizimlarga xabar berish kerakligi haqidagi ma'lumotlarni saqlaydi. Bu mexanizm Observer shablonidan foydalangan holda amalga oshiriladi (qarang C ilovasi, Observer (Dizayn namunasi)). Qisqasi, berilgan shablon O'zgarishlarni boshqaruvchi, ular orasidagi vositachi rolini o'ynasa, mavzudagi har qanday o'zgarishlarni kuzatuvchi "kuzatuvchi" dan foydalanishni o'z ichiga oladi.

Mexanizm quyidagicha ishlaydi. 1. Kuzatuvchi o'zgarishlarni boshqaruvchiga (yoki davlat boshqaruvchisiga) qaysi sub'ektlar o'zgarishlarni kuzatmoqchi ekanligini aytadi. 2. Subyekt nazoratchiga uning barcha o'zgarishlari haqida xabar beradi. 3. Ramkadan kelgan signal bo'yicha nazoratchi kuzatuvchiga mavzu o'zgarishi haqida xabar beradi. 4. Kuzatuvchi sub'ektga yangilangan ma'lumotlarni olish uchun so'rov yuboradi.

Erkin qadam rejimida (2.1.1 -bo'limga qarang) ushbu mexanizmni amalga oshirish biroz murakkablashadi. Birinchidan, yangilangan ma'lumotlar o'zgarish xabarnomasi bilan birga yuborilishi kerak. Bu rejimda so'rov bo'yicha yuborish qo'llanilmaydi. Haqiqatan ham, agar so'rovni qabul qilish vaqtida o'zgarishlarga javob beradigan tizim hali bajarilmagan bo'lsa, u yangilangan ma'lumotlarni taqdim eta olmaydi. Ikkinchidan, agar tizim soat tsikli oxirida o'zgarishlarni qabul qilishga hali tayyor bo'lmasa, davlat menejeri o'zgartirilgan ma'lumotlarni qabul qilish uchun ro'yxatdan o'tgan barcha tizimlar tayyor bo'lguncha ushlab turishi kerak bo'ladi.

Buning uchun ramka ikkita shtat menejerini taqdim etadi: o'zgarishlarni sahna darajasida va ob'ekt darajasida qayta ishlash uchun. Odatda, sahna va ob'ektlar uchun xabarlar bir -biridan mustaqildir, shuning uchun ikkita alohida menejerdan foydalanish keraksiz ma'lumotlarni qayta ishlash zaruratini bartaraf etadi. Ammo agar sahnada ob'ektning holati hisobga olinishi kerak bo'lsa, siz uning o'zgarishi to'g'risida bildirishnoma olish uchun uni ro'yxatdan o'tkazishingiz mumkin.

Keraksiz sinxronizatsiyani oldini olish uchun shtat menejeri, vazifa menejeri tomonidan yaratilgan har bir mavzu uchun, o'zgarish to'g'risida bildirishnoma navbatini alohida -alohida yaratadi. Shuning uchun, navbatga kirishda sinxronizatsiya talab qilinmaydi. 2.2 -bo'limda bajarilgandan keyin navbatlarni birlashtirish uchun ishlatilishi mumkin bo'lgan usul tasvirlangan.


Shakl 7. Umumiy ob'ektga ichki o'zgarishlar haqida xabar berish

O'zgarishlar haqida bildirishnomalarni ketma -ket yuborish shart emas. Ularni parallel ravishda yuborishning bir usuli bor. Vazifani bajarayotganda, tizim barcha ob'ektlari bilan ishlaydi. Masalan, jismoniy jismlar bir -biri bilan o'zaro ta'sirlashganda, jismoniy tizim ularning harakatini, to'qnashuvlarni hisoblashni, yangi ta'sir etuvchi kuchlarni va boshqalarni boshqaradi. U tegishli umumiy ob'ekt kengaytmalari bilan o'zaro ta'sir qiladi. Bu shuni anglatadiki, umumiy ob'ektlar endi bir -biridan mustaqil va bir vaqtning o'zida yangilanishi mumkin. Ushbu yondashuv sinxronizatsiya jarayonida e'tiborga olinishi kerak bo'lgan chekka holatlarni istisno qilmaydi. Biroq, bu siz faqat ketma -ket harakat qila olgandek parallel ishlash rejimidan foydalanishga imkon beradi.

3.2.3. Xizmat menejeri
Xizmat menejeri tizimlarga boshqa tizimlar uchun mavjud bo'lmagan xususiyatlarga kirishni ta'minlaydi. Funktsiyalarga to'g'ridan -to'g'ri emas, balki interfeys orqali kirish mumkinligini tushunish kerak. Tizim interfeyslari haqidagi ma'lumotlar xizmat menejerida ham saqlanadi.
Tizimlarning bir -biriga bog'liqligini yo'q qilish uchun ularning har birida faqat kichik xizmatlar to'plami mavjud. Bundan tashqari, ma'lum bir xizmatdan foydalanish qobiliyati tizimning o'zi tomonidan emas, balki xizmat menejeri tomonidan belgilanadi.


Shakl 8. Xizmat menejeri misoli

Xizmat menejeri boshqa funktsiyaga ega. Bu tizimlarga boshqa tizimlarning xususiyatlariga kirishni ta'minlaydi. Xususiyatlar-bu xabar almashish tizimida ma'lum bo'lmagan tizimga xos qiymatlar. Bu grafik tizimda ekran o'lchamining kengayishi yoki jismoniy tizimda tortishish kuchi bo'lishi mumkin. Xizmat menejeri bu ma'lumotlarni tizimlarga taqdim etadi, lekin uni bevosita nazorat qilmaydi. U mulkiy o'zgarishlarni maxsus navbatga qo'yadi va ularni ketma -ket bajarilgandan keyingina e'lon qiladi. E'tibor bering, boshqa tizimning xususiyatlariga kirish kamdan -kam hollarda talab qilinadi va uni suiiste'mol qilmaslik kerak. Masalan, konsol oynasidan grafik tizimda simli kadrlar rejimini yoqish yoki o'chirish yoki pleyerning talabiga binoan foydalanuvchi interfeysidan ekran o'lchamlarini o'zgartirish kerak bo'lishi mumkin. Bu imkoniyat asosan ramkadan kadrga o'zgarmaydigan parametrlarni o'rnatish uchun ishlatiladi.

3.2.4. Atrof -muhit menejeri
  • Atrof -muhit menejeri dvigatelning ishlash vaqtini ta'minlaydi. Uning vazifalarini shartli ravishda quyidagi guruhlarga bo'lish mumkin.
  • O'zgaruvchilar: dvigatelning barcha qismlarida ishlatiladigan umumiy o'zgaruvchilarning nomlari va qiymatlari. Odatda, o'zgaruvchilar qiymatlari sahna yuklanganda yoki aniq bo'lganda aniqlanadi maxsus sozlamalar... Dvigatel va turli tizimlar ularga so'rov yuborish orqali kira oladi.
  • Ijro: ijro ma'lumotlari, masalan, sahna yoki dasturni bajarilishi. Bu parametrlarni tizimlarning o'zi ham, dvigatel ham o'rnatishi va talab qilishi mumkin.
3.2.5. Platforma menejeri
Platforma menejeri operatsion tizim qo'ng'iroqlari uchun abstraktsiyani amalga oshiradi, shuningdek oddiy abstraktsiyadan tashqari qo'shimcha funktsiyalarni ta'minlaydi. Ushbu yondashuvning afzalligi shundaki, u bitta qo'ng'iroqda bir nechta odatiy funktsiyalarni qamrab oladi. Ya'ni, ularni har bir qo'ng'iroq qiluvchiga alohida bajarish shart emas, uni OS qo'ng'iroqlari haqidagi tafsilotlar bilan ortiqcha yuklaydi.
Masalan, platforma menejerini tizim dinamik kutubxonasini yuklashga chaqirishni ko'rib chiqing. Bu nafaqat tizimni yuklaydi, balki funktsiyaga kirish nuqtalarini oladi va kutubxonani ishga tushirish funktsiyasini chaqiradi. Menejer, shuningdek, kutubxona tavsiflagichini saqlaydi va dvigatel tugagandan so'ng tushiradi.

Platforma menejeri, shuningdek, qo'llab -quvvatlanadigan SIMD ko'rsatmalari kabi protsessor haqida ma'lumot berish va jarayonlar uchun muayyan ish rejimini ishga tushirish uchun javobgardir. Tizim so'rovlarni yaratish uchun boshqa funktsiyalarni ishlata olmaydi.

4. Interfeyslar

Interfeys - bu tizim, menejerlar va tizimlar o'rtasidagi aloqa vositasi. Tizim va menejerlar dvigatelning bir qismidir, shuning uchun ular bir -biri bilan to'g'ridan -to'g'ri muloqot qilishlari mumkin. Tizimlar dvigatelga tegishli emas. Bundan tashqari, ularning barchasi turli funktsiyalarni bajaradilar, bu esa ular bilan o'zaro ta'sir o'tkazishning yagona usulini yaratish zarurligiga olib keladi. Tizimlar menejerlar bilan to'g'ridan -to'g'ri aloqa qila olmasligi sababli, ular boshqa kirish usulini taqdim etishlari kerak. Biroq, menejerlarning barcha funktsiyalari tizim uchun ochiq bo'lmasligi kerak. Ulardan ba'zilari faqat ramka uchun mavjud.

Interfeyslar ishlatilishi kerak bo'lgan funktsiyalar to'plamini belgilaydi standart usul kirish. Bu ramkaning ma'lum tizimlarning bajarilish tafsilotlarini bilish zarurligini yo'q qiladi, chunki ular bilan faqat ma'lum qo'ng'iroqlar to'plami orqali muloqot qilish mumkin.

4.1. Mavzu va kuzatuvchi interfeyslari

Ob'ekt va kuzatuvchilar interfeysining asosiy maqsadi qaysi kuzatuvchilar haqida bildirishnoma yuborishlarini ro'yxatga olish va bunday bildirishnomalarni yuborishdir. Kuzatuvchi bilan ro'yxatga olish va aloqani uzish, ularning interfeysini amalga oshirishga kiritilgan barcha sub'ektlar uchun standart funktsiyalardir.

4.2. Menejer interfeyslari

Menejerlar, Singleton ob'ektlari bo'lsa -da, faqat ramkaga kirishlari mumkin. Boshqa tizimlar menejerlarga faqat umumiy funktsiyalarining bir qismini ifodalovchi interfeyslar orqali kirishlari mumkin. Ishga tushirilgandan so'ng, interfeys tizimga o'tkaziladi va u ma'lum boshqaruv funktsiyalari bilan ishlaydi.
Hamma menejerlar uchun yagona interfeys yo'q. Ularning har biri alohida interfeysga ega.

4.3. Tizim interfeyslari

Tizim komponentlariga kira oladigan ramka uchun unga interfeyslar kerak. Ularsiz hamma qo'llab -quvvatlaydi yangi tizim dvigatelni alohida ishlatish kerak.
Har bir tizim to'rtta komponentni o'z ichiga oladi, shuning uchun to'rtta interfeys bo'lishi kerak. Ya'ni: tizim, sahna, ob'ekt va vazifa. Batafsil tavsif 5 -bo'lim, Tizimlarga qarang. Interfeyslar komponentalarga kirish vositasidir. Tizim interfeyslari sizga sahnalarni yaratish va o'chirish imkonini beradi. Sahna interfeyslari, o'z navbatida, ob'ektlarni yaratish va yo'q qilishga, shuningdek, tizimning asosiy vazifasi haqida ma'lumot so'rashga imkon beradi. Vazifalar interfeysi, asosan, vazifalar menejeri tomonidan iplar havzasiga vazifalarni belgilashda ishlatiladi.
Sahna va ob'ekt, tizimning bir qismi sifatida, bir -biri bilan va universal sahna va ular biriktirilgan ob'ekt bilan o'zaro aloqada bo'lishi kerakligi sababli, ularning interfeyslari ham sub'ekt va kuzatuvchining interfeyslari asosida yaratiladi.

4.4. Interfeyslarni o'zgartirish

Bu interfeyslar tizimlar o'rtasida ma'lumotlarni uzatish uchun ishlatiladi. Muayyan turdagi o'zgarishlarni amalga oshiradigan barcha tizimlar bunday interfeysni amalga oshirishi kerak. Geometriya bunga misol. Geometriya interfeysi elementning joylashishini, yo'nalishini va shkalasini aniqlash usullarini o'z ichiga oladi. Geometriyani o'zgartiradigan har qanday tizim bunday interfeysni amalga oshirishi kerak, shuning uchun o'zgartirilgan ma'lumotlarga kirish uchun boshqa tizimlar haqida ma'lumot talab qilinmaydi.

5. Tizimlar

Tizimlar dvigatelning bir qismi bo'lib, u o'yin funktsiyalarini bajarishga javobgardir. Ular barcha asosiy vazifalarni bajaradilar, ularsiz dvigatel mantiqqa to'g'ri kelmaydi. Dvigatel va tizimlarning o'zaro ta'siri interfeyslar yordamida amalga oshiriladi ("Tizim interfeyslari" bo'limining 4.3 -bandiga qarang). Bu dvigatelga har xil turdagi tizimlar haqida ma'lumot yuklamaslik uchun kerak. Interfeyslar yangi tizimni qo'shishni ancha osonlashtiradi, chunki dvigatelni ishga tushirishning barcha tafsilotlarini ko'rib chiqish shart emas.

5.1. Turlari

Dvigatel tizimlarini taxminan mos keladigan bir nechta oldindan belgilangan toifalarga bo'lish mumkin standart komponentlar o'yinlar. Masalan: geometriya, grafik, fizika (qattiq to'qnashuv), tovush, kirishni qayta ishlash, AI va animatsiya.
Nostandart funktsiyali tizimlar alohida toifaga kiradi. Ma'lum bir toifadagi ma'lumotlarni o'zgartiradigan har qanday tizim ushbu toifadagi interfeysdan xabardor bo'lishi kerakligini tushunish kerak, chunki dvigatel bunday ma'lumotni bermaydi.

5.2. Tizim komponentlari

Har bir tizim uchun bir nechta komponentlar qo'llanilishi kerak. Ulardan ba'zilari: tizim, sahna, ob'ekt va vazifa. Bu komponentlarning barchasi dvigatelning turli qismlari bilan o'zaro ta'sir qilish uchun ishlatiladi.
Quyidagi diagrammada turli komponentlarning o'zaro ta'siri tasvirlangan.


9 -rasm. Tizim komponentlari

Dvigatel tizimlari o'rtasidagi ulanishlarning batafsil diagrammasi "Dvigatel va tizimlarning o'zaro ta'siri sxemasi" B ilovasida keltirilgan.

5.2.1. Tizim
"Tizim" komponenti yoki oddiygina tizim dvigatelning ishlashi davomida deyarli o'zgarmaydigan tizim resurslarini ishga tushirish uchun javobgardir. Masalan, grafik tizim resurs manzillarini tahlil qilib, ularning qayerda joylashganligini aniqlaydi va resursdan foydalanganda yuklashni tezlashtiradi. Shuningdek, u ekran o'lchamlarini o'rnatadi.
Tizim ramka uchun asosiy kirish nuqtasidir. U o'zi haqida ma'lumot beradi (masalan, tizim turi), shuningdek sahnalarni yaratish va o'chirish usullari.
5.2.2. Sahna
Sahna komponenti yoki tizim sahnasi hozirgi sahna bilan bog'liq resurslarni boshqarish uchun javobgardir. Umumiy sahna funktsional imkoniyatlaridan foydalanib, funksionallikni kengaytirish uchun tizimli sahnalardan foydalanadi. Misol - bu yangi o'yin dunyosini yaratish uchun ishlatiladigan va sahnani boshlashda undagi tortishish kuchlarini aniqlaydigan jismoniy sahna.
Sahnalar ob'ektlarni yaratish va yo'q qilish usullarini, shuningdek, sahnani qayta ishlash uchun "vazifa" komponentini va unga kirish usulini beradi.
5.2.3. Ob'ekt
Ob'ekt komponenti yoki tizim ob'ekti sahnaga tegishli va odatda foydalanuvchining ekranda ko'rganlari bilan bog'liq. Umumiy ob'ekt o'z xususiyatlarini ochib berish orqali funksionallikni kengaytirish uchun tizim ob'ektidan foydalanadi.
Yog'och nurni ekranda ko'rsatish uchun umumiy ob'ektning geometrik, grafik va jismoniy kengaytmasi misol bo'la oladi. Geometrik xususiyatlarga ob'ektning joylashuvi, yo'nalishi va ko'lami kiradi. Grafik tizim uni ko'rsatish uchun maxsus panjara ishlatadi. Va jismoniy tizim unga boshqa jismlar bilan o'zaro ta'sirlarni va tortishish kuchlarini hisoblash uchun qattiq jismning xususiyatlarini beradi.

Ba'zi hollarda tizim ob'ekti umumiy ob'ekt yoki uning kengaytmalaridan birining o'zgarishini hisobga olishi kerak. Shu maqsadda, siz kiritilgan o'zgarishlarni kuzatadigan maxsus munosabatlarni yaratishingiz mumkin.

5.2.4. Vazifa
Vazifani qayta ishlash uchun vazifa komponenti yoki tizim vazifasi ishlatiladi. Vazifa vazifa menejeridan sahnani yangilash buyrug'ini oladi. Bu sahna ob'ektlarida tizim funktsiyalarini bajarish uchun signaldir.
Vazifaning bajarilishini kichik vazifalarga bo'lish mumkin, ularni vazifa menejeri yordamida ham ko'proq sonli iplarga tarqatish mumkin. u qulay usul dvigatelni bir nechta protsessorlarga o'tkazish. Bu usul ma'lumotlarni dekompozitsiya qilish deyiladi.
Sahna vazifalarini yangilash jarayonida ob'ekt o'zgarishi haqidagi ma'lumotlar davlat boshqaruvchisiga beriladi. Davlat boshqaruvchisi haqida batafsil ma'lumotni 3.2.2 bo'limiga qarang.

6. Barcha komponentlarni birlashtirish

Yuqorida tavsiflangan barcha elementlar bir -biri bilan bog'liq va bir butunning bir qismidir. Dvigatel ishini taxminan bir necha bosqichlarga bo'lish mumkin, ular keyingi bo'limlarda tasvirlangan.

6.1. Boshlanish bosqichi

Dvigatel menejerlar va tizimning ishga tushirilishi bilan boshlanadi.
  • Ramka sahna yuklagichini chaqiradi.
  • Sahna qaysi tizimlardan foydalanishini aniqlagandan so'ng, yuklovchi platforma menejerini tegishli modullarni yuklashga chaqiradi.
  • Platforma menejeri tegishli modullarni yuklaydi va ularni interfeys menejeriga uzatadi, so'ngra ularni yangi tizim yaratishga chaqiradi.
  • Modul yuklagichga tizim interfeysini amalga oshiradigan tizim misoliga ko'rsatgichni qaytaradi.
  • Xizmat menejeri tizim moduli taqdim etadigan barcha xizmatlarni ro'yxatga oladi.


Shakl 10. Menejerlar va dvigatel tizimlarining ishga tushirilishi

6.2. Sahna yuklash bosqichi

Boshqaruv sahnani yuklaydigan yuklovchiga qaytariladi.
  • Yuklagich umumiy manzarani yaratadi. Tizim sahnalarini yaratish uchun u umumiy interfeysning funktsional imkoniyatlarini kengaytirib, tizim interfeyslarini chaqiradi.
  • Umumjahon sahna har bir tizim sahnasi qanday ma'lumotlarni o'zgartirishi mumkinligini va qanday o'zgarishlarni qabul qilishi kerakligini aniqlaydi.
  • Muayyan o'zgarishlarni amalga oshiradigan va ular haqida xabardor bo'lishni istagan sahnalarni moslashtirish orqali, umumiy sahna ko'rinishi bu ma'lumotlarni davlat boshqaruvchisiga uzatadi.
  • Sahnadagi har bir ob'ekt uchun yuklovchi umumiy ob'ektni yaratadi, so'ngra qaysi ob'ektlar umumiy ob'ektni kengaytirishi aniqlanadi. Tizim ob'ektlari orasidagi yozishmalar sahnalar uchun ishlatilgan tarzda aniqlanadi. Shuningdek, u davlat boshqaruvchisiga topshiriladi.
  • Yuklagich natijali sahna interfeyslaridan tizim ob'ektlarini ishga tushirish va ularni umumiy ob'ektlarni kengaytirish uchun ishlatadi.
  • Rejalashtiruvchi bu ma'lumotni vazifa menejeriga ish vaqtida uzatishi uchun sahna interfeyslarini asosiy vazifalari uchun so'raydi.


Shakl 11. Umumjahon sahna va ob'ektni ishga tushirish

6.3. O'yin tsiklining bosqichi

  • Platforma menejeri oyna xabarlarini va joriy platformaning ishlashi uchun zarur bo'lgan boshqa elementlarni qayta ishlash uchun ishlatiladi.
  • Keyin nazorat rejalashtiruvchiga o'tadi, u soat oxirigacha ishlashini kutadi.
  • Vaqt oxirida, bosqichma-bosqich bepul rejimda, rejalashtiruvchi qaysi vazifalar bajarilganligini tekshiradi. Barcha bajarilgan vazifalar (ya'ni ishga tayyor) vazifa menejeriga o'tkaziladi.
  • Rejalashtiruvchi joriy belgida qaysi vazifalar bajarilishini aniqlaydi va ularning bajarilishini kutadi.
  • Qattiq qadam rejimida bu operatsiyalar har bir o'lchovda takrorlanadi. Rejalashtiruvchi barcha vazifalarni menejerga topshiradi va ularning bajarilishini kutadi.
6.3.1. Vazifani bajarish
Nazorat vazifa menejeriga topshiriladi.
  • Bu qabul qilingan barcha topshiriqlarning navbatini tashkil qiladi, keyin bo'sh iplar paydo bo'lgach, ularning bajarilishini boshlaydi. (Vazifalarni bajarish jarayoni tizimga qarab farq qiladi. Tizimlar faqat bitta vazifa bilan ishlashi mumkin yoki bir vaqtning o'zida navbatdan bir nechta vazifalarni bajarishi mumkin, shu bilan parallel bajariladi).
  • Ijro jarayonida vazifalar butun sahna bilan yoki faqat ma'lum ob'ektlar bilan, ichki ma'lumotlarini o'zgartirib ishlashi mumkin.
  • Umumiy ma'lumotlarning o'zgarishi (masalan, pozitsiya yoki yo'nalish) haqida tizimga xabar berish kerak. Shuning uchun, vazifa bajarilgach, tizim sahnasi yoki ob'ekti kuzatuvchiga har qanday o'zgarishlar haqida xabar beradi. Bunday holda, kuzatuvchi, aslida, davlat boshqaruvchisi tarkibiga kiruvchi o'zgarishlarni boshqaruvchi vazifasini bajaradi.
  • O'zgarishlarni boshqaruvchi keyingi ishlov berish uchun o'zgarishlar to'g'risida bildirishnomalar navbatini yaratadi. U berilgan kuzatuvchiga ta'sir qilmaydigan o'zgarishlarga e'tibor bermaydi.
  • Muayyan xizmatlardan foydalanish uchun vazifa menejer bilan bog'lanadi. Xizmat menejeri, shuningdek, xabar almashish mexanizmida uzatish uchun mavjud bo'lmagan boshqa tizimlarning xususiyatlarini o'zgartirishga imkon beradi (masalan, ma'lumotlarni kiritish tizimi ekran kengaytmasini o'zgartiradi - grafik tizimning xossasi).
  • Vazifalar, shuningdek, atrof -muhit o'zgaruvchilarini olish va bajarilish holatini o'zgartirish uchun atrof -muhit menejeri bilan bog'lanishi mumkin (bajarishni to'xtatib turish, keyingi sahnaga o'tish va hk).


Shakl 12. Vazifa menejeri va vazifalar

6.3.2. Ma'lumotlar yangilanmoqda
Joriy belgi uchun barcha vazifalarni bajarib bo'lgach, asosiy o'yin tsikli shtat menejerini ma'lumotlarni yangilash bosqichini boshlashga chaqiradi.
  • Shtat menejeri o'z navbatida har bir o'zgarish nazoratchisini yig'ilgan xabarnomalarni yuborish uchun chaqiradi. Nazoratchi har bir mavzu bo'yicha qaysi kuzatuvchilarga o'zgarish xabarnomalarini yuborishini tekshiradi.
  • Keyin u kerakli kuzatuvchini chaqiradi va unga o'zgarish haqida xabar beradi (xabarnomada mavzu interfeysiga ko'rsatgich ham kiradi). Erkin qadam rejimida kuzatuvchi o'zgarishlarni boshqaruvchidan o'zgartirilgan ma'lumotlarni oladi, lekin qattiq qadam rejimida uni ob'ektning o'zidan so'rashi kerak.
  • Odatda, tizim ob'ektlarining o'zgarishi to'g'risida bildirishnomalarni olishdan manfaatdor bo'lgan kuzatuvchilar, xuddi shu umumiy ob'ekt bilan bog'liq bo'lgan boshqa tizim ob'ektlari. Bu sizga o'zgarishlarni bir vaqtning o'zida bajarilishi mumkin bo'lgan bir nechta vazifalarga bo'lish imkonini beradi. Sinxronizatsiya jarayonini soddalashtirish uchun barcha umumiy Umumiy ob'ekt kengaytmalarini bitta vazifada birlashtirish mumkin.
6.3.3. Jarayonni tekshirish va chiqish
O'yin tsiklining oxirgi bosqichi - bu ish vaqti holatini tekshirish. Bunday holatlar bir nechta: yugurish, pauza qilish, keyingi sahna va boshqalar. Agar "ishlayotgan" holat tanlansa, tsiklning navbatdagi takrorlanishi boshlanadi. Chiqish holati tsiklning tugashi, resurslarning chiqarilishi va ilovadan chiqishni bildiradi. Boshqa shtatlar amalga oshirilishi mumkin, masalan, "pauza", "keyingi sahna" va boshqalar.

7. Xulosa

Ushbu maqolaning asosiy g'oyasi "Parallel ijro holati" 2 -bo'limida keltirilgan. Funktsional parchalanish va ma'lumotlar dekompozitsiyasi tufayli nafaqat dvigatelning ko'p ishlov berishini, balki kelajakda uning yadrolarini yanada kattalashtirish imkoniyatini ham amalga oshirish mumkin. Ma'lumotlaringizni yangilab turganda, sinxronizatsiya xarajatlarini bartaraf etish uchun, xabar almashishdan tashqari, davlat menejerlaridan foydalaning.

Observer modeli xabar almashish mexanizmining vazifasidir. Dvigatel uchun uni amalga oshirishning eng yaxshi usulini tanlash uchun uning qanday ishlashini yaxshi tushunish kerak. Aslida, bu turli xil tizimlarning o'zaro ta'siri mexanizmi bo'lib, u umumiy ma'lumotlarni sinxronlashtirishni ta'minlaydi.

Vazifalarni boshqarish yuklarni muvozanatlashda muhim rol o'ynaydi. D ilovasi o'yin mexanizmi uchun samarali vazifa menejerini yaratish bo'yicha maslahatlar beradi.

Ko'rib turganingizdek, yaxshi aniqlangan tuzilish va xabar almashish mexanizmi tufayli o'yin dvigatelini ko'p ishlov berish mumkin. Bu hozirgi va kelajakdagi protsessorlarning ish faoliyatini sezilarli darajada yaxshilashi mumkin.

Qo'shimcha A. Dvigatel sxemasi

Qayta ishlash asosiy o'yin tsiklidan boshlanadi (4 -rasmga qarang, "Asosiy o'yin tsikli").


Qo'shimcha B. Dvigatel va tizimlarning o'zaro ta'siri sxemasi


Ilova C. Kuzatuvchi (dizayn namunasi)

Observer modeli "Ob'ektga yo'naltirilgan dizayn texnikasi" kitobida batafsil tasvirlangan. Dizayn naqshlari ", E. Gamma, R. Xelm, R. Jonson, J. Vlissides (" Dizayn naqshlari: qayta ishlatiladigan ob'ektga yo'naltirilgan dasturiy ta'minot elementlari ", Gamma E., Helm R., Jonson R., Vlissides J.). Yoqilgan ingliz tili birinchi marta 1995 yilda Addison-Uesli tomonidan nashr etilgan.

Ushbu modelning asosiy g'oyasi quyidagicha: agar ba'zi elementlarga boshqa elementlarning o'zgarishi to'g'risida xabar berish kerak bo'lsa, unda barcha kerakli o'zgarishlar ro'yxatini ko'rib chiqish shart emas, undagi kerakli ma'lumotlarni topishga harakat qilinadi. Model o'zgarish haqida bildirishnoma yuborish uchun ishlatiladigan aktyor va kuzatuvchining mavjudligini nazarda tutadi. Kuzatuvchi mavzudagi har qanday o'zgarishlarni kuzatadi. O'zgarishlarni boshqaruvchi bu ikki komponent o'rtasida vositachi vazifasini bajaradi. Quyidagi diagrammada bu munosabatlar ko'rsatilgan.


13 -rasm. Kuzatuvchi shabloni

Ushbu modelni ishlatish jarayoni quyida tasvirlangan.

  1. O'zgarishlarni boshqaruvchi kuzatuvchini va unga xabar berishni istagan sub'ektni ro'yxatga oladi.
  2. O'zgarishlarni boshqaruvchi aslida kuzatuvchi. Kuzatuvchi o'rniga, sub'ekt bilan birga, u o'zini ro'yxatdan o'tkazadi. O'zgarishlarni boshqaruvchi, shuningdek, kuzatuvchilar va ular bilan ro'yxatdan o'tgan sub'ektlar ro'yxatini yuritadi.
  3. O'zgarishlar to'g'risida xabardor bo'lishni istagan kuzatuvchilar ro'yxatiga kuzatuvchi (ya'ni o'zgarishlarni boshqaruvchi) qo'shiladi. Ba'zida o'zgarish turi qo'shimcha ravishda ko'rsatiladi, bu kuzatuvchining qaysi o'zgarishlarga qiziqishini aniqlaydi. Bu sizga o'zgarishlar to'g'risida bildirishnoma yuborish jarayonini soddalashtirish imkonini beradi.
  4. Ma'lumot yoki holatni o'zgartirganda, sub'ekt kuzatuvchini qayta qo'ng'iroq qilish mexanizmi orqali xabardor qiladi va o'zgartirilgan turlar haqida ma'lumot beradi.
  5. O'zgarishlarni boshqaruvchi o'zgarishlar to'g'risida xabarlar navbatini yaratadi va ularni ob'ektlar va tizimlarga tarqatish uchun signalni kutadi.
  6. Ajratish paytida o'zgarishlarni boshqaruvchi haqiqiy kuzatuvchilar bilan gaplashadi.
  7. Kuzatuvchilar mavzudan o'zgartirilgan ma'lumotlar yoki holat haqida ma'lumot so'rashadi (yoki ularni bildirishnomalar bilan birga olishadi).
  8. Kuzatuvchini o'chirishdan oldin, yoki unga mavzu haqida xabar berishning hojati bo'lmasa, o'zgarishlarni nazorat qilish moslamasidagi obunani olib tashlaydi.
Juda ko'p .. lar bor har xil yo'llar vazifalarni taqsimlashni amalga oshirish. Biroq, ishchi iplar sonini mavjud platformali mantiqiy protsessorlar soniga teng saqlash yaxshidir. Vazifalarni ma'lum bir mavzuga bog'lamaslikka harakat qiling. Turli tizimlarning vazifalarini bajarish vaqti har doim ham mos kelavermaydi. Bu ish yuklarining ishchi iplari o'rtasida notekis taqsimlanishiga olib kelishi va samaradorlikka ta'sir qilishi mumkin. Bu jarayonni osonlashtirish uchun vazifalarni boshqarish kutubxonalaridan foydalaning

Ko'p ishlov berish nazariyasi bilan shug'ullanib, amaliy misolni ko'rib chiqaylik - Pentium 4. Bu protsessorni ishlab chiqish bosqichida Intel muhandislari dastur interfeysiga o'zgartirishlar kiritmasdan, uning ish faoliyatini oshirish ustida ishlashni davom ettirdilar. Eng oddiy beshta usul ko'rib chiqildi:
1. Soat chastotasini oshiring.
2. Bitta mikrosxemaga ikkita protsessorni joylashtirish.
3. Yangi funktsional bloklarni joriy etish.
1. Konveyerning uzaytirilishi.
2. Ko'p ishlov berishdan foydalanish.
Ishlashni yaxshilashning eng aniq usuli - boshqa parametrlarni o'zgartirmasdan soat tezligini oshirish. Qoida tariqasida, har bir keyingi protsessor modeli avvalgisidan biroz yuqori soat tezligiga ega. Afsuski, soat chastotasining to'g'ri chiziqli o'sishi bilan ishlab chiquvchilar ikkita muammoga duch kelmoqdalar: quvvat sarfini ko'paytirish (bu portativ kompyuterlar va batareyalarda ishlaydigan boshqa hisoblash qurilmalari uchun muhim) va haddan tashqari qizib ketish (buning uchun yanada samarali issiqlik qabul qilgichlar kerak).
Ikkinchi usul - ikkita protsessorni mikrosxemaga joylashtirish - nisbatan sodda, lekin u mikrosxemaning egallagan maydonini ikki baravar ko'paytirishni o'z ichiga oladi. Agar har bir protsessor o'zining kesh xotirasi bilan ta'minlansa, plastinkadagi chiplar soni ikki baravar kamayadi, lekin bu ishlab chiqarish xarajatlarini ikki barobar ko'payishini ham anglatadi. Ikkala protsessor uchun umumiy keshni ta'minlab, izning sezilarli darajada oshishiga yo'l qo'ymaslik mumkin, lekin bu holda boshqa muammo paydo bo'ladi - protsessor uchun kesh xotirasining miqdori ikki baravar kamayadi va bu muqarrar ravishda ishlashga ta'sir qiladi. Bundan tashqari, professional server dasturlari bir nechta protsessorlarning resurslaridan to'liq foydalana oladigan bo'lsa, oddiy ish stoli dasturlarida ichki parallellik ancha kam rivojlangan.
Yangi funktsional bloklarni joriy etish ham qiyin emas, lekin bu erda muvozanatni saqlash muhim. ALUning o'nlab bloklarida, agar mikrosxemalar konveyerga shunday tezlik bilan buyruq bera olmasa, bu bloklarning hammasi yuklanishi mumkin bo'lsa, nima keragi bor?
Vazifalarni kichikroq segmentlarga ajratib, qisqa vaqt ichida qayta ishlashga qodir pog'onali konveyer, bir tomondan, hosildorlikni oshiradi, boshqa tomondan, noto'g'ri taxmin qilingan o'tish, kesh o'tkazib yuborish, uzilishlarning salbiy oqibatlarini oshiradi. va protsessorda oqimni qayta ishlashning oddiy buyruqlarini buzadigan boshqa hodisalar. Bundan tashqari, kengaytirilgan quvur liniyasining imkoniyatlarini to'liq amalga oshirish uchun soat chastotasini oshirish kerak va bu, biz bilganimizdek, quvvat sarfining oshishiga va issiqlik tarqalishiga olib keladi.
Nihoyat, siz ko'p ishlov berishni amalga oshirishingiz mumkin. Bu texnologiyaning afzalligi shundaki, u aks holda bo'sh turgan apparat resurslarini kiritish uchun qo'shimcha dasturiy ta'minotni joriy qiladi. Eksperimental tadqiqotlar natijalariga ko'ra, Intel dasturchilari ko'plab ilovalar uchun ko'p ishlov berishni joriy qilishda chiplar maydonining 5% ga oshishi 25% ishlashga erishishini aniqladi. Ko'p ishlov berishni qo'llab -quvvatlaydigan birinchi Intel protsessori 2002 yil Xeon edi. Keyinchalik, 3,06 gigagertsli chastotadan boshlab, Pentium 4 liniyasiga ko'p ishlov berish tizimi kiritildi, Intel Pentium 4 -da ko'p ishlov berishni hyperthreading deb ataydi.
Giper -tishning asosiy printsipi - bu bir vaqtning o'zida ikkita dasturiy ta'minotni bajarish (yoki jarayonlar - protsessor jarayonlar va dasturiy ta'minot tarmoqlarini farq qilmaydi). Operatsion tizim giper-tiqilishni o'ylamoqda Pentium protsessori 4 umumiy keshlar va asosiy xotiraga ega ikkita protsessorli kompleks sifatida. Operatsion tizim har bir dastur oqimi uchun jadvalni alohida bajaradi. Shunday qilib, ikkita dastur bir vaqtning o'zida ishlashi mumkin. Masalan, pochta dasturi xabarlarni yuborishi yoki qabul qilishi mumkin fon foydalanuvchi interaktiv ilova bilan o'zaro aloqa qilganda - demak va dastur bir vaqtning o'zida ishlaydi, go'yo tizimda ikkita protsessor mavjud.
Bir nechta dasturlar tarmog'i sifatida ishlaydigan dasturlar ikkala "virtual protsessor" dan foydalanishi mumkin. Masalan, video tahrirlash dasturlari odatda foydalanuvchilarga barcha kadrlarga filtrlarni qo'llash imkonini beradi. Bu filtrlar ramkalarning yorqinligi, kontrasti, rang balansi va boshqa xususiyatlarini rostlaydi. Bunday holatda, dastur bitta virtual protsessorni hatto kadrlarni, ikkinchisini esa toq freymlarni qayta ishlash uchun tayinlashi mumkin. Bunday holda, ikkita protsessor bir -biridan mutlaqo mustaqil ishlaydi.
Dasturiy ta'minot tarmoqlari bir xil apparat resurslariga kirganligi uchun, bu tarmoqlarni muvofiqlashtirish zarur. Hyperthreading kontekstida Intel resurslarni almashishni boshqarishning to'rtta foydali strategiyasini aniqladi: resurslarni takrorlash va qattiq, chegara va to'liq resurs almashish. Keling, ushbu strategiyalarni ko'rib chiqaylik.
Resurslarning takrorlanishidan boshlaylik. Ma'lumki, dasturlar oqimini tashkil qilish maqsadida ba'zi manbalar takrorlanadi. Masalan, har bir dastur oqimi individual nazoratga muhtoj bo'lgani uchun, ikkinchi ko'rsatgich hisoblagichi kerak bo'ladi. Bundan tashqari, arxitektura registrlarini (EAX, EBX va boshqalar) jismoniy registrlarga xaritalash uchun ikkinchi jadvalni kiritish zarur; Xuddi shunday, uzilishni boshqarish moslamasi takrorlanadi, chunki har bir uzatish uchun uzilish alohida bajariladi.
Quyida texnika keltirilgan qattiq bo'linish resurslar (ajratilgan manbalar almashinuvi) dastur oqimlari o'rtasida. Masalan, agar protsessor quvur liniyasining ikkita funktsional bosqichi o'rtasida navbatni ta'minlasa, u holda uyalarning yarmi 1 -ipga, qolgan yarmi 2 -bandga berilishi mumkin. Resurslarni almashish oson, nomutanosiblikka olib kelmaydi va dasturlarning bir -biridan to'liq mustaqilligini ta'minlaydi. Barcha resurslarni to'liq almashish bilan bitta protsessor ikkiga aylanadi. Boshqa tomondan, vaziyat yuzaga kelishi mumkin, bunda bitta dastur oqimi ikkinchi oqim uchun foydali bo'lishi mumkin bo'lgan resurslardan foydalanmaydi, lekin u kirish huquqiga ega emas. Natijada, boshqacha ishlatilishi mumkin bo'lgan resurslar ishlamay qoladi.
Qattiq almashishning aksi - bu resurslarni to'liq almashish. Ushbu sxemada har qanday dasturiy ta'minot kerakli manbalarga kira oladi va ularga kirish so'rovlari qabul qilingan tartibda xizmat ko'rsatiladi. Vaziyatni ko'rib chiqaylik, unda birinchi navbatda qo'shish va ayirish operatsiyalaridan iborat tez oqim ko'paytirish va bo'linish amallarini bajaradigan sekin oqim bilan birga bo'ladi. Agar ko'rsatmalar xotiradan ko'payish va bo'linish operatsiyalari bajarilishidan ko'ra tezroq chaqirilsa, sekin oqim ichida chaqiriladigan va quvurga navbatga qo'yilgan ko'rsatmalar soni asta -sekin o'sib boradi. Oxir -oqibat, bu buyruqlar navbatni to'ldiradi, natijada bo'sh joy yo'qligi sababli tez oqim to'xtaydi. Resurslarni to'liq almashish umumiy resurslardan unumli foydalanish muammosini hal qiladi, lekin ularni iste'mol qilishda nomutanosiblikni yuzaga keltiradi - bir ip boshqasini sekinlashtirishi yoki to'xtatishi mumkin.
Oraliq sxema resurslarning chegaraviy almashinuvi doirasida amalga oshiriladi. Ushbu sxema bo'yicha, har qanday dasturiy ta'minot tarmog'i ma'lum miqdordagi (cheklangan) resurslarni dinamik ravishda sotib olishi mumkin. Takroriy manbalarga nisbatan qo'llanilganda, bu yondashuv resurslarni ololmagani uchun dasturlarning birida uzilishlar xavfisiz moslashuvchanlikni ta'minlaydi. Agar siz, masalan, har bir ipning buyruqlar navbatining 3/4 qismidan ko'prog'ini egallashini taqiqlasangiz, sekin oqimning resurs sarfi tez bajarilishiga to'sqinlik qilmaydi.
Pentium 4 giper-tishli modeli turli xil resurs almashish strategiyalarini birlashtiradi. Shunday qilib, har bir strategiya bilan bog'liq barcha muammolarni echishga harakat qilinadi. Takrorlash har ikkala dastur oqimlari tomonidan doimiy ravishda talab qilinadigan manbalarga nisbatan amalga oshiriladi (xususan, buyruqlar hisoblagichi, registrni xaritalash jadvali va uzilishlar nazoratchisi). Ushbu resurslarning takrorlanishi mikrosxemaning maydonini atigi 5% ga oshiradi - rozi bo'ling, ko'p ishlov berish uchun juda mos narx. Bunday hajmda mavjud bo'lgan resurslar, ularni bitta oqim (masalan, kesh satrlari) qo'lga kiritishi deyarli imkonsiz bo'lib, dinamik ravishda taqsimlanadi. Quvurning ishlashini boshqaradigan manbalarga kirish (xususan, uning ko'p sonli navbatlari) bo'linadi - uyalarning yarmi har bir dastur chizig'iga tayinlangan. Pentium 4 Netburst arxitekturasining asosiy quvuri rasmda ko'rsatilgan. 8.7; bu rasmdagi oq va kulrang joylar oq va kulrang dastur oqimlari o'rtasida resurslarni taqsimlash mexanizmini ifodalaydi.
Ko'rib turganingizdek, bu rasmdagi barcha navbatlar ajratilgan - uyalarning yarmi har bir dastur chizig'iga ajratilgan. Hech bir ip boshqasining ishini cheklay olmaydi. Tarqatish va almashtirish bloki ham bo'linadi. Rejalashtiruvchi resurslari dinamik ravishda taqsimlanadi, lekin chegaraga qarab, shuning uchun hech qanday ip navbatdagi barcha uyalarni egallay olmaydi. Konveyerning boshqa barcha bosqichlari uchun to'liq ajratish amalga oshiriladi.
Biroq, ko'p ishlov berish unchalik oson emas. Hatto bu progressiv texnikaning ham kamchiliklari bor. Qattiq resurs almashish katta xarajat bilan ta'minlanmaydi, lekin dinamik bo'linish, ayniqsa chegaralar bo'yicha, ish vaqtida resurslar sarfini kuzatishni talab qiladi. Bundan tashqari, ba'zi hollarda, dasturlar ko'p ishlov berilmasdan, unga qaraganda ancha yaxshi ishlaydi. Misol uchun, agar sizda ikkita mavzu bo'lsa, ularning har biri to'g'ri ishlashi uchun keshning 3/4 qismini talab qiladi. Agar ular o'z navbatida ijro etilsa, ularning har biri oz miqdordagi keshni o'tkazib yuborish bilan etarli samaradorlikni ko'rsatar edi (bilasizki, qo'shimcha xarajatlar bilan bog'liq). Parallel bajarilgan taqdirda, ularning har birida keshni o'tkazib yuborish soni sezilarli darajada oshadi va yakuniy natija ko'p ishlamasdan yomonroq bo'ladi.
RepPit 4 -ning ko'p ishlov berish mexanizmi haqida ko'proq ma'lumotni bu erda topishingiz mumkin.

Ko'p ishlov berish nazariyasi bilan shug'ullanib, amaliy misolni ko'rib chiqaylik - Pentium 4. Bu protsessorni ishlab chiqish bosqichida Intel muhandislari dastur interfeysiga o'zgartirishlar kiritmasdan, uning ish faoliyatini oshirish ustida ishlashni davom ettirdilar. Eng oddiy beshta usul ko'rib chiqildi:

Soat chastotasini oshirish;

Bitta mikrosxemaga ikkita protsessorni joylashtirish;

Yangi funktsional bloklarni joriy etish;

Konveyerni uzaytirish;

Ko'p ishlov berishdan foydalanish.

Ishlashni yaxshilashning eng aniq usuli - boshqa parametrlarni o'zgartirmasdan soat tezligini oshirish. Qoida tariqasida, har bir keyingi protsessor modeli avvalgisidan biroz yuqori soat tezligiga ega. Afsuski, soat chastotasining to'g'ri chiziqli o'sishi bilan ishlab chiquvchilar ikkita muammoga duch kelmoqdalar: quvvat sarfini ko'paytirish (bu portativ kompyuterlar va batareyalarda ishlaydigan boshqa hisoblash qurilmalari uchun muhim) va haddan tashqari qizib ketish (buning uchun yanada samarali issiqlik qabul qilgichlar kerak).

Ikkinchi usul - ikkita protsessorni mikrosxemaga joylashtirish - nisbatan sodda, lekin u mikrosxemaning egallagan maydonini ikki baravar ko'paytirishni o'z ichiga oladi. Agar har bir protsessor o'zining kesh xotirasi bilan ta'minlansa, plastinkadagi chiplar soni ikki baravar kamayadi, lekin bu ishlab chiqarish xarajatlarini ikki barobar ko'payishini ham anglatadi. Ikkala protsessor uchun umumiy keshni ta'minlab, izning sezilarli darajada oshishiga yo'l qo'ymaslik mumkin, lekin bu holda boshqa muammo paydo bo'ladi - protsessor uchun kesh xotirasining miqdori ikki baravar kamayadi va bu muqarrar ravishda ishlashga ta'sir qiladi. Bundan tashqari, professional server dasturlari bir nechta protsessorlarning resurslaridan to'liq foydalana oladigan bo'lsa, oddiy ish stoli dasturlarida ichki parallellik ancha kam rivojlangan.

Yangi funktsional bloklarni joriy etish ham qiyin emas, lekin bu erda muvozanatni saqlash muhim. ALUning o'nlab bloklarida, agar mikrosxemalar konveyerga shunday tezlik bilan buyruq bera olmasa, bu bloklarning hammasi yuklanishi mumkin bo'lsa, nima keragi bor?

Vazifalarni kichikroq segmentlarga ajratib, qisqa vaqt ichida qayta ishlashga qodir pog'onali konveyer, bir tomondan, hosildorlikni oshiradi, boshqa tomondan, noto'g'ri taxmin qilingan o'tish, kesh o'tkazib yuborish, uzilishlarning salbiy oqibatlarini oshiradi. va protsessorda oqimni qayta ishlashning oddiy buyruqlarini buzadigan boshqa hodisalar. Bundan tashqari, kengaytirilgan quvur liniyasining imkoniyatlarini to'liq amalga oshirish uchun soat chastotasini oshirish kerak va bu, biz bilganimizdek, quvvat sarfining oshishiga va issiqlik tarqalishiga olib keladi.

Nihoyat, siz ko'p ishlov berishni amalga oshirishingiz mumkin. Bu texnologiyaning afzalligi shundaki, u aks holda bo'sh turgan apparat resurslarini kiritish uchun qo'shimcha dasturiy ta'minotni joriy qiladi. Eksperimental tadqiqotlar natijalariga ko'ra, Intel dasturchilari ko'plab ilovalar uchun ko'p ishlov berishni amalga oshirishda chiplar maydonining 5% ga oshishi 25% ishlashga olib keladi. Ko'p ishlov berishni qo'llab -quvvatlaydigan birinchi Intel protsessori 2002 yil Heon edi. Keyinchalik, 3.06 gigagertsli chastotadan boshlab, Pentium 4 liniyasiga ko'p ishlov berish tizimi kiritildi, Intel Pentium 4 -da ko'p ishlov berishni hyperthreading deb ataydi.

Kirish. Kompyuter texnologiyalari tez rivojlanmoqda. Hisoblash qurilmalari kuchliroq, ixcham va qulayroq bo'lib bormoqda, lekin yaqinda qurilmalarning ish faoliyatini yaxshilash katta muammoga aylandi. 1965 yilda Gordon Mur (Intel asoschilaridan biri) "integral mikrosxemaga joylashtirilgan tranzistorlar soni har 24 oyda ikki baravar ko'payadi" degan xulosaga keldi.

Ko'p protsessorli tizimlarni yaratish sohasidagi birinchi o'zgarishlar 70 -yillarda boshlangan. Uzoq vaqt davomida bir yadroli protsessorlarning ishlashi soat chastotasini oshirish orqali oshdi (ishlashning 80 foizigacha faqat soat chastotasi aniqlandi) va bir vaqtning o'zida chipdagi tranzistorlar sonining ko'payishi. Fizikaning asosiy qonunlari bu jarayonni to'xtatdi: chiplar qizib keta boshladi, texnologik kremniy atomlari hajmiga yaqinlasha boshladi. Bu omillarning barchasi quyidagilarga olib keldi:

  • oqish oqimlari oshdi, buning natijasida issiqlik ishlab chiqarish va quvvat sarfi oshdi.
  • protsessor xotiradan ancha "tezroq" bo'lib qoldi. Operativ xotiraga kirishda va ma'lumotlarni keshga yuklashda kechikish tufayli ishlash yomonlashdi.
  • "von Neyman darboğazi" degan narsa bor. Bu dasturni bajarishda protsessor arxitekturasining samarasizligini bildiradi.

Ko'p protsessorli tizimlar (masalani hal qilish usullaridan biri sifatida) keng qo'llanilmadi, chunki ular qimmat protsessorli tizimlarni ishlab chiqarishni talab qilardi. anakartlar... Shu asosda hosildorlik boshqa yo'llar bilan oshdi. Ko'p ishlov berish kontseptsiyasi samarali bo'ldi - bir vaqtning o'zida bir nechta buyruqlar oqimini qayta ishlash.

Hyper-Threading texnologiyasi (HTT) yoki Hyper-Threading texnologiyasi, bu protsessorga bitta yadroda bir nechta ishlarni bajarishga imkon beradi. Aynan HTT, ko'pgina mutaxassislarning fikricha, ko'p yadroli protsessorlarni yaratish uchun zaruriy shartga aylangan. Bir vaqtning o'zida bir nechta ishlarni bajaradigan protsessor iplar darajasidagi parallelizm (TLP-mavzu darajasidagi parallellik) deb ataladi.

Ko'p yadroli protsessor imkoniyatlarini ochish uchun, bajariladigan dastur har doim ham erishib bo'lmaydigan barcha hisoblash yadrolaridan foydalanishi kerak. Faqat bitta yadrodan foydalana oladigan eski ketma -ket dasturlar endi yangi avlod protsessorlarida tezroq ishlamaydi, shuning uchun dasturchilar yangi mikroprotsessorlarni ishlab chiqishda tobora ko'proq ishtirok etmoqda.

1. Umumiy tushunchalar

Arxitektura keng ma'noda ko'plab elementlardan tashkil topgan murakkab tizimning tavsifi.

Rivojlanish jarayonida yarimo'tkazgichli tuzilmalar (mikrosxemalar) rivojlanmoqda, shuning uchun protsessorlarni qurish tamoyillari, ularning tarkibiga kiradigan elementlar soni, o'zaro ta'sirini tashkil etish usuli doimo o'zgarib turadi. Shunday qilib, bir xil dizayn tamoyillariga ega bo'lgan protsessorlar odatda bir xil arxitekturali protsessorlar deb ataladi. Va bu printsiplarning o'zi protsessor arxitekturasi (yoki mikroarxitektura) deb ataladi.

Mikroprosessor (yoki protsessor) - kompyuterning asosiy komponenti. U ma'lumotlarni qayta ishlaydi, dasturlarni bajaradi va tizimdagi boshqa qurilmalarni boshqaradi. Dasturlarning qanchalik tez ishlashi protsessor quvvatiga bog'liq.

Yadro har qanday mikroprotsessorning tayanchidir. U silikon chipda joylashgan millionlab tranzistorlardan iborat. Mikroprosessor registrlar deb nomlangan maxsus hujayralarga bo'linadi umumiy maqsad(RON) Umuman olganda, protsessorning ishi ma'lum bir ketma -ketlikda xotiradan ko'rsatmalar va ma'lumotlarni olish va ularni bajarishdan iborat. Bundan tashqari, kompyuter tezligini oshirish uchun mikroprotsessor ichki kesh xotirasi bilan jihozlangan. Kesh xotira - bu ichki xotira bufer sifatida ishlatiladigan protsessor (RAM bilan aloqa uzilishlaridan himoya qilish uchun).

IBM -ga mos keladigan shaxsiy kompyuterlarda ishlatiladigan Intel protsessorlari mingdan ortiq yo'riqnomaga ega va ular kengaytirilgan buyruqlar to'plamiga ega protsessorlar - CISC -protsessorlari (CISC - Complex Instruction Set Computing) deb ataladi.

1.1 Yuqori samarali hisoblash. Parallellik

Hisoblash texnologiyalarining rivojlanish tezligini kuzatish oson: ENIACdan (umumiy foydalanish uchun birinchi elektron raqamli kompyuter) sekundiga bir necha ming operatsiyalarni bajaradigan Tianhe-2 superkompyuterigacha (sekundiga 1000 trillion suzuvchi nuqta operatsiyalari). Bu shuni anglatadiki, 60 yil ichida hisoblash tezligi trillion marta oshdi. Yuqori samarali hisoblash tizimlarini yaratish eng murakkab ilmiy va texnik muammolardan biridir. Hisoblash tezligini hisobga olsak texnik vositalar faqat bir necha million marta o'sdi, hisoblashning umumiy tezligi trillionlab marta oshdi. Bu ta'sirga hisoblashning barcha bosqichlarida parallellik qo'llanilishi natijasida erishiladi. Parallel hisoblash xotirani oqilona taqsimlashni, ma'lumotlarni uzatishning ishonchli usullarini va hisoblash jarayonlarini muvofiqlashtirishni izlashni talab qiladi.

1.2 Nosimmetrik ko'p ishlov berish

Simmetrik ko'p ishlov berish (qisqartirilgan SMP) yoki nosimmetrik ko'p ishlov berish - ko'p protsessorli tizimlarning maxsus arxitekturasi bo'lib, unda bir nechta protsessorlar umumiy xotiraga kirish imkoniga ega. Bu juda keng tarqalgan arxitektura bo'lib, u so'nggi paytlarda juda keng qo'llanilmoqda.

SMP -dan foydalanganda bir vaqtning o'zida bir nechta protsessorlar kompyuterda ishlaydi, ularning har biri o'z vazifasi bo'yicha. Yuqori sifatli operatsion tizimga ega SMP tizimi protsessorlar o'rtasida vazifalarni oqilona taqsimlab, ularning har biriga teng yukni ta'minlaydi. Biroq, xotiraga kirish muammosi bor, chunki hatto protsessorli tizimlar ham buni amalga oshirish uchun ancha vaqt talab etadi. Shunday qilib, SMPda RAMga kirish ketma -ket sodir bo'ladi: avval 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 narxidan tashqari, bunday tizimlar vazifalarning ko'p bosqichli bajarilishini ta'minlaydigan juda qimmat va sifatli dasturiy ta'minotni talab qiladi. Oddiy dasturlar (o'yinlar, matn muharrirlari) SMP tizimlarida samarali ishlamaydi, chunki ular bu parallellik darajasini ta'minlamaydilar. Agar siz biron bir dasturni SMP tizimiga moslashtirsangiz, u holda protsessorli tizimlarda ishlash juda samarasiz bo'lib qoladi, bu esa har xil tizimlar uchun bitta dasturning bir nechta versiyasini yaratish zarurligiga olib keladi. Istisno, masalan, ko'p protsessorli tizimlarni qo'llab-quvvatlaydigan ABLETON LIVE dasturi (musiqa yaratish va Dj-setlarni tayyorlash uchun mo'ljallangan). Agar siz oddiy dasturni ko'p protsessorli tizimda ishlatsangiz, u hali ham protsessorli tizimga qaraganda biroz tezroq ishlaydi. Bu boshqa bo'sh protsessorda bajariladigan apparat uzilishi (yadro bilan ishlash dasturini to'xtatish) deb ataladi.

SMP tizimi (parallel hisob -kitoblarga asoslangan boshqa tizimlar kabi) xotira shinasining o'tkazish qobiliyati kabi xotira parametrlariga talablarni oshiradi. Bu ko'pincha tizimdagi protsessorlar sonini cheklaydi (zamonaviy SMP tizimlari 16 protsessorgacha samarali ishlaydi).

Protsessorlar umumiy xotiraga ega bo'lgani uchun undan oqilona foydalanish va ma'lumotlarni muvofiqlashtirishga ehtiyoj bor. Ko'p protsessorli tizimda ma'lum bo'lishicha, umumiy xotira manbasi uchun bir nechta keshlar ishlaydi. Keshning muvofiqligi - bu umumiy resurs uchun alohida keshlarda saqlanadigan ma'lumotlarning yaxlitligini ta'minlaydigan kesh xossasi. Bu tushuncha- xotira muvofiqligi kontseptsiyasining alohida holati, bu erda bir nechta yadrolar umumiy xotiraga kirish imkoniyatiga ega (zamonaviy ko'p yadroli tizimlarda hamma joyda). Agar biz bu tushunchalarni umumiy ma'noda ta'riflasak, rasm quyidagicha bo'ladi: bir xil ma'lumotlar bloki har xil keshlarga yuklanishi mumkin, bu erda ma'lumotlar har xil usulda qayta ishlanadi.

Ma'lumotni o'zgartirish to'g'risida bildirishnomalarni ishlatmaslik xatolikka olib keladi. Keshning izchilligi bunday qarama -qarshiliklarni bartaraf etish va keshlardagi ma'lumotlar izchilligini saqlash uchun mo'ljallangan.

SMP tizimlari-Flynn hisoblash tizimlari tasnifi (Stenford universiteti professori, Palyn Associates asoschilaridan biri) MIMD (ko'p tuzilmali ko'p ma'lumotlar) kichik guruhi. Bu tasnifga ko'ra, parallel tizimlarning deyarli barcha turlarini MIMD deb tasniflash mumkin.

Ko'p protsessorli tizimlarning turlarga bo'linishi xotiradan foydalanish tamoyiliga ko'ra bo'linish asosida sodir bo'ladi. Bu yondashuv quyidagi muhim turlarni ajratishga imkon berdi

ko'p protsessorli tizimlar - ko'p protsessorlar (umumiy xotiraga ega bo'lgan ko'p protsessorli tizimlar) va ko'p kompyuterlar (alohida xotirali tizimlar). Parallel hisob -kitoblarda ishlatiladigan umumiy ma'lumotlar sinxronizatsiyani talab qiladi. Ma'lumotlarni sinxronlashtirish vazifasi eng muhim muammolardan biri bo'lib, uning echimi ko'p protsessorli va ko'p yadroli va shunga mos ravishda zarurdir. dasturiy ta'minot muhandislar va dasturchilar uchun ustuvor vazifadir. Ma'lumot almashish jismoniy xotira ajratish orqali amalga oshirilishi mumkin. Bunday yondashuv xotiraga bir xil bo'lmagan kirish (NUMA) deb nomlanadi.

Bu tizimlarga quyidagilar kiradi:

  • Ma'lumotlarni taqdim etish uchun faqat individual protsessor keshlari ishlatiladigan tizimlar (faqat keshli xotira arxitekturasi).
  • Turli xil protsessorlar uchun mahalliy keshlarning izchilligini ta'minlaydigan tizimlar (kesh-izchil NUMA).
  • Alohida protsessor xotirasiga umumiy kirishga ega tizimlar keshni apparat-kogerensiyasiz (NUMA keshli bo'lmagan).

Ko'p protsessorli tizimlar yaratish muammosini soddalashtirish umumiy tarqatilgan xotira yordamida amalga oshiriladi, lekin bu usul parallel dasturlash murakkabligining sezilarli o'sishiga olib keladi.

1.3 Bir vaqtning o'zida ko'p ishlov berish

Simmetrik ko'p ishlov berishning yuqoridagi barcha kamchiliklariga asoslanib, ish faoliyatini yaxshilashning boshqa usullarini ishlab chiqish va ishlab chiqish mantiqan to'g'ri keladi. Agar siz protsessorda har bir alohida tranzistorning ishini tahlil qilsangiz, siz juda ko'p narsalarga e'tibor berishingiz mumkin qiziq fakt- ko'pgina hisoblash operatsiyalarini bajarishda protsessorning barcha komponentlari qatnashmaydi (so'nggi tadqiqotlarga ko'ra, barcha tranzistorlarning taxminan 30%). 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 hozirda protsessor haqiqiy operatsiyalarni bajarayotgan bo'lsa, bo'sh qismga butun sonli arifmetik operatsiyani yuklash mumkin. Protsessorga yukni oshirish uchun siz operatsiyalarning spekulyativ (yoki oldindan) bajarilishini yaratishingiz mumkin, bu protsessorning apparat mantig'ida juda murakkablikni talab qiladi. Agar siz dasturda bir -biridan mustaqil ravishda bajarilishi mumkin bo'lgan iplarni (buyruqlar ketma -ketligini) oldindan belgilab qo'ysangiz, bu vazifani sezilarli darajada soddalashtiradi (bu usul apparat darajasida osonlik bilan amalga oshiriladi). Din Tulsenga tegishli bo'lgan bu g'oya (u 1955 yilda Vashington universitetida ishlab chiqilgan) simulyativ taniqli ko'p ishlov berish deb nomlanadi. Keyinchalik Intel tomonidan hyper threading nomi bilan ishlab chiqilgan. Shunday qilib, bir nechta oqimlarni bajaradigan bitta protsessor operatsion tizim tomonidan seziladi. Windows tizimi bir nechta protsessorlar kabi. Ushbu texnologiyadan foydalanish yana tegishli darajadagi dasturiy ta'minotni talab qiladi. Ko'p ishlov berish texnologiyasidan foydalanishning maksimal ta'siri taxminan 30%ni tashkil qiladi.

1.4 Ko'p yadroli

Multithreading texnologiyasi - bu ko'p yadroli dasturiy ta'minot. Ishlashning yanada oshishi, har doimgidek, protsessor apparatining o'zgarishini talab qiladi. Tizimlar va arxitekturaning murakkabligi har doim ham samarali emas. Qarama -qarshi fikr bor: "aqlli hamma narsa oddiy!". Darhaqiqat, protsessorning ish faoliyatini oshirish uchun uning chastotasini oshirish, mantiqiy va apparat komponentlarini murakkablashtirish shart emas, chunki mavjud texnologiyani ratsionalizatsiya qilish va takomillashtirish kifoya. Bu usul juda foydali - protsessorning issiqlik tarqalishini oshirish, mikrosxemalar ishlab chiqarish uchun yangi qimmatbaho uskunalarni ishlab chiqish muammosini hal qilishning hojati yo'q. Bu yondashuv ko'p yadroli texnologiya - bir kristalda bir nechta hisoblash yadrolarini joriy etish doirasida amalga oshirildi. Agar biz dastlabki protsessorni olsak va ishlashni yaxshilashning bir necha usullarini qo'llashda uning yutuqlarini solishtirsak, unda ko'p yadroli texnologiyadan foydalanish eng yaxshi variant ekanligi aniq.

Agar biz nosimmetrik ko'p protsessor va ko'p yadroli arxitekturani solishtirsak, ular deyarli bir xil bo'ladi. Asosiy kesh ko'p darajali bo'lishi mumkin (mahalliy va umumiy, RAMdan ma'lumotlarni to'g'ridan -to'g'ri L2 keshiga yuklash mumkin). Ko'p yadroli protsessor arxitekturasining afzalliklariga asoslanib, ishlab chiqaruvchilar unga e'tibor qaratadilar. Bu texnologiya amalga oshirish juda arzon va universal bo'lib chiqdi, bu uni keng bozorga olib chiqish imkonini berdi. Bundan tashqari, bu arxitektura Mur qonuniga o'z tuzatishlarini kiritdi: "protsessorda hisoblash yadrolari soni har 18 oyda ikki baravar ko'payadi".

Agar siz zamonaviy kompyuter uskunalari bozoriga nazar tashlasangiz, to'rt va sakkiz yadroli protsessorli qurilmalar ustunligini ko'rishingiz mumkin. Bundan tashqari, protsessor ishlab chiqaruvchilari tez orada bozorda yuzlab protsessor yadrolari bo'lgan protsessorlar paydo bo'lishini da'vo qiladilar. Ko'p marta aytilganidek, ko'p yadroli arxitekturaning to'liq salohiyati faqat yuqori sifatli dasturiy ta'minot bilan ochiladi. Shunday qilib, kompyuter texnikasi va dasturiy ta'minotini ishlab chiqarish sohasi bir -biri bilan chambarchas bog'liq.