• Parallel xisoblash uchun mo’ljallangan masalalar mavzusida MUSTAQIL ISHI
  • Parallel xisoblash uchun mo’ljallangan masalalari . Parallelashtirish – ishlov berish tezligini oshirishning bir yo’li REJA
  • 5. Parallel hisoblash tahlili
  • Foydalanilgan adabiyotlar
  • Va telekommunikatsiya va kommunikatsiyalarni rivojlantirish vazirligi




    Download 45,68 Kb.
    Sana17.05.2024
    Hajmi45,68 Kb.
    #239286
    Bog'liq
    Va telekommunikatsiya va kommunikatsiyalarni rivojlantirish vazi-fayllar.org (1)


    Va telekommunikatsiya va kommunikatsiyalarni rivojlantirish vazirligi


    O’ZBEKISTON RESPUBLIKASI ALOQA, AXBOROTLASHTIRISH 


    VA TELEKOMMUNIKATSIYA VA KOMMUNIKATSIYALARNI
    RIVOJLANTIRISH VAZIRLIGI 
    Muhammad al-Xorazmiy nomidagi Toshkent Axborot Texnologiyalari
    Universiteti Nukus filiali
    “Kompyuter injiniring” fakulteti “Kompyuter injiniringi” yo’nalishi
    3-bosqich 101-18 guruh talabasi
    Bozorboyev Sarvarbekning
    “Kompyuter arxitekturasi” fanidan 


    Parallel xisoblash uchun mo’ljallangan masalalar mavzusida 

    MUSTAQIL ISHI

    Bajargan:


    Bozorboyev S.


    Qabullagan:

    Bekbo’sinov A. 


    Nukus-2020







    Parallel xisoblash uchun mo’ljallangan masalalari.

    Parallelashtirish – ishlov berish tezligini oshirishning bir yo’li


    REJA: 


    1. Parallel xisoblash tizimlari 

    2. Parallel kompyuterlar 

    3. Parallel dasturlash 

    4. Parallel kompyuterlarning dasturiy ta’minoti 

    5. Parallel hisoblash tahlili 
    Eng avvalo kompyuterda parallel dasturlash kerakmi degan savolga javob 

    olish kerak. Lekin bu savol javob olishni istagan yagona savol emas.


    Aynan shuninguchun 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 – oper atsion
    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'lish bo'ldiKompyuterda payd0 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 sizgaularni 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, asbob- 
    uskunalar uchun eksponentsional o'sishni odatiy holga keltirdi, bu
    Murning taniqli ampirik qonunida aks ettirilgan - barcha muhim belgilar 
    kattalashib ketgan – barcha xarajalarda 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 yerrda 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. 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. 
    An'anaviy dasturlash tillari va maxsus izohlardan foydalanish asosida
    umumiy xotira kompyuterlari uchun eng mashhur dasturiy vositalaridan 
    biri hozirda OpenMP texnologiyasidir. Vaqtinchalik dastur asos sifatida
    olinadi va parallel versiyasini yaratadi, foydalanuvchi bir qator dir
    direktivalari, funktsiyalari va atrof-muhit o'zgaruvchilari bilan
    ta'minlanadi. Yaratilgan parallel dastur OpenMP API-ni qo'llab-
    quvvatlaydigan turli xil umumiy xotira kompyuterlari o'rtasida
    ko'chma bo'ladi deb taxmin qilinadi. 
    OpenMP texnologiyasi foydalanuvchi dasturning parallel va
    ketma-ket ijro etilishi uchun dasturning bitta versiyasiga ega bo'lishini 
    ta'minlashni maqsad qiladi. Biroq, faqat parallel rejimda to'g'ri ishlashi
    yoki ketma-ket rejimda boshqa natija beradigan dasturlarni yaratish
    mumkin. Bundan tashqari, yaxlitlash xatolarining to'planishi tufayli
    turli xil ish zarrachalaridan foydalangan holda hisoblash natijalari ayrim 
    hollarda farq qilishi mumkin. Ushbu standart OpenMP ARB notijorat
    tashkiloti tomonidan ishlab chiqilgan (Arxitektura tadqiqoti kengashi)
    [1], bu SMP-arxitektura va dasturiy ta'minotni ishlab chiqaruvchi yirik



    kompaniyalarning vakillari hisoblanadi. OpenMP FORTRAN va C / C 


    ++ tillari bilan ishlashni qo'llab-quvvatlaydi. Fortran tiliningbirinchi
    spetsifikatsiyasi oktyabr 1997-yilda va C / C ++ tilining 1998 yil 
    oktyabrida paydo bo'lishi. Hozirgi vaqtda eng so'nggi rasmiy standart
    spetsifikatsiya OpenMP 3.0 [3] (2008 yil may oyida qabul qilingan). 
    OpenMP interfeysi umumiy xotira modelida цlзeklenebilir SMP
    tizimlarida (SSMP, ccNUMA va boshqalar) dasturiy uchun standart
    sifatida mo'ljallangan. OpenMP standarti kompilyator direktiflari,
    yordamchi funktsiyalar va atrof-muhit o'zgaruvchilari uchun
    spetsifikatsiyalarni o'z ichiga oladi. OpenMP "master" (master) ish
    zarrachalar majmuasini "qul" (thread) toifalarini hosil qiladigan va ular 
    orasidagi vazifa taqsimlangan multithreading yordamida parallel
    hisoblashni amalga oshiradi. Bir vaqtning o'zida bir nechta protsessorli 
    mashinada parallel ishlaydi va protsessorlarning soni ish zarrachalar
    soniga teng yoki teng bo'lmasligi kerak.
    POSIX interfeysi (Pthreads) deyarli barcha UNIX tizimlarida qo'llab-
    quvvatlanadi, biroq ko'plab sabablarga ko'ra amaliy parallel dasturlash 
    uchun mos emas: Fortranni qo'llab-quvvatlamaydi, dasturlash darajasi
    juda past, parallelizmga mos kelmaydi. va iplar mexanizmi aslida
    parallelizmni tashkil qilish uchun mo'ljallangan emas edi. OpenMP'ni
    Pthreads (yoki shunga o'xshash yozuvlar kutubxonalari) orqali yuqori
    darajadagi qo'shimcha sifatida o'ylash mumkin; OpenMP
    terminologiyani va Pthreads-ga yaqin bo'lgan dasturiy modelini, masalan, 
    dinamik ravishda yaratilgan ish zarrachalarini, birgalikda va
    birgalikdagi ma'lumotlarni va sinxronlashtirish uchun "qulflarning" 
    mexanizmidan foydalanadi. OpenMP texnologiyasining muhim
    ustunligi dasturiy vosita dasturda parallellik manbasini o'z ichiga olgan 
    bo'limlarni asta-sekinlik bilan topib, taqdim etilgan mexanizmlardan
    foydalangan holda ketma-ket dasturlashni amalga oshirish imkoniyati 
    bo'lib, ularni parallel qiladi va keyinchalik quyidagi bo'limlarni tahlil
    qilishga o'tadi. Shunday qilib, dasturda parallel bo'lak asta-sekin 
    kamayadi. Ushbu yondashuv ketma-ketlikdagi dasturlarni parallel
    kompyuterlarga moslashtirish jarayonini, shuningdek disk raskadrovka 
    va optimallashni osonlashtiradi. Ushbu qo'llanmada OpenMP
    funksiyasining tavsifi ko'plab misollar bilan ta'minlangan. Barcha


    misollar M.V. Moskva Davlat Universitetining Tadqiqot 


    Kompyuterlari Markazining Parallel Axborot Texnologiyalari
    Laboratoriyasi xodimlari tomonidan sinovdan o'tgan. Lomonosov
    "SKIF" SKU MSU
    "CHEBYSHEV" da Intel Fortran / C ++ 11.0 kompyuteri yordamida 
    ishlaydi. OpenMP mexanizmlarini ishlatish uchun OpenMP derivatori
    bilan mos kalit bilan kompilyatsiya qilishingiz kerak (masalan, icc / ifort 
    -openmp derleyici kaliti, gcc / gfortran -f openmp, Sun Studio -xopenmp,
    Visual C ++ - / openmp, PGI - mp). Derleyici OpenMP direktivalarini 
    sharhlaydi va parallel kod yaratadi. OpenMP-ni qo'llamaydigan
    kompilyatorlardan foydalanilganda OpenMP direktivlari qo'shimcha 
    xabarlarsiz e'tiborsiz qilinadi.
    OpenMP yordamiga ega bo'lgan kompilyator, dasturning parallel
    versiyasi uchun odatiy bo'lgan alohida bloklarni shartli ravishda
    kompilyatsiya qilish uchun ishlatilishi mumkin bo'lgan _OPENMP so'lini 
    belgilaydi. Bu so'l yyyym formatida aniqlanadi, bu erda yyyy va mm -
    qo'llab-quvvatlanadigan OpenMP standarti qabul qilingan yil va oy
    uchun raqamlar. Masalan, OpenMP 3.0 standartini qo'llab-
    quvvatlaydigan derleyici 2008/05 da _OPENMP ni belgilaydi. 
    Muammolarni paydo bo’lish sababini tushunish uchun dastavval
    “oddiy” kompyuter qanday tuzilganligini ko’rib chiqamiz. Biz
    foydalanuvchi ko’zi bilan oddiy kompyuterni super kompyuter sifatida
    ko’ramiz va uning yutuq va kamchiliklarini ko’rib chiqamiz.
    Kompyuterdagi eng asosiy ma’lumotli element so’z hisoblanadi. Har
    bir so’z o’zida tartiblangan bitlar to’plamini ifodalaydi. So’z baytlarga 
    bo’linishi mumkin. Bayt tartiblangan 8 bit ga teng. So’zdagi bitlar soni
    so’zning uzunligi deyiladi. Muayyan kompyuterlar bir xil so’zga va
    bir xil so’z uzunligiga ega bo’ladi. Turli xil kompyuterlar turli xil so’z
    uzunligiga ega bo’lishi mumkin. Misol uchun shaxsiy kompyuterlarda
    so’z bir baytdan iborat bo’lsa, Sgau-1 kompyuterida so’z 64 bitdan
    iborat. Agar so’zga qandaydir ma’lumot yozilsa, bu shuni anglatadiki, 
    so’zning har bir biti qabul qilishi mumkin bo’lgan 0 yoki 1 bilan
    fikrsirlangan bo’ladi. So’zning barcha bitlarining to’plami so’zning
    tashkil etuvchisini aniqlaydi. So’zlarning to’plamini saqlaydigan
    qurilma xotira deb nomlanadi. U kompyuter bajaradigan vazifasi, yoki 


    kompyuter tipidan kelib chiqqan holda oddiy yoki murakkab, bir


    xil qurilmali yoki turli xil qurilmali bo’lishi mumkin. Barcha so’zlar
    o’z nomiga ega bo’ladi. So’zning nomi adres bilan nomlanadi. Ma’no 
    aniqlagan adres strukturasi xotira strukturasini aks ettiradi. Har xil so’zlar
    har xil adreslarga ega bo’ladi. Har bir adres muayyan fizik joy – xotira
    bilan bog’langan bo’ladi. Istalgan kompyuterning asosiy vazifasi
    xotirada saqlanadigan ma’lumotlarni qayta ishlashdan iborat. U
    alohida so’zdan tuzilgan, bir xil ma’noli, oddiy funksiya ketma –
    ketliklari bajarilishi kabi amalga oshiriladi. Qoida shunday, barcha
    funksiyalar ko’pi bilan 2 ta argumentdan iborat.
    Funksiyalar so’zni to’laligicha yoki so’zning qismlarini ishlatishi
    yoki ularni o’zgartirishi mumkin. Umumiy holda aytilganda, har xil
    kompyuterlar har xil foydalanadigan funksiylar to’plamiga ega
    bo’loladi. Biroq ushbu to’plamlar ko’pincha funksional tomondan
    qisman yoki butunlay mos tushadi va faqatgina amalga oshirish 
    texnikasi bilan farqlanadi. Ayniqsa, sonlar ustida oddiy arifmetik amallar
    (qo’shish, ayirish, ko’paytirish vahokazo), bitlar ustida mantiqiy
    operatsiyalar (konyunksiya, dizyunksiya vahokazo) keng tarqalgan
    funksiyalardir. Odatda kompyuter terminologiyasida barcha
    funksiyalar operatsiyalar deb nomlanadi, argument qiymati, ba’zan
    argumentning o’zi ham va hattoki argument ichidagi so’z adresi 
    operandlar hisoblanadi.
    Xotiradagi operatsiyalardan tashqari, kompyuter ma’lumotlarni
    qayta ishlovchi tashkiliy jarayonlar bilan bog’langan amallarni ham
    bajarishi kerak. Kompyuterning mumkin amallari tizimining mashina
    buyrug’ida yoziladi. Har qanday ma’lumot, mashina buyrug’i ham
    so’zlar kabi yoziladi. Buyruq ta’rifi operatsiya kodlari va operandlarni 
    o’z ichiga oladi. Bir qancha mashina buyruqlari qat’iy ko’rsatilgan joyda
    joylashgan (misol uchun fiksirlangan registr) so’zlar ustida amallar
    bajaradi. Bunday buyruqlar aniq ko’rsatilgan operandlar talab
    qilmaydi. Tizim komandasi quyidagicha ishlaydi, ya’ni bajarilgan
    buyruqdan keyin undan keyin keladigan buyruqlarni aniqlab boradi.
    Har qanday ma’lumotlarni qayta ishlovchi jarayonlar shu kompyuter 
    uchun mumkin bo’lgan sonlar, ya’ni aniq mashina buyruqlari
    jamlanmasi yordamida ta’riflanadi. Bu jamlanma mashina kodi yoki


    ichki dasturi kodi deb nomlanadi. Ta’kidlash joizki, jarayonlar mashina 


    tili buyruqlarida yoziladi, boshqacha bo’lishi mumkin emas.
    Mashina kodining strukturasi doimo kompyuter strukturasiga
    mos bo’ladi va foydalanuvchi bajarishi uchun mo’ljallangan amallar
    strukturasiga umuman o’xshash bo’lmasligi mumkin. Qoida 
    shunday,fondalanuvchi o’z amallarini yuqori darajali tillarda yozadi.
    Kompyuterlar ularni “tushunmaydi”. Shuning uchun, ular bajarilishi 
    uchun ularning hammasi dastlab ekvivalent mashina kodiga o’girilishi
    kerak. Kompliyator juda murakkab va u juda katta hajmdagi ishni
    bajaradi.
    Foydalanuvchi dasturining unumdorligini olinadigan mashina
    kodi va protsessorening masalani yechish unumdorligi belgilaydi.
    Mashina kodi bajarilgunga qadar barcha buyruqlar va kerakli
    ma’lumotlar xotiraga yuklangan bo’lishi kerak. Bu kiritish qurilmalari
    deb nomlangan maxsus buyruqlar orqali amalga oshiriladi. Ularga
    misol qilib ma’lumotli disklarni o’quvchi disketlar, lazerli disklar,
    skanerlar, klaviaturalar va boshqalarni olish mumkin. Kompyuterdagi 
    natijalar maxsus buyruqlar yordamida chiqarish qurilmalari orqali
    xotiradan chiqariladi. Bularga misol qilib ma’lumotlarni diskka
    yozuvchi qurilmalar, printerlar, ekran va boshqalarni olish mumkin.
    Xotiraga mashina kodi va ma’lumotlar yuklangandan keyin komyuter
    o’z ishini boshlashi mumkin.
    Bularning barchasini boshqarish qurilmasi amalga oshiradi. U
    registrlar, hisoblagichlar va boshqa elementlardan tashkil topgan va
    u xotira, arifmetik mantiqiy qurilma, kiritish-chiqarish qurilmasi,
    kompyuterning boshqa qismalari orasidagi ma’lumotlar uzatilishini
    ta’minlaydi. Boshqarish qurilmasi 2 ta o’zaro zid topshiriqni bajarishi 
    kerak. Bir tomondan boshqarish qurilmasi, topshiriqlarni yechish
    jarayonlari to’xtab qolmasligi uchun u yetarli darajada tez ishlashi kerak.
    Boshqa tomondan esa, boshqarish qurilmasi turli xil qurilmalarni
    boshqaradi, shu jumladan, bir vaqtda ishlaydigan va bir-biridan
    uzoqda ishlaydigan qurilmalarni ham boshqaradi. Shuning uchun
    boshqarish qurilmasi iyerarxik va taqsimalangan arxitektura yordamida
    tashkil qilinadi. Eng tezkor sath – bu elektron sxema hisoblanadi.



    Elektron sxema navbatdagi buyruqlarni rasshifrovka qiladi, operator


    adreslarini va operatsiya kodlarini belgilaydi, analiz uchun navbat turgan
    bitta yoki bir nechta buyruqlarni tanlaydi. Boshqarish qurilmasining
    boshqa sathi – bu, masalan, sxemalar, arifmetik-mantiqiy qurilmadagi
    jarayonlarni boshqaradi. Boshqarish qurilmasi, arifmetik-mantiqiy
    qurilma va tezkor xotira bloki jamlanmasi markaziy protsessor deb
    nomlanadi. 


    Kompyuterning umumiy sxemasi 


    Parallel hisoblash dasturlari kompyuter dasturlarini tashkil qilishning bir
    usuli bo'lib, dasturlarda parallel ishlaydigan hisoblash jarayonlari 
    majmuasi sifatida ishlab chiqiladi (bir vaqtning o'zida). Bu atamalar
    dasturiy ta'minotning bir vaqtning o'zida bir qator masalalarni qamrab
    oladi, shuningdek, samarali apparatni qo'llashni yaratadi. Parallel
    hisoblash nazariyasi algoritmlarning amaliy nazariyasining bir qismi.
    Parallel hisoblashni amalga oshirishning turli usullari mavjud. Masalan,
    har bir hisoblash jarayoni operatsion tizim jarayoni sifatida amalga 
    oshirilishi mumkin yoki hisoblash jarayonlari bir operatsion jarayonida
    bajariladigan ish zarrachalar majmui bo'lishi mumkin. Parallel dasturlarni 
    har bir hisoblash jarayonini amalga oshirish uchun yoki parallel
    ravishda har bir hisoblash jarayonida bir yoki bir nechta protsessorni 
    (yaqinda joylashgan yoki kompyuter tarmog'iga bo'linadi) ajratish bilan
    bir qatorda birma-bir protsessorda jismonan bajarilishi mumkin.
    Parallel dasturlarni ishlab chiqishda asosiy qiyinchilik turli
    hisoblash jarayonlari o'rtasidagi o'zaro ta'sirlarning to'g'ri ketma-
    ketligini ta'minlash, shuningdek, jarayonlarning o'zaro taqsimlangan
    resurslarini muvofiqlashtirishdir. Ayrim parallel dasturiy tizimlarida
    komponentlar orasidagi ma'lumotlarni uzatuvchi dasturchidan
    yashiriladi (masalan, so'z mexanizmidan foydalaniladi), boshqalarida
    esa aniq ko'rsatilishi kerak. Ochiq shovqinlarni ikki turga bo'lish
    mumkin:
    Umumiy xotirasi orqali o'zaro bog'liqlik: ko'p protsessorli tizimning
    har bir protsessorida bitta jarayonga tegishli ijro etiladigan ish zarrachasi 
    ishga tushiriladi. Ushbu jarayon uchun umumiy xotira joyida ma'lumotlar
    almashinuvini uzatadi [2]. Iplar soni protsessorlarning soniga mos keladi. 
    Mavzular til vositalari (masalan, Java yoki C #, C ++ (C ++ 11) dan
    boshlab), C (C11dan boshlab)) yoki aniq kutubxonalar masalan, C / C 
    ++ da PThreads yordamida) yoki deklarativ ravishda (Masalan,
    OpenMP kutubxonasidan foydalanib) yoki avtomatik ravishda
    o'rnatilgan kompilyator vositalari (masalan, Fortranning yuqori ishlashi).
    Ushbu turdagi parallel dasturiy ta'minot odatda bir-birlari orasidagi


    oqimni muvofiqlashtirish uchun boshqarishning ba'zi shakllarini 


    (mutexes, semaforlar, monitorlar) talab qiladi.
    Xabar yozish yordami bilan o'zaro ta'siri: ko'p protsessorli tizimning 
    har bir protsessorida xabarlarni ishlatadigan boshqa protsessorlar bilan
    ishlaydigan boshqa jarayonlar bilan bog'laydigan yagona bitikli
    jarayon boshlanadi. Jarayonlar operatsion tizimning tegishli
    funktsiyasini va kutubxonani (masalan, MPI protokolini qo'llash) 
    foydalanib, yoki til vositalarini (masalan, High Performance Fortran,
    Erlang yoki occam) foydalanib yozish orqali aniq tarzda yaratiladi. 
    Xabarlar doimo mos kelmaydigan shaklda yoki jo'natuvchiga xabar
    yetkazilguniga qadar taqiqlanadigan topiladigan usul yordamida 
    foydalanish mumkin. Asenkron xabarlar ishonchli bo'lishi mumkin
    (kafolatlangan etkazib berish bilan) yoki ishonchsiz [3]. Parallel xabarlar
    tizimlari umumiy xotira tizimlaridan ko'ra ko'proq tushunishadi va
    ko'pincha ilgari parallel dasturlash usuli hisoblanadi. Xat yozish
    tizimlarini o'rganish va tahlil qilish uchun matematik nazariyalarning
    keng tanlovi mavjud, shu jumladan aktyorlar modeli va jarayonlarning 
    har xil turlari. Xabarlar nosimmetrik ko'p protsessorlarda birgalikda
    izchil xotirasi bo'lgan yoki bo'lmagan holda samarali tarzda amalga 
    oshirilishi mumkin. Tarqatilayotgan xotira va xabarlarni yuborish bilan
    parallellik turli ishlash ko'rsatkichlariga ega. Odatda (lekin har doim 
    ham emas), jarayonlar uchun xotira miqdori va xabarlarni uzatuvchi
    tizimlar uchun vazifalarni almashtirish muddati past bo'ladi, lekin
    xabarlarni yuborish jarayoni protsedura chaqiruvlaridan ko'ra
    qimmatroq. Bu farqlar ko'pincha ishlashga ta'sir qiluvchi boshqa omillar 
    bilan bir- biriga o'xshash. Gibrid usul: tarqatilgan xotirali (DM-MIMD)
    ko'p protsessorli tizimlarda, bu tizimning har bir tugunini umumiy xotira 
    protsessori (SM-MIMD) bo'lsa, siz gibrid dasturiy usulini qo'llashingiz
    mumkin [4]. Tizimning har bir tugunida, bu tugun protsessorlari 
    orasidagi iplarni tarqatadigan ko'p tarmoqli jarayon boshlanadi. Bir
    tugundagi iplar o'rtasidagi ma'lumot almashinish umumiy xotira orqali
    amalga oshiriladi va tugunlar orasidagi ma'lumotlar almashinish
    xabarlar orqali amalga oshiriladi. Bunday holda, jarayonlarning soni 
    tugunlar soniga va har bir tugundagi protsessorlarning soni bo'yicha iplar
    soniga bog'liq. Gibrid dasturlash usuli yanada murakkab (parallel


    dasturni maxsus tarzda qayta yozish kerak), biroq juda protsessorli


    tizimning har bir tugunining apparat-resurslarini ishlatishda eng
    samarali hisoblanadi.






    Foydalanilgan adabiyotlar
    1. Internet materiallari

    2. Google.com


    3. http://www.mobile.uz
    4.
    http://www.uzinfocom.uz

    5. Wikipedia materiallari 


    6. O’zbekiston Respublikasi Prezidentining “O’zbekiston milliy
    teliradiokompaniyasi 
    tizimida
    yuqori

    texnologiyali


    teliradiouskunalardan foydalanish samaradorligini yanada oshirish

    chora-tadbirlari to’g’risida”gi №PQ-1088 01.04.2009 yi





    http://fayllar.org
    Download 45,68 Kb.




    Download 45,68 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Va telekommunikatsiya va kommunikatsiyalarni rivojlantirish vazirligi

    Download 45,68 Kb.