MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI URGANCH FILIALI KOMPYUTER INJINIRINGI FAKULTETI 963-21 GURUH TALABASINING KOMPYUTER ARXITEKTURASI FANIDAN MUSTAQIL ISHI Mavzu: Parallel hisoblashlarga asoslangan kompyuterlar va kompyuterlar tizimi. Bajardi: Ahmedova.M Qabul qildi: Orazmatov.T ____________ _____________ URGANCH -2024 Reja: I. Kirish. 1. Bob. Parallel xisoblashlar 1.1. Parallel xisoblashlar 1.2. Parallel xisoblash tizimlari II. Bob. Parallel hisoblashga asoslangan kompyuterlar 2.1. Parallel kompyuterlar: umumiy va ajratilgan xotirali multiprotsessorlar va multikompyuterlar. 2.2. Parallel kompyuterlarning dasturiy ta’minoti. 2.3. . Parallel hisoblash uchun mo‘ljallangan masalalar. III. Xulosa. IV. Foydalangan adabiyotlar. I.Kirish Eng avvalo kompyuterda parallel dasturlash kerakmi degan savolga javob olish kerak. Lekin bu savol javob olishni istagan yagona savol emas. Aynan shuning uchun ham, parallel hisoblash dunyosini tushunish qiyin bo'lgan sodda, tushunarli, tushunarli dunyodan navbatdagi hisob-kitoblardan nima o'tish kerakligini tushunish ham muhimdir. Parallel hisoblashning afzalliklari nimadan iborat va parallel hisobga yo'naltirilgan dasturlarni yaratishda dasturchi uchun qanday muammolar kutilmoqda. Ushbu savollarga javob berish uchun keling, kompyuterni rivojlantirish tarixini tezroq ko'rib chiqamiz. Birinchi kompyuterlar Fon Neyman tomonidan ishlab chiqilgan printsiplarga muvofiq qurilgan. Ularning uchta asosiy komponenti bor edi: xotira, protsessor va kirish va chiqish ma'lumotlarini beruvchi tashqi qurilmalar to'plami. Xotira ko'p darajali va tashqi xotirasi va ichki xotirasi bo'lgan birinchi kompyuterlar uchun - operatsion va ro'yxatga olish xotirasi. Tashqi xotira (magnit lenta, punch karta, disklarda) kompyuterning yoqilgan yoki yoqilmaganligidan qat'iy nazar, dastur va ma'lumotlarni saqlash imkonini berdi. Ichki xotira faqat kompyuter bilan sessiya davri uchun ma'lumot saqlanadi. Kompyuterni o'chirib qo'ysangiz, ichki xotiraning mazmuni g'oyib bo'ldi. Dastur kompyuterda bajarilishi uchun u RAMga yuklanishi kerak edi. U o'sha dasturda ishlangan ma'lumotlar kabi saqlangan. Xotirada saqlangan dasturning printsipi Von Neumann kompyuterlarining asosiy tamoyillaridan biridir. Ro'yxatdan o'tish xotirasi hisoblash vaqtida ishlatilgan. Ma'lumotlar bo'yicha ba'zi operatsiyalarni bajarishdan oldin, ma'lumotlar registrlarda joylashtirilishi kerak. Ushbu tezkor xotira turi ma'lumotlar bo'yicha operatsiyalarni bajarishda zarur tezlikni ta'minladi. Barcha operatsiyalarni bajarish - hisoblash jarayonini boshqarishda ma'lumotlar va operatsiyalar bo'yicha operatsiyalarni protsessor amalga oshirdi. Kompyuter protsessori o'ziga xos ko'rsatmalarga ega edi. Ushbu to'siq potentsial hisoblash funktsiyasini hisoblash uchun universal edi. Boshqa tomondan, ushbu vosita odamlarning yozish dasturlarining nisbiy soddaligini ta'minladi. Parallel hisoblashlar. Asosiy ma'lumotli ishlov berish tizimi ( axborot tizimi) - texnik va texnologik majmua dasturiy vositalarodamlar va texnik vositalar axborot xizmati uchun mo'ljallangan. Axborot tizimlarining sinflari: hisoblash mashinalari (VM) kompyuter tizimlari (VS) kompyuter komplekslari (VK) VM tarmoqlari foydalanuvchilarning turli mavzularda ishlaydigan turli vazifalarni hal qilish uchun mo'ljallangan. VM ning asosiy qismi protsessor hisoblanadi. Protsessor dasturni bajarish jarayonini boshlaydi va uni boshqaradi. VK bir-birlari bilan bog'liq bo'lgan bir necha VM-lardir. Bundan tashqari, har bir VM o'z hisoblash jarayonlarini mustaqil nazorat qiladi. VM kompleksi orasidagi axborot almashinuvi (ko'p protsessor tizimlarida protsessorlarning axborot almashinuviga nisbatan) kamroq. VC axborot va boshqaruv tizimlarida keng foydalanishga erishdi. Samolyotning asosiy tushunchalari muayyan ilovalarning muammolarini hal qilish uchun tuzilgan axborot tizimidir. apparat va dasturiy ta'minotning ixtisoslashuvi mavjud. Ko'pincha, quyoshda bir nechta protsessorlar mavjud bo'lib, ular orasida ish jarayonida jadal axborot almashinuvi amalga oshiriladi va hisoblash jarayonlari ustidan yagona nazorat mavjud. Bunday tizimlar ko'p protsessor tizimlari deb ataladi. Boshqa keng tarqalgan samolyot turi mikroişlemci tizimlar. Ular mikroelementlar (MP), mikroprosessorlar yoki maxsus raqamli signal protsessorlari yordamida quriladi. Tizim samaradorligini oshirishni ta'minlaydigan uchta uslub: elementlar bazasini takomillashtirish, tizimli usullar, matematik usullar. Parallel hisoblash tizimlari ham jismoniy hisoblash hisoblanadi dasturiy ta'minot tizimlarijuda ko'p hisoblash tugunlarida bir yoki bir nechta parallel ma'lumotlar bilan ishlashni amalga oshiradi. Flynn klassifikatsiyasi Tasniflash jarayoni oqim tushunchasiga asoslangan bo'lib, u protsessor tomonidan qayta ishlangan ma'lumotlar, buyruqlar yoki ma'lumotlar ketma-ketligi deb tushuniladi. Arxitekturaning to'rtta klassi: SISD, MISD, SIMD, MIMD. SISD (bitta buyruqlar oqimi / yagona ma'lumotlar oqimi) - bitta buyruqlar oqimi va bitta ma'lumot oqimi. Bu sinf klassik ketma-ket mashinalarni (von Neumann tipidagi mashinalari) o'z ichiga oladi. Bunday mashinalarda faqat bitta buyruqlar oqimi bor, barcha buyruqlar ketma-ketlikda bir-biridan qayta ishlanadi va har bir buyruq bitta ma'lumot oqimi bilan bir operatsiyani boshlaydi. SIMD (bir yo'riqli xar / bir nechta ma'lumotlar oqimi) - bitta buyruq xarasi va bir nechta ma'lumotlar oqimi. Buyruqning oqimi, SISDdan farqli o'laroq, vektor buyruqlarini o'z ichiga oladi. Bu sizga bir vaqtning o'zida bir nechta ma'lumotlar bo'yicha bitta arifmetik operatsiya qilish imkonini beradi - vektor elementlari. MISD (bir nechta yo'riqnomalar oqimi / yagona ma'lumotlar oqimi) - bir nechta buyruqlar oqimi va bitta ma'lumot oqimi. Ta'rif bir xil ma'lumotlar oqimini qayta ishlaydigan ko'plab protsessorlarning arxitekturasida mavjudligini anglatadi. Ushbu printsipga asoslangan real-hayot hisoblash tizimi mavjud emas. MIMD (bir nechta buyruqlar xarasi / bir nechta ma'lumotlar oqimi) - bir nechta ko'rsatmalar oqimi va bir nechta ma'lumotlar oqimi. Bitta kompleksda birlashtirilgan va o'zlarining har bir buyrug'i va ma'lumotlar oqimi (ko'p protsessor tizimlari) bilan ishlaydigan kompyuter tizimida bir nechta buyruqlar ishlash moslamalari mavjud. Matritsa tizimlari Matritsa tizimlari mustaqil moslamalarni yoki ma'lumotlar parallelizmi bilan xarakterlangan muammolarni hal qilish uchun juda mos keladi. Matrisali tizim har bir kishi uchun umumiy boshqaruv moslamasi tomonidan o'rnatilgan vektor buyruqlarini bajaradigan tarzda tashkil etilgan protsessor elementlaridan iborat (PE), har bir PE alohida vektor elementi bilan ishlaydi. PE ko'p modulli xotirali kalit qurilmasi orqali ulangan. Vektorli buyruqlar ijrosi vektor elementlarning xotirasidan o'qish, ularni protsessorlar orasida taqsimlash, operatsiyani bajarish va natijalarni xotiraga yuborishdir. Shunday qilib, tizimning ishlashi barcha protsessor elementlarining ishlash summasiga teng. MIMD klassining hisoblash tizimlari MIMD arxitekturasi protsessorning o'z mahalliy xotirasiga ega ekanligiga va kommutatsiya tarmog'idan foydalangan holda boshqa xotira bloklariga kirishiga qarab farq qiladi yoki kommutatsiya tarmog'i barcha protsessorlarni umumiy xotiraga ulaydi. Sistolik hisoblash tizimlari Sistolik tizimlar juda ko'p maxsus hisoblash mashinalari bo'lib, muayyan vazifalar uchun ishlab chiqilgan. Aslida, sistolik kalkulyatorni qurish vazifasi natijani olish uchun juda ko'p vaqtga ega bo'lgan (ya'ni ko'p sonli qadam) bo'lgan, lekin natijalar o'rtasidagi nisbiy qisqa vaqtni ta'minlaydigan apparat konveyerini qurish uchun qisqaradi, chunki oraliq qiymatlarning katta qismi konveyerning turli bosqichlarida ishlov beradi . Bir hil kompyuter tuzilmalari yoki muhitlar (OVS) odatda MIMD turiga kiradi va bir xil turdagi (PE) protsessor elementlarining muntazam panjarasini tashkil qiladi. Har bir PEning algoritmik operatsiyalari, shuningdek, valyuta operatsiyalari yoki boshqa IH bilan o'zaro ta'sirlar mavjud. OVS mikroprotsessorlarga asoslangan. Sistolik me'morlik qurilishining asosiy printsiplari. Sistolik VA ning asosiy xususiyatlari: protsessor maydonlarining bir xilligi, protsessor birikmalarining muntazamligi (protsessor), protsessor elementlarining ishlashi. Har qanday vaqtda, bir vaqtning o'zida bir xil operatsiyalar yoki bir xil hisoblash modullari amalga oshiriladi. Bunday modullar: axborotni qayta ishlash va hisoblash modullari, tashqi aloqa uchun mas'ul modullar bo'lishi mumkin. Ushbu modullarning har ikkalasi o'zlarining ishlab chiqarish bosqichlarida amalga oshiriladi. Sistolik VA o'zgarishlar koeffitsienti: K: PE o'rtasidagi tashqi aloqa; B: PEda hisoblashlar; Do: kompyuter va kommunikatsiyani boshqarish (juda qisqa). Sistolik VA o'zgarishlar bosqichi. Ushbu vaqt oralig'ida barcha protsessor tarmog'i bir vaqtning o'zida IH bilan ma'lumotlarni uzatadi. Intervalni tarmoqdagi eng uzun aloqa amaliyotiga mos kelishi kerak. Hisoblash fazasi. Hisob-kitoblarni va axborotni qayta ishlashni amalga oshiradi. Ushbu fazaning davomiyligi eng uzun hisoblash moduliga mos kelishi kerak. Faza nazorati. Protsessor maydonining ishini boshlash va tugatish bo'yicha operatsiyalarni amalga oshiradi (har bir hisoblash operatsiyaning boshi va oxiriga mos keladi). Natijani olishdan oldin har qanday vaqtda qayta ishlash jarayonlarini to'xtatish. Sistolik VA: tezlashtirgichlar, ichki kompyuter va ma'lum hisoblash algoritmlarini (matris operatsiyalari, chiziqli algebraik tenglamalar tizimlarini yechish, namunani aniqlash, tartiblash va hakazo) qo'llash. Bunday holda protsessor kartasi protsessor sifatida ishlatiladi. Hisoblash muddati 1-3 darajaga qadar kamayadi. ichiga o'rnatilgan sistolik protsessor texnik tizimlarular real vaqtda raqamli ishlov berish uchun ishlatiladi. Masalan, raqamli filtrlash algoritmi va h.k. Tarqatilayotgan xotiraga ega bo'lgan ommaviy parallel kompyuterlar (MPP): bir yoki bir nechta markaziy qayta ishlash qurilmalari (Odatda RISC), mahalliy xotira (boshqa tugunlar xotirasiga to'g'ridan-to'g'ri kirish mumkin emas), aloqa protsessorlari yoki tarmoq adapteri ba'zan qattiq disklar va / yoki boshqa I / O asboblari. Tizimga maxsus I / U va boshqaruv tugunlari qo'shilishi mumkin. Nodlar ma'lum bir aloqa muhitida (tezkor tarmoq, kalit, va hokazo) ulanadi. MPP-arxitekturasidagi ikkita operatsion tizim (OS) versiyalari ishlatiladi: to'liq operatsion tizim (OS) faqat nazorat qilish mashinasida ishlaydi, har bir alohida modulda operatsion tizimning yo'qolgan versiyasi, unda joylashgan parallel dasturning faqat filialining ishlashini ta'minlaydi. Har bir modul alohidaalohida o'rnatiladigan UNIX-ga o'xshash OS bilan ishlaydi. Parallel xisoblash tizimlari Dastlabki kompyuterlar uchun dasturlar, amaldagi protsessor buyruqlar majmuasiga kiritilgan qator buyruqlarni ifodalaydi. Dasturni kompyuterda ijro etish juda oddiy edi. Har safar kompyuterda bitta dastur bajarilgan. Protsessor, dasturga muvofiq ketma-ket navbatdagi buyruqlar ketma-ketlikda bajarildi. Barcha kompyuter resurslari - xotira, protsessor vaqti, barcha qurilmalar - dasturning to'liq tasarrufida edi va hech narsa uning ishiga aralashmasdi (albatta odamni hisobga olmagan). Parallelizm ko'zga ko'rinmasdi. Bu idial juda uzoq vaqt davomida juda qimmat bo'lmagan kompyuter resurslari samarasiz ishlatgani tufayli uzoq davom etmadi. Kompyuterlar o'chirilmadi, bitta dastur boshqasini o'zgartirdi. Yaqin orada kompyuter protsessor bilan birga markaziy protsessor deb nomlanuvchi qo'shimcha protsessorlarga, eng avvalo, sekin komutlarni bajarish uchun mas'ul bo'lgan kirish / chiqish qurilmalarining maxsus protsessorlariga ega edi. Bu esa, bir vaqtning o'zida bir nechta dastur kompyuterda ishlayotgani - dastur natijalarini nashr etishi, ikkinchisi - bajarilishi va uchinchisi - masalan, magnit tasmasi yoki boshqa tashqi vositadan ma'lumotlarni kiritish uchun dasturni bajarishning ommaviy rejimini tashkil etishga imkon berdi. Inqilobiy qadam 1964 yilda IBM - OS 360 operatsion tizimining paydo bo'lishi bo'ldi. Kompyuterda paydo bo'lgan operatsion tizim uning mutlaq egasi bo'ldi - barcha resurslari menejeri. Endilikda foydalanuvchi dasturi faqat operatsion tizim nazorati ostida bajarilishi mumkin. Operatsion tizim ikkita muhim vazifani hal etishga imkon berdi: bir tomondan, bir vaqtning o'zida kompyuterda ishlashning barcha dasturlariga zarur xizmatni taqdim etish, ikkinchidan, mavjud resurslarni ushbu resurslarga da'vo qilayotgan dasturlar orasida samarali foydalanish va tarqatish. Operatsion tizimlarning paydo bo'lishi bitta dasturli rejimdan ko'p dasturli rejimga o'tishga olib keldi, bir vaqtning o'zida bir xil dasturda bir nechta dastur mavjud. Ko'p dasturlash parallel dasturiy emas, biroq bu parallel hisoblash uchun bir qadamdir. Ko'p dasturlash - bir nechta dasturlarni parallel bajarish. Ko'p dasturlash sizga ularni bajarish uchun umumiy vaqtni kamaytirish imkonini beradi. Parallel hisoblashda bir xil dasturni parallel bajarish nazarda tutiladi. Parallel hisoblash bir dasturning bajarilish vaqtini kamaytirish imkonini beradi. Ko'p dasturlash uchun kompyuterning bir nechta protsessorlarga ega bo'lishi juda muhim. Ko'p dasturlashni amalga oshirish uchun protsessorlarning o'zaro ishlashini tashkil qiluvchi operatsion tizim mavjudligi etarli. Parallel hisoblash uchun dasturning o'zi uchun zarur bo'lgan qo'shimcha talab mavjud - dastur hisoblarni parallellashtirish imkoniyatini yaratishi kerak, chunki operatsion tizimning ko'rinishi kompyuterni apparat (xotira, protsessorlar, boshqa qurilmalar) deb hisoblash mumkin emasligini anglatadi. Endi u ikki qismga ega: qattiq (qattiq) va yumshoq (yumshoq) - bir-birini to'ldiruvchi apparat va dasturiy komponentlar. Yarim asrdan ko'proq vaqt mobaynida komponentlar tez rivojlana boshladi, asbobuskunalar uchun eksponentsional o'sishni odatiy holga keltirdi, bu Murning taniqli ampirik qonunida aks ettirilgan - barcha muhim belgilar kattalashib ketgan - barcha darajalarda xotira hajmi, xotiraga kirish vaqtini kamaytirish, protsessor tezligi. Murning qonuniga ko'ra (Gordon Moore Intelning asoschilaridan biri), xarakterli qiymatlar har yarim yilda ikki baravarga ko'paydi. Kompyuterga kiritilgan protsessorlarning soni ham ortdi. O'zgarildi va kompyuter arxitekturasi. Ushbu o'zgarishlar ko'p jihatdan hisoblarni parallellashtirishga qaratilgan qadamlar edi. Bu erda parallelizatsiya jarayoni bilan bevosita bog'liq bo'lgan protsessor arxitekturasidagi o'zgarishlarning bir qismi: Buyruqlar chizig'ini qayta ishlash. Protsessor tomonidan buyruqlar oqimini bajarish jarayoni endi buyruq buyrug'i ketma-ket ravishda bajarilmasligi sifatida ko'rilmaydi. Buyruqlar oqimini qayta ishlash jarayoni quvur liniyasida amalga oshirildi, shuning uchun bir nechta buyruqlar bir vaqtning o'zida bajarishga tayyorlandi. Birbiriga bog'liq bo'lmagan buyruqlar bir vaqtning o'zida bajarilishi mumkin, bu allaqachon haqiqiy parallelizmdir. "Uzoq buyruqlar". Ba'zi bir kompyuterlarning arxitekturasi bir nechta protsessorlarni o'z ichiga olgan bo'lib, ular mantiqiy va arifmetik operatsiyalarni butun sonlar bo'yicha bajarish imkonini beradi, bir nechta protsessorlar suzuvchi nuqtali raqamlarda operatsiyalarni amalga oshiradi. Uzoq buyruq bitta buyruqda mavjud protsessorlarning har biri bajarishi kerak bo'lgan amallarni ko'rsatishga imkon berdi. Bu esa, apparat darajasida parallelizmni amalga oshirish imkonini berdi Vektorli va matritsali protsessorlar. Ushbu protsessorlarning ko'rsatmalar to'plami vektorlar va matritsalar bo'yicha asosiy operatsiyalarni o'z ichiga oladi. Masalan, bitta guruh ikkita matritsani qo'shishlari mumkin. Bunday buyruq parallel hisoblashlarni amalga oshiradi. Ushbu operatsiyalar ma'lumotni qayta ishlash asoslarini tashkil etuvchi ilovalar keng tarqalgan. Ma`lumotlarning parallel ishlashi ushbu klassdagi ilovalarning samaradorligini sezilarli darajada oshirishi mumkin. Dasturiy ta'minot darajasida parallel ijro etiladigan dasturlarning yana bir muhim turi - grafik tasvirlar bilan intensiv ishlash. Ushbu ishlash grafik ishlovchilar tomonidan amalga oshiriladi. Grafik tasvirni ballar to'plami sifatida ko'rish mumkin. Rasmni qayta ishlash ko'pincha hamma punktlarda bir xil operatsiyani bajarish uchun kamayadi. Ushbu vaziyatda ma'lumotlar parallelizatsiyasi osongina amalga oshiriladi. Shu sababli, grafik protsessorlar avvaldan ko'p yadroli bo'lib, bu jarayonni parallellash va tasvirni samarali ishlash imkonini beradi. Superkompyuterlar hozirgi vaqtda eng yuqori ko'rsatkichlarga ega bo'lgan kompyuterlarni o'z ichiga oladi. Ular yuz minglab protsessorlardan iborat. Superkompyuterlardan samarali foydalanish hisob-kitoblarning eng keng tarqalgan parallelligini o'z ichiga oladi .. Ilmiy tadqiqotlarda va yangi texnologiyalarda mavjud hisoblash tizimlarining barcha kuchini talab qiluvchi vazifalar mavjud. Mamlakatning ilmiy salohiyati ko'p jihatdan o'zining superkompyuterlari mavjudligi bilan belgilanadi. Superkompyuterning kontseptsiyasi nisbatan nuqtai nazardir. O'n yillik superkompyuterning xususiyatlari odatdagi kompyuterning xususiyatlariga mos keladi. Bugungi superkompyuterlar petafloplarda (1015 dona perimetrli operatsiyalar) o'lchovlarda ishlaydi. 2020 yilga qadar superkompyuterlarning ishlashi 1000 barobarga oshadi va eksaflopslarda o'lchov qilinadi Kompyuterlar tasniflash Kompyuterlar dunyosi miniatyura o'rnatilgan kompyuterlardan individual binolarni ishlaydigan ko'p tonna superkompyuterlarga qadar farq qiladi. Ular turli yo'llar bilan tasniflanishi mumkin. Birinchi va eng sodda tasniflardan biri - Flynn tasniflashini ko'rib chiqing, bu ma'lumotlar kompyuterda qanday ishlashga asoslangan. Ushbu tasnifga ko'ra, barcha kompyuterlar (komp'yuter komplekslari) to'rtta sinfga bo'linadi - arxitekturali kompyuterlar: SISD (Single Instruction stream - yagona ma'lumotlar oqimi) - bitta ma'lumot oqimi - bitta ma'lumot oqimidir. Bu sinf, programma buyruqlar ketma-ket bajarilganda, keyingi ma'lumotlar elementini qayta ishlashda von Neumann arxitekturasiga ega oddiy "ketma-ket" kompyuterlarni o'z ichiga oladi SIMD (bitta yo'riqnoma oqimi - bir nechta ma'lumotlar oqimi) - bitta buyruq xartasi - bir nechta ma'lumotlar oqimi. Vektorli va matritsali protsessorlarga ega kompyuterlar ushbu turga tegishli: MISD (bir nechta yo'riqnoma oqimi - yagona ma'lumotlar oqimi) - bir nechta buyruqlar oqimi - bitta ma'lumot oqimi. Ushbu turdagi ma'lumotlarni o'tkazishning konveyer turiga ega kompyuterlar bo'lishi mumkin. Biroq, ko'pchilik bunday kompyuterlarning birinchi turiga havola etilishiga va MISD klassi kompyuterlari hali yaratilmaganligiga ishonishadi. Ko'p yo'riqnomalar oqimi (ko'p ma'lumotli oqim) - bir nechta buyruqlar oqimi - ko'p ma'lumotli oqimlar. MIMD klassi juda keng va bugungi kunda juda ko'p turli xil me'morchilikning ko'plab kompyuterlari unga kiradi. Shuning uchun, MIMD klassiga tegishli bo'lgan kompyuterlarni aniqroq tasniflash imkonini beradigan boshqa tasniflashlar taklif etiladi.MIMD sinfidagi kompyuterlarning batafsil tasnifini ko'rib chiqamiz. Biz faqat kompyuterlarni uchta sinfga bo'lishning yana bir usuliga to'xtalamiz: Multiprocessor hisoblash tizimlari - umumiy xotirada ishlaydigan ko'p protsessorli kompyuterlar. Bu sinf bozorda bugungi kunda sotilgan ko'p yadroli kompyuterlarning ko'pchiligini o'z ichiga oladi.Multikompyuterli hisoblash tizimlari yuqori tezlikda aloqa liniyalari orqali ulangan kompyuterlarning ko'pini anglatadi. Har bir kompyuterda o'z xotirasi bor va ma'lumotni uzatish uchun tizimdagi boshqa kompyuterlar bilan xabarlar almashadi. Bu sinf klasterlarni o'z ichiga oladi. Kümelenme, bir serverning rolini o'ynaydigan bir necha shaxsiy kompyuter bilan butun hisoblangan hisoblash kompleksidir. Klasterga kiradigan kompyuterlar odatiy kompyuter bo'lishi mumkin, klasterlar nisbatan arzon. Yuqori 500 ta superkompyuterlarning aksariyati klasterlar bo'lib, gibrid hisoblash komplekslari ko'plab nodlardan tashkil topgan bo'lib, ularning har biri ko'p yadroli, ko'p protsessor, grafik protsessor yoki vektorli protsessor bo'lishi mumkin. Bunday komplekslar odatda superkompyuterlardir. II.Bob.Parallel kompyuterlar: umumiy va ajratilgan xotirali multiprotsessorlar va multikompyuterlar. Parallel kompyuterlar, taxminan, apparatning paralellikni qo'llab-quvvatlash darajasiga qarab tasniflanishi mumkin, ko'p yadroli va ko'p protsessorli kompyuterlar bitta mashina ichida bir nechta ishlov berish elementlariga ega, klasterlar, MPP va tarmoqlar bir xil kompyuterda ishlash uchun bir nechta kompyuterlardan foydalanadi. Ixtisoslashgan parallel kompyuter arxitekturalari ba'zida an'anaviy vazifalarni tezlashtirish uchun an'anaviy protsessorlar bilan birga qo'llaniladi. Hisoblashlarni konveyrli tashkillashtirish. Markaziy protsessor ma'lumotlarni qayta ishlashning asosiy operatsiyalarini amalga oshiradigan hisoblash tizimini yaratishda asosiy element hisoblanadi. Umumiy holda, har qanday mashina ko'rsatmalariga ishlov berish jarayonida amalga oshiriladigan barcha harakatlar odatda sikl deb ataladi. Mashina buyruqlarini qayta ishlash sikli quyidagi bosqichlarni o'z ichiga oladi: • Operativ xotiradan buyruqlarni ajratib olish (IR); • Amalga oshiriladigan operandalar soni, registrda va / yoki operativ xotirada joylashgan joyi va manzillari aniqlanadigan buyruqni dekodlash, shuningdek ular qaysi operatsiyani bajarish kerakligini (DC) aniqlaydi. • oldingi bosqichda yaratilgan ma'muriy manzillarda (ID) operativ xotirasidan ma'lumotlarni chiqarib olish; Operandlarda arifmetik-mantiqiy o'zgarishlarni amalga oshirish bilan bog'liq ma'lumotlarni qayta ishlash (OD); Natijalarni protsessorning registr xotirasida yoki tasodifiy kirish xotirasida (SR) yozish; • Mashina yo'riqnomalarini (PR) qayta ishlashda alohida holatlar yuzaga kelganda reaktsiya mexanizmini amalga oshiradigan uzilishni qayta ishlash Mashina buyruqlarini qayta ishlash tsikli (COMC) har bir qadam ichidagi harakatlar ketma-ket bajarilishi sifatida amalga oshirilishi mumkin. Bunday holda, oldingi buyruq bajarilgunga qadar keyingi mashina buyrug'ini qayta ishlashni boshlash mumkin emas. Protsessorning ishlashini doimiy ishlash printsipi bilan ishlov berish mashinasining ishlashini faqat soat chastotasini ko'paytirish orqali oshirish mumkin. Shu bilan birga, protsessor ishlaydigan chastotaning ko'payishi, kontaktlarning zanglashiga olib keladigan mantiqiy elementlari va ichki ulanish liniyalari orqali o'tishda signallarning tarqalishidagi kechikishlar tufayli yuzaga keladigan cheklovlarga ega. Shuning uchun protsessor chastotasini cheksiz ravishda oshirish mumkin emas. Protsessor elementining ish faoliyatini oshirishning alternativ usuli - bu mashina ko'rsatmalariga parallel ishlov berishdan foydalanish. Ushbu yo'nalish doirasida konveyer va super-konveyerli ishlov berish, hisob-kitoblarni superskalalar va vektorli tashkil etish tamoyillari joriy etilmoqda va amalda faol qo'llanilmoqda. Parallel kompyuterlar: umumiy va ajratilgan xotirali multiprotsessorlar va multikompyuterlar. Parallel kompyuterlar, bir vaqtda bir nechta bajaruvchilarning ishlashini ta'minlayan kompyuter tizimlardir. Ular, bajaruvchilar orasidagi ishni taqsimlash, ma'lumot almashish va ko'chirish jarayonlarini paralel ravishda bajarish imkonini beradi. Parallel kompyuterlar ikki turdagi arxitekturaga ega bo'lishi mumkin: umumiy xotirali multiprotsessorlar va ajratilgan xotirali multikompyuterlar. Umumiy xotirali multiprotsessorlar (Shared Memory Multiprocessors): Bu arxitekturada, bir xotira tizimi bir nechta bajaruvchilar (processorlar) orasida ulanadi. Bajaruvchilar o'zaro aloqalar orqali bu xotiraga murojaat qilishadi va ma'lumotlarni almashishadi. Har bir bajaruvchiga bir vaqtning o'zida o'ziga xos buyruqlar berilishi mumkin, ammo ularga o'rtasidagi xotiraga ham murojaat qilishlari mumkin. Bunday arxitekturada xotiraning tartibi va sinxronizatsiyasi muhimdir. Umumiy xotirali multiprotsessorlar, quyidagi turlarda ishlatiladi: SMP (Symmetric Multiprocessors), NUMA (Non-Uniform Memory Access), MPP (Massively Parallel Processors) va boshqalar. Ajratilgan xotirali multikompyuterlar (Distributed Memory Multicomputers): Bu arxitekturada bir nechta ajratilgan bajaruvchilar (processorlar) mavjud, va har bir bajaruvchida o'zining o'ziga xos xotira mavjud. Bajaruvchilar o'zlarining xotiralari bilan ishlaydilar va ma'lumot almashish uchun aloqalar orqali o'zaro aloqalar o'rnatishadi. Bu arxitektura, ma'lumot almashish va sinxronizatsiya uchun kommunikatsiya tarmoqlarini (network) qo'llaydi. Bunday arxitekturada har bir bajaruvchiga alohida buyruqlar berish mumkin. Ajratilgan xotirali multikompyuterlar, katta miqdordagi ma'lumotlarni parallel ravishda ishlash, texnologik hisobotlar va superkompyuterlarda foydalaniladi.Umumiy xotirali multiprotsessorlar va ajratilgan xotirali multikompyuterlar har birining o'ziga xos afzalliklarga ega. Umumiy xotirali multiprotsessorlar o'zaro aloqalar orqali bajaruvchilar orasidagi ma'lumot almashishni soddalashtiradi, ammo xotira tartibi va sinxronizatsiyasi muhimdir. Ajratilgan xotirali multikompyuterlar esa bajaruvchilar o'rtasidagi ma'lumot almashishni yengillashtiradi, ammo kommunikatsiya tarmog'i yoki tarmoqlar orqali ma'lumot almashish uchun keng imkoniyatlar beradi. Arxitektura tanlash, bajaruvchilar to'plamining xususiyatlariga va dasturlash vazifalariga bog'liqdir. Parallel kompyuterlarning dasturiy ta’minoti. Parallel kompyuterlarning dasturiy ta'minoti, parallel ishlashga moslashtirilgan dasturlash tili, algoritmalarning va kutubxonalarning mavjudligini o'z ichiga oladi. Bu ta'minotlar, bajaruvchilar (processorlar) va ularga bog'liq xotira tizimlarini samarali vaqtni taqsimlash va ma'lumot almashish uchun ishlatish imkonini beradi. Dasturiy ta'minotlarning asosiy komponentlari quyidagilar bo'lishi mumkin: Parallel Dasturlash Tillari: Parallel kompyuterlarda foydalaniladigan dasturlash tillari, bajaruvchilar o'rtasidagi parallel ishlashni yengil qilishga imkon beradi. Misol uchun, MPI (Message Passing Interface), OpenMP, CUDA (Compute Unified Device Architecture) va MPI (Message Passing Interface) kabi tillar parallel dasturlash uchun ishlatiladi. Paralel Algoritmalarni Yaratish: Paralel kompyuterlarda ishlatiladigan algoritmalarni yaratish, parallel ishlashga moslashtirilgan algoritmalarni tuzishni o'z ichiga oladi. Bu algoritmalar, bajaruvchilar orasidagi ma'lumot almashishni, sinxronizatsiyani, distributsiyani va boshqa parallel ishlashning muhim tushunchalarini hisobga oladi. Ma'lumot Almashish va Sinxronizatsiya: Paralel kompyuterlarda ma'lumot almashish va sinxronizatsiya amaliyotlari juda muhimdir. Ma'lumot almashish uchun xotira tizimlaridan samarali foydalanish, ma'lumot almashish protokollari, aloqa protokollari va ko'plab ma'lumot almashish mekanizmalari ishlatiladi. Sinxronizatsiya esa bajaruvchilar orasidagi ish tartibini, ma'lumot almashishni va ma'lumotlarni bir xotiradan boshqasiga o'tkazishni ta'minlayadi. Kutubxonalarning Parallel Qo'llanilishi: Paralel kompyuterlarda qo'llaniladigan kutubxonalarning parallel ishlashni qo'llab-quvvatlashadi. Bu kutubxonalarga parallel hisoblash, ma'lumot tahlili, grafik ishlash va boshqa parallel algoritmalarni yaratishga moslashtirilgan funksiyalar va yordam beriladi. Yoki-kattalikli Parallel Dasturlar: Parallel kompyuterlarda yoki-kattalikli parallel dasturlar yaratish va ishlatish imkonini beradi. Bu dasturlar, buyruqlar va ma'lumotlarni bir nechta bajaruvchilarga parallel ravishda taqsimlashni ta'minlayadi va bajaruvchilar orasidagi ish tartibini boshqarish imkonini beradi. Parallel kompyuterlarda dasturiy ta'minotlar, parallel ishlashni yengil qilish va intensiv hisoblash amaliyotlarini samarali bajarish uchun juda muhimdir. Ushbu ta'minotlar, bajaruvchilar orasidagi ma'lumot almashishni optimallashtirish, ish tartibini boshqarish va bajaruvchilar o'rtasidagi xotira almashishini samarali qilishga yordam beradi. Buyruqlar darajasidagi parallellik (Instruction-level parallelism — ILP) - bu kompyuter dasturida bir vaqtning o'zida qancha operatsiyani bajarish mumkinligini o'lchaydigan o'lchovdir. Buyruqning bajarilishining potentsial ustma-ust tushishi "buyruq sathidagi parallellik" deb nomlanadi. Parallelashtirish tizimlari, kompyuter arxitekturasidagi tizimlardan biri bo'lib, bir nechta bajaruvchilarni (processor) va ularga bog'liq ma'lumot almashish tizimlarini o'z ichiga oladi. Ularning asosiy maqsadi bir vaqtning o'zida bir nechta buyruqni bajarish va ishlarni parallel ravishda yuritishdir. MIMD (Multiple Instruction, Multiple Data) arxitekturasi, parallelashtirish tizimlari uchun o'zgarmoqda bo'lgan bir usuldur. Bu arxitekturada har bir bajaruvchi (processor) o'zining o'ziga xos buyruqlar bilan bajarilishi mumkin va har bir bajaruvchi o'zining o'zida alohida ma'lumotlarga ega bo'lishi mumkin. MIMD arxitekturasi quyidagi xususiyatlarga ega bo'ladi: Bajaruvchilar soni: MIMD tizimida bir nechta bajaruvchilar (processor) bo'ladi. Ular o'z o'ziga xos buyruqlar bilan bajarish imkoniyatiga ega bo'lib, bir vaqtning o'zida alohida ishlarni bajarishlari mumkin. Buyruqlar to'plami: Har bir bajaruvchiga o'ziga xos buyruqlar beriladi. Bu buyruqlar bajaruvchilar o'rtasidagi ma'lumot almashish orqali ko'rsatiladi. O'zaro aloqalar: Bajaruvchilar o'zaro aloqalar orqali ma'lumot almashishlari mumkin. Bu aloqalar uzatma tarmoqlari (bus), uzatma tomonlar yoki tarmoq protokollari orqali amalga oshiriladi. Ma'lumot almashish: MIMD arxitekturasidagi bajaruvchilar o'zlariga xos ma'lumotlarga ega bo'lishadi. Ularning alohida ma'lumotlarga o'zgaruvchanliklari va bunday ma'lumotlarga o'xshash ishlash imkoniyati mavjud. MIMD arxitekturasi muhim ish jarayonlari uchun foydalaniladi, masalan: Paralel hisoblash: MIMD tizimida bir nechta bajaruvchilar bir vaqtning o'zida bir nechta hisoblash operatsiyalarini bajarishi mumkin. Bu intensiv hisoblash uchun katta miqdordagi ma'lumotni parallel ravishda ishlashda foydali bo'ladi. Taqsimlangan vazifalar: MIMD arxitekturasi, taqsimlangan vazifalarni parallel ravishda bajarishga imkon beradi. Har bir bajaruvchi o'zining vazifasini bajarib, umumiy natijani olish uchun ma'lumot almashish orqali o'zaro aloqalar bilan hamkorlik qiladi. Texnologik so'nggi bosqichlar: MIMD arxitekturasi, texnologik so'nggi bosqichlar uchun yaxshi bir asos bo'lib xizmat qiladi. Bu arxitektura, intensiv grafik ishlash, ma'lumot analizlari, mukammal ishlash uchun muhokamalarni parallel ravishda bajarish uchun keng foydalaniladi. MIMD arxitekturasi, bajaruvchilar o'rtasidagi ma'lumot almashish, sinxronizatsiya va o'zaro aloqalar kabi muammolar uchun chindan ham kuchli tizimlarni talab qiladi. Bu arxitektura, ko'p nufuzli ma'lumot ishlab chiqarish uchun paralel hisoblashda ham mavjud bo'lib, keng doirasida qo'llaniladi. Multiprocessor Sistemalar: Bu usulda bir nechta protsessor bir xotiraga bog'liq bo'lib, bir vaqtning o'zida bir nechta buyruqlarni bajarishi mumkin. Bu protsessorlar o'zaro kommunikatsiya orqali ma'lumotlarni almashishadi va asosan bir xotira va periferiya qurilmalarni o'zaro almashishga ihtisoslashgan bo'lishi mumkin. Multicore Protsessorlar: Bu usulda bir prossesor o'zida bir nechta o'zaro ishlash o'zgaruvchilari (core)ga ega bo'ladi. Har bir core o'zining o'ziga xos bajarish va ma'lumotlar xotirasi bilan ta'minlanadi. Bu usulda har bir core bir vaqtning o'zida bir nechta buyruqni bajarishi mumkin. Vektorli Protsessorlar: Bu usulda protsessorlar vektor (massiv) ma'lumotlar bilan ishlashga ihtisoslashgan bo'lib, bir vaqtning o'zida bir nechta ma'lumotlar operatsiyalarini bajarishi mumkin. Vektorli protsessorlar, intensiv hisoblash va grafik hisoblashdagi ko'p elementli ma'lumotlar uchun foydalaniladi. Grafiik Ilovachilar (GPU): GPU'lar intensiv grafik ishlash va ko'p elementli hisoblash uchun mo'ljallanganlar. Ularning arxitekturasi parallel ishlashga ihtisoslashgan bo'lib, bir nechta yoritish ishlarni bir vaqtning o'zida bajarishi mumkin. Paralel Tizimlar (FPGA va ASIC): FPGA (Field-Programmable Gate Array) va ASIC (Application-Specific Integrated Circuit) tizimlari, xususiy maqsadlar uchun paralel ishlashga ihtisoslashganlar. Ular ma'lumotlar uchun maxsus lojikalar va ma'lumotlar yo'laklarini o'zida o'zgartirishga imkon beradigan programmabellik bilan ajratilganlar. Bu usullar, protsessorlar, tizimlar va maqsadga qarab ta'riflanadi va foydalaniladigan maqsadlarga bog'liq ravishda tanlanadi. Ularning har biri bir nechta buyruqlarni bir vaqtning o'zida bajarish va ish rejimida parallel ishlashni ta'minlayadi. Bunda ma'lumot almashish, sinxronizatsiya va kommunikatsiya mekanizmalari muhim ahamiyatga ega bo'ladi. Parallel ishlov berish - bu umumiy vazifaning alohida qismlarini bajarish uchun ishlaydigan ikki yoki undan ortiq protsessorlarni (CPU) hisoblash usuli. Bir nechta protsessorlar orasida vazifaning turli qismlarini ajratish dasturni ishga tushirish vaqtini qisqartirishga yordam beradi. Bir nechta protsessorga ega har qanday tizim parallel ishlov berishni, shuningdek, bugungi kunda kompyuterlarda keng tarqalgan ko'p yadroli protsessorlarni amalga oshirishi mumkin. Ko'p yadroli protsessorlar - bu yaxshi ishlashi, quvvat sarfini kamaytirish va bir nechta vazifalarni samaraliroq qayta ishlash uchun ikki yoki undan ortiq protsessorni o'z ichiga olgan IC chiplari. Ushbu ko'p yadroli sozlashlar bir xil kompyuterda o'rnatilgan bir nechta alohida protsessorlarga o'xshaydi. Ko'pgina kompyuterlar ikkitadan to'rttagacha yadroga ega bo'lishi mumkin; 12 yadrogacha ko'tariladi. Parallel ishlov berish odatda murakkab vazifalar va hisobkitoblarni bajarish uchun ishlatiladi. Ma'lumotlar olimlari odatda hisoblash va ma'lumotlarni ko'p talab qiladigan vazifalar uchun parallel ishlov berishdan foydalanadilar. Parallel ishlov berish qanday ishlaydi Odatda kompyuter olimi murakkab vazifani dasturiy vosita yordamida bir nechta qismlarga ajratadi va har bir qismni protsessorga tayinlaydi, keyin har bir protsessor o'z qismini hal qiladi va ma'lumotlar yechimni o'qish yoki vazifani bajarish uchun dasturiy vosita tomonidan qayta yig'iladi. Odatda har bir protsessor normal ishlaydi va ko'rsatmalarga muvofiq parallel ravishda operatsiyalarni bajaradi va kompyuter xotirasidan ma'lumotlarni oladi. Protsessorlar, shuningdek, bir-biri bilan aloqa qilish uchun dasturiy ta'minotga tayanadi, shuning uchun ular ma'lumotlar qiymatlari o'zgarishi bilan sinxronlasha oladi. Agar barcha protsessorlar bir-biri bilan sinxronlashtirilsa, vazifa oxirida dasturiy ta'minot barcha ma'lumotlar qismlarini bir-biriga moslashtiradi. Bir nechta protsessorga ega bo'lmagan kompyuterlar, agar ular klaster hosil qilish uchun tarmoqqa ulangan bo'lsa, parallel ishlov berishda ham foydalanish mumkin. Seriya va parallel ishlov berish o'rtasidagi farq Parallel ishlov berish ikki yoki undan ortiq protsessorlar yordamida bir nechta vazifalarni bajarishi mumkin bo'lgan hollarda, ketma-ket ishlov berish (shuningdek, ketma-ket ishlov berish deb ataladi) bitta protsessor yordamida bir vaqtning o'zida faqat bitta vazifani bajaradi. Agar kompyuter bir nechta tayinlangan vazifalarni bajarishi kerak bo'lsa, u bir vaqtning o'zida bitta vazifani bajaradi. Xuddi shunday, agar ketma-ket ishlov berishdan foydalanadigan kompyuter murakkab vazifani bajarishi kerak bo'lsa, u holda parallel protsessorga qaraganda ko'proq vaqt talab etiladi. CISC arxitekturasining asosiy g'oyasi uning nomi - "buyruqlarning to'liq to'plami" da aks etadi. Ushbu arxitektura har bir mumkin bo'lgan (odatiy) ma'lumotlarni qayta ishlash harakati uchun alohida mashina ko'rsatmasiga ega bo'lishga intiladi. Tarixiy jihatdan CISC me'morchiligi birinchilardan biri bo'lgan. Protsessorlarning takomillashtirilishi imkon qadar ko'proq turli xil ko'rsatmalarni bajarishga qodir VMlarni yaratish yo'lidan bordi. Bu assambleya tilida dasturlar yozgan dasturchilarning ishini soddalashtirdi (ya'ni deyarli mashina ko'rsatmalari darajasida). Murakkab buyruqlardan foydalanish dastur hajmini va ishlab chiqish vaqtini qisqartirishga imkon berdi. Natijada, CISC protsessorlarini tashkil etishning quyidagi xususiyatlari rivojlandi: har biri markaziy protsessorning bir necha tsikllarida bajariladigan turli xil mashina ko'rsatmalari (yuzlab); dasturlashtiriladigan mantiq bilan boshqarish moslamasi; oz sonli umumiy foydalanish registrlari (RON); turli uzunlikdagi turli xil buyruq formatlari; ikki manzilli adreslashning ustunligi; bilvosita adreslashning turli usullarini o'z ichiga olgan operandlarni adreslash mexanizmi ishlab chiqilgan. Ammo CISC yondashuvi ba'zi bir buyruqlarni faqat apparatda bajarilishini imkonsiz qildi (bunday vositalarning murakkabligi bilan). Natijada, protsessorlarda bloklar paydo bo'ldi, "tezda" eng murakkab ko'rsatmalarni oddiyroq ko'rsatmalar ketma-ketligi bilan almashtirdi. Bundan tashqari, amaliyot shuni ko'rsatdiki, dasturlarni yozishda ko'plab murakkab buyruqlar oddiygina talab qilinmagan. Va nihoyat, buyruqlarning juda murakkabligi va ularning ko'pligi tufayli VM boshqaruv moslamasi faqat dasturlashtiriladigan mantiq asosida, ya'ni "sekin" boshqaruv xotirasi yordamida tuzilishi kerak edi. Oxirgi holat protsessorning soat chastotasini oshirish imkoniyatlarini sezilarli darajada chekladi. Ushbu omillarning barchasi RISC arxitekturasi tomon burilishga olib keldi. Shu bilan birga, CISC me'morchiligining bir qator shubhasiz afzalliklari o'z dolzarbligini saqlab qoladi (birinchi navbatda, dasturiy ta'minot ishlab chiqaruvchilari nazarida). Shuning uchun etakchi VM ishlab chiqaruvchilari (Intel, AMD, IBM va boshqalar) o'zlarining so'nggi ishlanmalarida hali ham CISC yondashuvidan voz kechmaydilar. Parallel hisoblash uchun mo‘ljallangan masalalar. Eng avvalo kompyuterda parallel dasturlash kerakmi degan savolga javob olish kerak. Lekin bu savol javob olishni istagan yagona savol emas. Aynan shuning uchun ham, parallel hisoblash dunyosini tushunish qiyin bo'lgan sodda, tushunarli, tushunarli dunyodan navbatdagi hisob-kitoblardan nima o'tish kerakligini tushunish ham muhimdir. Parallel hisoblashning afzalliklari nimadan iborat va parallel hisobga yo'naltirilgan dasturlarni yaratishda dasturchi uchun qanday muammolar kutilmoqda. Ushbu savollarga javob berish uchun keling, kompyuterni rivojlantirish tarixini tezroq ko'rib chiqamiz. Birinchi kompyuterlar Fon Neyman tomonidan ishlab chiqilgan printsiplarga muvofiq qurilgan. Ularning uchta asosiy komponenti bor edi: xotira, protsessor va kirish va chiqish ma'lumotlarini beruvchi tashqi qurilmalar to'plami. Xotira ko'p darajali va tashqi xotirasi va ichki xotirasi bo'lgan birinchi kompyuterlar uchun - operatsion va ro'yxatga olish xotirasi. Tashqi xotira (magnit lenta, punch karta, disklarda) kompyuterning yoqilgan yoki yoqilmaganligidan qat'iy nazar, dastur va ma'lumotlarni saqlash imkonini berdi. Ichki xotira faqat kompyuter bilan sessiya davri uchun ma'lumot saqlanadi. Kompyuterni o'chirib qo'ysangiz, ichki xotiraning mazmuni g'oyib bo'ldi. Dastur kompyuterda bajarilishi uchun u RAMga yuklanishi kerak edi. U o'sha dasturda ishlangan ma'lumotlar kabi saqlangan. Xotirada saqlangan dasturning printsipi Von Neumann kompyuterlarining asosiy tamoyillaridan biridir. Ro'yxatdan o'tish xotirasi hisoblash vaqtida ishlatilgan. Ma'lumotlar bo'yicha ba'zi operatsiyalarni bajarishdan oldin, ma'lumotlar registrlarda joylashtirilishi kerak. Ushbu tezkor xotira turi ma'lumotlar bo'yicha operatsiyalarni bajarishda zarur tezlikni ta'minladi. Barcha operatsiyalarni bajarish - hisoblash jarayonini boshqarishda ma'lumotlar va operatsiyalar bo'yicha operatsiyalarni protsessor amalga oshirdi. Kompyuter protsessori o'ziga xos ko'rsatmalarga ega edi. Ushbu to'siq potentsial hisoblash funktsiyasini hisoblash uchun universal edi. Boshqa tomondan, ushbu vosita odamlarning yozish dasturlarining nisbiy soddaligini ta'minladi. Dastlabki kompyuterlar uchun dasturlar, amaldagi protsessor buyruqlar majmuasiga kiritilgan qator buyruqlarni ifodalaydi. Dasturni kompyuterda ijro etish juda oddiy edi. Har safar kompyuterda bitta dastur bajarilgan. Protsessor, dasturga muvofiq ketma-ket navbatdagi buyruqlar ketma-ketlikda bajarildi. Barcha kompyuter resurslari - xotira, protsessor vaqti, barcha qurilmalar - dasturning to'liq tasarrufida edi va hech narsa uning ishiga aralashmasdi (albatta odamni hisobga olmagan). Parallelizm ko'zga ko'rinmasdi. Bu idial juda uzoq vaqt davomida juda qimmat bo'lmagan kompyuter resurslari samarasiz ishlatgani tufayli uzoq davom etmadi. Kompyuterlar o'chirilmadi, bitta dastur boshqasini o'zgartirdi. Yaqin orada kompyuter protsessor bilan birga markaziy protsessor deb nomlanuvchi qo'shimcha protsessorlarga, eng avvalo, sekin komutlarni bajarish uchun mas'ul bo'lgan kirish / chiqish qurilmalarining maxsus protsessorlariga ega edi. Bu esa, bir vaqtning o'zida bir nechta dastur kompyuterda ishlayotgani - dastur natijalarini nashr etishi, ikkinchisi - bajarilishi va uchinchisi - masalan, magnit tasmasi yoki boshqa tashqi vositadan ma'lumotlarni kiritish uchun dasturni bajarishning ommaviy rejimini tashkil etishga imkon berdi. Inqilobiy qadam 1964 yilda IBM - OS 360 operatsion tizimining paydo bo'lishi bo'ldi. Kompyuterda paydo bo'lgan operatsion tizim uning mutlaq egasi bo'ldi - barcha resurslari menejeri. Endilikda foydalanuvchi dasturi faqat operatsion tizim nazorati ostida bajarilishi mumkin. Operatsion tizim ikkita muhim vazifani hal etishga imkon berdi: bir tomondan, bir vaqtning o'zida kompyuterda ishlashning barcha dasturlariga zarur xizmatni taqdim etish, ikkinchidan, mavjud resurslarni ushbu resurslarga da'vo qilayotgan dasturlar orasida samarali foydalanish va tarqatish. Operatsion tizimlarning paydo bo'lishi bitta dasturli rejimdan ko'p dasturli rejimga o'tishga olib keldi, bir vaqtning o'zida bir xil dasturda bir nechta dastur mavjud. Ko'p dasturlash parallel dasturiy emas, biroq bu parallel hisoblash uchun bir qadamdir. Ko'p dasturlash - bir nechta dasturlarni parallel bajarish. Ko'p dasturlash sizga ularni bajarish uchun umumiy vaqtni kamaytirish imkonini beradi. Parallel hisoblashda bir xil dasturni parallel bajarish nazarda tutiladi. Parallel hisoblash bir dasturning bajarilish vaqtini kamaytirish imkonini beradi. Ko'p dasturlash uchun kompyuterning bir nechta protsessorlarga ega bo'lishi juda muhim. Ko'p dasturlashni amalga oshirish uchun protsessorlarning o'zaro ishlashini tashkil qiluvchi operatsion tizim mavjudligi yetarli. Parallel hisoblash uchun dasturning o'zi uchun zarur bo'lgan qo'shimcha talab mavjud - dastur hisoblarni parallellashtirish imkoniyatini yaratishi kerak, chunki operatsion tizimning ko'rinishi kompyuterni apparat (xotira, protsessorlar, boshqaqurilmalar) deb hisoblash mumkin emasligini anglatadi. Endi u ikki qismga ega: qattiq (qattiq) va yumshoq (yumshoq) - bir-birini to'ldiruvchi apparat va dasturiy komponentlar. Yarim asrdan ko'proq vaqt mobaynida komponentlar tez rivojlana boshladi, asbobuskunalar uchun eksponentsional o'sishni odatiy holga keltirdi, bu Murning taniqli ampirik qonunida aks ettirilgan - barcha muhim belgilar kattalashib ketgan barcha darajalarda xotira hajmi, xotiraga kirish vaqtini kamaytirish, protsessor tezligi. Murning qonuniga ko'ra (Gordon Moore Intelning asoschilaridan biri), xarakterli qiymatlar har yarim yilda ikki baravarga ko'paydi. Kompyuterga kiritilgan protsessorlarning soni ham ortdi. O'zgarildi va kompyuter arxitekturasi. Ushbu o'zgarishlar ko'p jihatdan hisoblarni parallellashtirishga qaratilgan qadamlar edi. Bu erda parallelizatsiya jarayoni bilan bevosita bog'liq bo'lgan protsessor arxitekturasidagi o'zgarishlarning bir qismi: Buyruqlar chizig'ini qayta ishlash. Protsessor tomonidan buyruqlar oqimini bajarish jarayoni endi buyruq buyrug'i ketma-ket ravishda bajarilmasligi sifatida ko'rilmaydi. Buyruqlar oqimini qayta ishlash jarayoni quvur liniyasida amalga oshirildi, shuning uchun bir nechta buyruqlar bir vaqtning o'zida bajarishga tayyorlandi. Bir-biriga bog'liq bo'lmagan buyruqlar bir vaqtning o'zida bajarilishi mumkin, bu allaqachon haqiqiy parallelizmdir. "Uzoq buyruqlar". Ba'zi bir kompyuterlarning arxitekturasi bir nechta protsessorlarni o'z ichiga olgan bo'lib, ular mantiqiy va arifmetik operatsiyalarni butun sonlar bo'yicha bajarish imkonini beradi, bir nechta protsessorlar suzuvchi nuqtali raqamlarda operatsiyalarni amalga oshiradi. Ma`lumotlarning parallel ishlashi ushbu klassdagi ilovalarning samaradorligini sezilarli darajada oshirishi mumkin. Dasturiy ta'minot darajasida parallel ijro etiladigan dasturlarning yana bir muhim turi - grafik tasvirlar bilan intensiv ishlash. Ushbu ishlash grafik ishlovchilar tomonidan amalga oshiriladi. Grafik tasvirni ballar to'plami sifatida ko'rish mumkin. Rasmni qayta ishlash ko'pincha hamma punktlarda bir xil operatsiyani bajarish uchun kamayadi. Ushbu vaziyatda ma'lumotlar parallelizatsiyasi osongina amalga oshiriladi. . Shu sababli, grafik protsessorlar avvaldan ko'p yadroli bo'lib, bu jarayonni parallellash va tasvirni samarali ishlash imkonini beradi. Superkompyuterlar hozirgi vaqtda eng yuqori ko'rsatkichlarga ega bo'lgan kompyuterlarni o'z ichiga oladi. Ular yuz minglab protsessorlardan iborat. Superkompyuterlardan samarali foydalanish hisobkitoblarning eng keng tarqalgan parallelligini o'z ichiga oladi .. Ilmiy tadqiqotlarda va yangi texnologiyalarda mavjud hisoblash tizimlarining barcha kuchini talab qiluvchi vazifalar mavjud. Mamlakatning ilmiy salohiyati ko'p jihatdan o'zining superkompyuterlari mavjudligi bilan belgilanadi. Superkompyuterning kontseptsiyasi nisbatan nuqtai nazardir. O'n yillik superkompyuterning xususiyatlari odatdagi kompyuterning xususiyatlariga mos keladi. Bugungi superkompyuterlar petafloplarda (1015 dona perimetrli operatsiyalar) o'lchovlarda ishlaydi. 2020 yilga qadar superkompyuterlarning ishlashi 1000 barobarga oshadi va eksaflopslarda o'lchov qilinadi Kompyuterlar tasniflash Kompyuterlar dunyosi miniatyura o'rnatilgan kompyuterlardan individual binolarni ishlaydigan ko'p tonna superkompyuterlarga qadar farq qiladi. Ular turli yo'llar bilan tasniflanishi mumkin. Birinchi va eng sodda tasniflardan biri - Flynn tasniflashini ko'rib chiqing, bu ma'lumotlar kompyuterda qanday ishlashga asoslangan. Ushbu tasnifga ko'ra, barcha kompyuterlar (komp'yuter komplekslari) to'rtta sinfga bo'linadi arxitekturali kompyuterlar: SISD (Single Instruction stream - yagona ma'lumotlar oqimi) - bitta ma'lumot oqimi - bitta ma'lumot oqimidir. Bu sinf, programma buyruqlar ketma-ket bajarilganda, keyingi ma'lumotlar elementini qayta ishlashda von Neumann arxitekturasiga ega oddiy "ketma-ket" kompyuterlarni o'z ichiga oladi SIMD (bitta yo'riqnoma oqimi - bir nechta ma'lumotlar oqimi) - bitta buyruq xartasi - bir nechta ma'lumotlar oqimi. Vektorli va matritsali protsessorlarga ega kompyuterlar ushbu turga tegishli: MISD (bir nechta yo'riqnoma oqimi - yagona ma'lumotlar oqimi) - bir nechta buyruqlar oqimi - bitta ma'lumot oqimi. Ushbu turdagi ma'lumotlarni o'tkazishning konveyer turiga ega kompyuterlar bo'lishi mumkin. O’rnatilgan tizim shunday kompyuter tizimidirki, unda boshqa kompyuter tizimlaridan ko’ra yuqori sifatli va ishonchli qurilmalar talab etiladi. O’rnatilgan qurilmalarning ba’zi qurilmalarida juda yuqori sifatli va ishonchli uskunalar bilan jihozlangan. Misol uchun, avtomobil motori kontrolerlarining harakat vaqtida tutashib ketishi yoki nozik tibbiyot asboblariningn jarrohlik vaqtidagi nuqsonlari juda jiddiy oqibatlrga olib keladi. Biroq, bu yerda ham shunday o’rnatilgan qurilmalar bo’lib, masalan TV, o’yinlar, kamera telefonlar kabi, ularda noqulayliklar mavjud bo’lib, lekin ular hayotga xavf soladigan holatlarni vujudga keltimaydi. Ba’zi o’rnatilgan tizimlar deb nom olgan qurilmalar, misol uchun PDA yoki web bloknotlar, aslida o’rnatilgan qurilma emas. Kompyuter tizimlari sohada ba’zi bahsli holatlar uchraydi va an’anviy tizimlarning hammasi ham aslidao’rnatilgan tizim emas. Biroz tushunildiki, ancha mukammalroq loyihalarning o’rnatilgan tizim sifatida shakllanishi, masalan PDAning, nanotexnologik bozor va sotuv jarayoniga ko’proq bog’liq ekan muhandislarga qaraganda. Haqiqatda soha muhandislari o’rnatilgan tizim jarayonidagi faoliyatiga qarab o’zaro bo’lingan, hatto bu loyihachilar joriy tizimlar borasida birgalikda muhokamalashishsada, an’anaviy o’rnatilgan tizim rivojlanishda davom etadimi yo’qmi yoki sanoat jarayonida yakunda boshqalar tomonidan boshqariladimi. Hozirda sanoatni ta’minlaydigan kompyuter tizimlari ko’lami mavjud emasligi sababli an’anaviy o’rnatilgan tizimlar va umumiy maqsadli shaxsiy kompyuterlar orasidagi raqobat sustlashdi. Bu kitob o’rnatilgan tizim evolyutsion ko’rinishini asoslab ko’rsatib beradi,qaysiki bu turdagi kompyuter tizim loyihalarini o’z ichiga olgan. Super kompyuterlar (TOP 500 kompyuterlar)-juda katta tezlikni talab qiladigan va katta hajmdagi masalalarni yechish uchun mo`ljallangan bo`ladi. Bunday masalalar). Parallel dasturlash tillarning kengayishi Mahsuslashtirilgan parallel tillar va mavjud tillami kengaytirish. •NORMA - hisoblash vazifalari mahsuslashtirilishining uslubsiz tili. • ABCL (An object -Based Concurrent Language) - ob'ektga yo'naltirilgan dasturlash elementlari va xabarlar yuborish vositalarini birlashtiradigan parallel tili. • Adl - parallel dasturlash uchun mo'ljallangan, ma'lumotlarning bir gancha turlari va konstrukstiyalariga ega funktsional tili. Bu tarqalgan xotirali abstract mashinani dasturlashga qaratilgan. • Ada -Parallel dasturlarni yaratishga mo’ljallangan vositalarni o'z ichiga olgan universal dasturlash tili. AQSh Mudofaa vazirligining rasmiy dasturlash tili. Ko’pgina turli platformalar uchun turli xil kompilyatorlar mavjud. • Concurrent Clean - ketma ket va parallel dasturlarni yaratish imkonini beruvchi oliy darajadagi ko'p maqsadi dasturlash tili. Ko'p platformalar uchun tadbiq qilish mumkin. • MC # - klaster va GRID -arxitekturalarga qaratilgan va parallel dasturlashda C # tilining barcha avzalliklarini ishlatishga imkon beradigan MC # dasturlashning asinhron parallel tilini yaratish bo’yicha yangi loyiha. Ushbu til local va tarqoq tartibda bajarilishi mumkin bo’lgan oson o’qiladigan va samarali dasturlash kodini yaratish imkonini beradi. • DVM - turli arxitekturali parallel kompyuterlar uchun C-DVM va Fortran - DVM tillarda ko'chma va samarali hisoblash ilovalarini yaratish uchun mo'ljallangan tizim. • Qisqartma DVM ikki tushunchalariga mos keladi: Tarqatish Virtual Xotira va tarqatish Virtual Machine. Birinchisi yagona manzil maydon mavjudligini aks ettiradi. Ikkinchisi virtual mashinalarini malumotlarni tasvirlash va real parallel mashinada hisoblashni ikki bosqichli sxemada foydalanishni aks ettiradi • DVM tizimi ham LIB -DVM, DVM otladchik , DVM dasturlarini ishini bashoratlovchi, DVM dasturlarini maxsuldorligini qo'llab quvvatlovchi kutubxonalar qatoriga kiradi. •Erlang - turli xilda taqsimlangan tizimlar uchun dasturlar yozish imkonini beruvchi dasturlash tili. Ushbu til parallel jarayonlarni ko'paytirish va asinxron xabarlar orqali aloqa qiluvchi vositalarni o'z ichiga oladi. • Modula -3 - universal dasturlash tili, Bu til ko'p oqimli dasturlar ishlab chiqish imkoniyatini o'z ichiga oladi. • NESL - parallel dasturlash tili bo'lib, bir xil tipdagi malumotlar ustida istalgan funksiyani parallel bajarish imkoniyatiga ega. Bundan tashqari kompyuter unumdorligini analiz qiluvchi vositasini ham o'z ichiga oladi. •Occam - parallel dasturlash tili, parallel dasturlar yozishga qaratilgan. ko'proq transputer tizimlari uchun •Orca - taqsimlangan xotiraga ega kompyuterlar uchun parallel dasturlash tili. Dinamik jarayonlarni paydo qilish, va ularni protsessorda aks ettirish vositalarini, shuningdek, alohida obektlar o'rtasida aloqani o'rnatishni o'z ichiga oladi. • Parallaxis - Modula -2 tiliga asoslangan strukturali parallel dasturlash tili. Foydalanuvchiga dastur ishlashi lozim bo'lgan virtual mashina konfiguratsiyalarini sozlash imkoniyatini beradi. • Phantom - kata taqsimlangan mo'ljallangan dasturlash tili. interaktiv ilovalarni yaratishga • Sisal - funktsional dasturlash tili. Dasturchi yaratayotgan dasturining parallel xususiyatlari haqida qayg'urmasa ham bo'ladi, chunki kompilyator o'zi barcha bo'g'liq bo'lmagan qismlarni topadi hamda protsessorlarga taqsimlab beradi. • SR - parallel dasturlash tili. Tilning asosiy tuzilmalar: resurslar(CPU va ma'lumotlar) va operatsiyalar. Turli ko'rinishdagi sinxronlashtirishni, xabar uzatish, dinamik jarayon yaratish, bo'linuvchi o'zgaruvchilardan foydalanishni qo'llab –quvvatlaydi. •ZPL - parallel dasturlash tili. Bu massivlar va massivlar seksiyasi ustida amallar bajarish imkoniyatini o'z ishiga oladi. Dasturchi parallelism haqida buyruq bermaydi, barcha parallel xususiyatlar kompilyator tomonidan aniqlanadi. Parallel hisoblashning afzalliklari Parallel hisoblashning afzalliklari shundaki, kompyuterlar kodni yanada samarali bajarishi mumkin, bu esa "katta ma'lumotlar" ni har qachongidan ham tezroq saralash orqali vaqt va pulni tejashga imkon beradi. Parallel dasturlash yanada murakkab muammolarni hal qilishi, jadvalga ko'proq resurslarni keltirishi mumkin. Bu quyosh energiyasini yaxshilashdan tortib moliya sohasi qanday ishlashini o'zgartirishgacha bo'lgan dasturlarda yordam beradi. Parallel hisoblashning ketma-ket hisoblashdan afzalliklari quyidagilardan iborat: 1)Bu vaqt va pulni tejashga imkon beradi, chunki ko'plab resurslar birgalikda ishlash vaqtni qisqartiradi va mumkin bo'lgan xarajatlarni kamaytiradi. 2)Seriyali hisoblashda katta muammolarni hal qilish maqsadga muvofiq emas. 3)Mahalliy resurslar cheklangan bo'lsa, u mahalliy bo'lmagan resurslardan foydalanishi mumkin. 4)Ketma-ket hisoblash potentsial hisoblash quvvatini «isrof qiladi», shuning uchun Parallel Computing qo'shimcha qurilmalarning ishlashini yaxshilaydi. Parallel dasturlashda ishlatiladigan asosiy abstraktsiyalar vazifalar va kanallarga to'g'ri keladi: 1.Parallel hisoblash bir yoki bir nechta vazifalardan iborat. Vazifalar parallel ravishda amalga oshiriladi. Dasturni bajarish jarayonida vazifalar soni o'zgarishi mumkin. 2.Vazifa ketma-ket dastur va mahalliy xotirani ajratib turadi. Bundan tashqari, kirish va chiqishlar to'plami o'z muhitida uning interfeysini belgilaydi. 3. Vazifa mahalliy xotirada o'qish va yozishdan tashqari to'rtta asosiy amalni bajarishi mumkin: uning chiqish portlariga xabar yuborish, kirish portlaridan xabar olish, yangi vazifalar yaratish va topshiriqni yo'q qilish (tugatish). 4.Xabar yuborish operatsiyasi asinxron bo'lib, darhol tugaydi. Qabul qilish operatsiyasi sinxron bo'lib, topshiriqni bajarishga olib keladi va xabar qabul qilinmaguncha jarayonni bloklaydi. 5.I/U juftlari kanallar deb ataladigan navbatdagi xabarlar orqali ulanishi mumkin. Kanallar yaratilishi va oʻchirilishi, kanallarga (portlarga) havolalar xabarlarga kiritilishi mumkin, shunda ulanish dinamik ravishda oʻzgaradi. 6. Ishlarni turli usullar bilan jismoniy protsessorlarga solishtirish mumkin; displey ilovasi dasturning semantikasiga ta'sir qilmaydi. Xususan, bir nechta ishlarni bitta protsessorga solishtirish mumkin (bitta vazifani bir nechta protsessorga solishtirish mumkin, deb ham tasavvur qilish mumkin, ammo bu erda bu imkoniyat hisobga olinmaydi). Vazifalarni mavhumlashtirish mahalliy xususiyatni talab qiladi: vazifaning mahalliy xotirasidagi ma'lumotlar "yopiq"; boshqa ma'lumotlar "o'chirildi". Kanal abstraktsiyasi boshqa vazifa ishga tushishidan oldin bitta vazifadan qanday ma'lumotlarni hisoblash kerakligini belgilash mexanizmini taqdim etadi. (Bu ma'lumotlarga bog'liqlik bilan tavsiflanadi). Vazifa va kanal modeli yana bir qancha xususiyatlarga ega: Ishlash . Protseduralar va ma'lumotlar tuzilmalari kabi ketma-ket dasturlash abstraktsiyalari samaralidir, chunki ularni fon Neyman kompyuteriga sodda va samarali tarzda solishtirish mumkin. Vazifalar va kanallar ko'p kompyuterda xuddi shunday to'g'ridan-to'g'ri taqsimlanadi. Vazifa bitta protsessorda ketma-ket bajarilishi mumkin bo'lgan kod qismini ifodalaydi. Agar kanalni ulashgan ikkita vazifa boshqa protsessorlar bilan taqqoslansa, kanal ulanishi protsessorlararo ulanish sifatida amalga oshiriladi; agar ular bir xil protsessorga moslashtirilgan bo'lsa, ba'zi samaraliroq mexanizmlardan foydalanish mumkin. Tarqatishning mustaqilligi . Vazifalar vazifaning joylashuvidan qat'i nazar, bir xil mexanizm (kanallar) yordamida aloqa qilganligi sababli, dastur tomonidan hisoblangan natija vazifaning qayerda bajarilishiga bog'liq emas. Shuning uchun, algoritmlarni ular ishlaydigan protsessorlar soni haqida tashvishlanmasdan loyihalash va amalga oshirish mumkin; Aslida, algoritmlar ko'pincha protsessorlarga qaraganda ko'proq vazifalarni yaratish uchun mo'ljallangan. Bu masshtabga erishishning oddiy usuli: protsessorlar soni ortishi bilan protsessorga to'g'ri keladigan vazifalar soni kamayadi, lekin algoritmning o'zini o'zgartirish kerak emas. Aloqa kechikishlarini maskalash uchun protsessorlar bajara oladigan vazifalardan ko'proq bo'lsa, masofaviy ma'lumotlarga kirish uchun aloqa davom etayotganda bajarilishi mumkin bo'lgan boshqa hisoblar taqdim etiladi. Modullilik. Modulli dasturlashda turli xil dastur komponentlari mustaqil modullar sifatida alohida ishlab chiqiladi va keyin birlashtirilib to‘liq dastur hosil qilinadi. Modullar orasidagi o'zaro ta'sir aniq belgilangan interfeyslar bilan cheklangan. Shunday qilib, modulli ilovalar boshqa komponentlarni o'zgartirmasdan o'zgartirilishi mumkin va dasturning xususiyatlarini uning modullari spetsifikatsiyasi va ushbu modullarni bir-biriga bog'laydigan koddan aniqlash mumkin. Modulli ishlab chiqish muvaffaqiyatli qo'llanilganda, dasturiy ta'minotning murakkabligi kamayadi va kodni qayta ishlatish osonlashadi. Determinizm. Algoritm yoki dastur, agar ma'lum bir kirish bilan bajarilganda, har doim bir xil natijani beradigan bo'lsa, deterministik hisoblanadi. Agar bir xil kirishning bir nechta bajarilishi boshqa natijalarga olib kelishi mumkin bo'lsa, bu deterministik emas. Nondeterminizm ba'zan foydali va qo'llab-quvvatlanishi kerak bo'lsa-da, deterministik dasturlarni yozishni osonlashtiradigan parallel dasturlash modeli juda ma'qul. Deterministik dasturlar ko'proq tushunarli bo'ladi. Bundan tashqari, to'g'riligini tekshirishda parallel dasturning barcha mumkin bo'lgan bajarish ketma-ketligini emas, balki faqat bitta bajarish ketma-ketligini hisoblash kerak. Xulosa Bunday holda protsessor kartasi protsessor sifatida ishlatiladi. Hisoblash muddati 1-3 darajaga qadar kamayadi. ichiga o'rnatilgan sistolik protsessor texnik tizimlarular real vaqtda raqamli ishlov berish uchun ishlatiladi. Masalan, raqamli filtrlash algoritmi va h.k. Tarqatilayotgan xotiraga ega bo'lgan ommaviy parallel kompyuterlar (MPP): bir yoki bir nechta markaziy qayta ishlash qurilmalari (Odatda RISC), mahalliy xotira (boshqa tugunlar xotirasiga to'g'ridan-to'g'ri kirish mumkin emas), aloqa protsessorlari yoki tarmoq adapteri ba'zan qattiq disklar va / yoki boshqa I / O asboblari. Foydalanilgan adabiyotlar 1. www.aim.uz – internet portal 2. “Raqamli teхnika va mikroprotsessorlar”- U.B. Amirsaidov, Х.Y. Abasхonova 3. “Parallel kompyuterlarning arxitekturasi va dasturlash’’ oquv uslubiy majmuasi. http://fayllar.org 4. Broydo V.L. Arxitektura EVM i sistem. Uchebnik dlya vuzov. SPb. 2011.- 720 s 5. Badenko V.L. Vыsokoproizvoditelьnыe vыchisleniya. Uchebnoe posobie. SPb. 2011. – 180 s.
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )