MUNDARIJA: Kirish. Bob. Multitasking tizimi. Ko’p oqimli tizimlar. I. 1.1. Operatsion tizimda Multitasking tizimi. 1.2. Ko’poqimli tizimlar. Bob. Mutitaskingda muammo haqida ma’lumot berish. II. 2.1. Muammo haqida xabar berish. 2.2. Ko’p sonli oddiy kodni rejalashtirish. Xulosa. Foydalanilgan adabiyotlar. Kirish. Ko'p vazifali va ko'p bosqichli tizimlar kompyuter fanlari va operatsion tizimlarni loyihalashda muhim tushunchalardir. Bu yerda har birining qisqacha ko'rinishi: 1. Ko‘p vazifalilik: Ko‘p vazifalilik operatsion tizimning bir vaqtning o‘zida bir nechta jarayonlar yoki ilovalarni ishga tushirish qobiliyatini bildiradi. Bu turli jarayonlar o'rtasida tez almashish orqali kompyuterga bir vaqtning o'zida bir nechta vazifalarni bajarishga imkon beradi. Ko'p vazifani bajarishning ikkita asosiy turi mavjud: operatsion tizim jarayonlar o'rtasida almashinishni boshqaradigan preemptive multitasking va kooperativ multitasking, bunda jarayonlar boshqaruvni ixtiyoriy ravishda operatsion tizimga beradi. 2. Multi-threading: Multi-threading - bu bitta jarayonning bir nechta bajarilishini ta'minlaydigan dasturlash tushunchasi. Mavzular bir xil xotira maydoni va resurslarini baham ko'radigan jarayon ichidagi engil jarayonlardir. Ko'p tarmoqli bir jarayonda vazifalarni parallel ravishda bajarish, mavjud resurslardan yaxshiroq foydalanish va ish faoliyatini yaxshilash imkonini beradi. Biroq, u poyga shartlari va sinxronizatsiya muammolari kabi muammolarni ham keltirib chiqaradi.Ko'p oqimli tizimlarda parallel ishlov berish imkoniyatlaridan foydalangan holda bir nechta iplar ko'p yadroli protsessorlarda bir vaqtning o'zida ishlashi mumkin. Bu tizimning umumiy ishlashi va sezgirligini oshirishi mumkin, vazifalar uchun. ayniqsa parallellashtirilishi mumkin bo'lgan Ko'p vazifali va ko'p tarmoqli zamonaviy operatsion tizimlar va ilovalar uchun apparat resurslaridan samarali foydalanish va uzluksiz foydalanuvchi tajribasini ta'minlash uchun juda muhimdir. I. Bob. Multitasking tizimi. Ko’p oqimli tizimlar. 1.1. Operatsion tizimda Multitasking tizimi. Multitaskinglar ko'p boshqa tomondan, Ko'p vazifali. Multitasking dasturlashning ishlov mantiqiy berish mavzuga kengaytmasi, asoslangan ko'p va multithreading o'rtasidagi asosiy farq shundaki multitasking protsessorga bir vaqtning o'zida bir nechta vazifalarni (dastur, jarayon, vazifa, iplar) bajarishga imkon beradi, Ko'p ishlov berish bir xil jarayonning bir nechta iplarini bir vaqtning o'zida bajarishga imkon beradi. Keling, quyida keltirilga n taqqoslash jadvali yordamida Multitasking va Multithreading o'rtasidagi farqlarni muhokama qilaylik. Taqqoslash jadvali : Taqqoslash uchun asos Ko'p vazifalar Multitasking Asosiy Ko'p ishlov berish protsessorga vaqtning o'zida bir nechta vazifalarni bajarishiga imkon beradi. Kommutatsiya bir Ko'p vazifali Multithreading protsessorga bir vaqtning o'zida bir ish zarralarini bajarishiga imkon beradi. protsessorda Multithreading protsessorida iplar orasida dasturlar tez-tez almashib turadi. tez-tez almashib turiladi. Ko'p vazifali tizimda protsessor Multithreading Xotira va resurs nechta tizimida protsessga bajarayotgan har bir dastur uchun xotirani ajratish kerak, bu jarayonning bir alohida xotira ajratilishi kerak. va resurslar nechta oqimlari bir xil xotira va jarayonga ajratilgan resurslarni bo'lishadi. Multitasking ta'rifi : Multitasking - bu bitta protsessor bajarishi bir nechta vazifalar (dastur, jarayon, vazifa, mavzular) xuddi shu paytni o'zida. Ko'p vazifalarni bajarish uchun protsessor tezislar qatoriga o'tib ketadi tez-tez shunday qilib foydalanuvchi har bir dastur bilan bir vaqtning o'zida o'zaro aloqa o'rnatishi mumkin. Ko'p vazifali operatsion mumkin tizimni baham tizimda bir nechta ko'ring bir foydalanuvchilar vaqtning o'zida. Biz ko'rganimizdek, protsessor vazifalar orasida tez o'zgarib turadi, shuning uchun bitta foydalanuvchidan keyingi foydalanuvchiga o'tish uchun ozgina vaqt kerak bo'ladi. Bu foydalanuvch ida butun kompyuter tizimi unga bag'ishlanganligi haqida taassurot qoldiradi. bir nechta foydalanuvchilar ko'p vazifali operatsion tizim, protsessor bilan bo'lishganda rejalashtirish va ko'p dasturlash har bir foydalanuvchiga ko'p vazifali operatsion tizimning kamida kichik bir qismiga ega bo'lishiga imkon beradi va bajarish uchun har bir foydalanuvchi xotirasida kamida bitta dasturga ega bo'ladi. Multithreading ta'rifi : Multithreading ko'p vazifadan farqli o'laroq, ko'p vazifalarni bajarish bir vaqtning o'zida bir nechta vazifalarni bajarishga imkon beradi, aksincha, ko'p ishlov berish bitta topshiriqning bir nechta iplari (dastur, jarayon) protsessor tomonidan bir vaqtning o'zida qayta ishlanishi kerak. Ko'p tarmoqli o'qishni o'rganishdan oldin, keling, bu haqda gaplashaylik ip nima? A ip unga ega bo'lgan asosiy ijro birligi o'z dastur hisoblagichi, registr to'plami, stek lekin u tegishli bo'lgan jarayonning kodini, ma'lumotlarini va faylini baham ko'radi. Jarayon bir vaqtning o'zida bir nechta ipga ega bo'lishi mumkin va CPU kalitlari Ushbu iplar orasida foydalanuvchida shu qadar tez-tez taassurot paydo bo'ladiki, barcha iplar bir vaqtning o'zida ishlaydi va bu multithreading deb ataladi. Multithreading ko'paytiradi javob berish Agar tizimning bir qatori javob bermasa, ikkinchisi shu ma'noda foydalanuvchi bo'sh o'tirishga hojat qolmaydi. Ko'p ishlov berish imkon beradi resurslarni taqsimlash chunki bir xil jarayonga tegishli iplar jarayonning kodlari va ma'lumotlarini baham ko'rishlari mumkin va bu jarayon bir vaqtning o'zida bir nechta oqimlarni faol bo'lishiga imkon beradi bir xil manzil maydoniTurli xil jarayonlarni yaratish ancha arzonga tushadi, chunki tizim har bir jarayonga har xil xotira va resurslarni ajratishi kerak, ammo ish zarralarini yaratish juda oson, chunki bir xil jarayonning iplari uchun alohida xotira va resurslarni ajratish talab qilinmaydi. 1.2. Ko’p oqimli tizimlar. Ko’poqimli tizimlar - bu ko'rsatmalar darajasidagi parallelizmdan foydalanadigan bir vaqtning o'zida ip darajasidagi parallelizmdan foydalanish uchun ko'p sonli, dinamik ravishda rejalashtirilgan quvurli protsessor resurslaridan foydalanadigan apparatli ko'p ish zarralarining o'zgarishi. Ko’poqimlikni rag'batlantiradigan asosiy tushuncha shundan iboratki, ko'p sonli protsessorlar ko'pincha bitta ish zarrachasidan samarali foydalanishga qaraganda ko'proq funktsional birlik parallelligiga ega. Bundan tashqari, registr nomini o'zgartirish va dinamik rejalashtirish bilan ular orasidagi bog'liqlikdan qat'i nazar, mustaqil oqimlardan bir nechta ko'rsatmalar berilishi mumkin; bog'liqliklarni hal qilish dinamik rejalashtirish qobiliyati bilan amalga oshirilishi mumkin. Ko’poqimlikni mavjud dinamik mexanizmlarga tayanganligi sababli, u har bir tsiklda resurslarni almashtirmaydi. Buning o'rniga, Ko’poqimlik har doim bir nechta ish zarralaridagi ko'rsatmalarni bajaradi va ko'rsatmalar uyalarini va qayta nomlangan registrlarni tegishli iplari bilan bog'lashni apparatga qoldirib ketadi. kontseptual ravishda protsessorning quyidagi protsessor konfiguratsiyalari uchun superskalyar resurslardan foydalanish qobiliyatidagi farqlarni ko'rsatadi. Yuqori qism ko'rsatiladi Superskalar protsessorning muammoli slotlarini turli yondashuvlarda to'rtta ip qanday ishlatadi. Yuqoridagi to'rtta ip standart superskalar protsessorda ko'p ish zarralarini qo'llab-quvvatlamasdan qanday qilib yolg'iz ishlashni ko'rsatadi. Pastki qismidagi uchta misol uchta ko'p ish lab chiqarish variantida birgalikda ishlashni qanday bajarishini ko'rsatadi. Gorizontal o'lcham har bir soat siklida ko'rsatmalar berish qobiliyatini ifodalaydi. Vertikal o'lcham soat sikllari ketmaketligini ifodalaydi. Bo'sh (oq) quti ushbu soat siklida tegishli muammo uyasi ishlatilmaganligini bildiradi. Kulrang va rangning ohanglari ko'p tarmoqli protsessorlarda to'rt xil ipga mos keladi. Ushbu rasmda ko'rsatilmagan qo'pol ko'p tarmoqli uchun quvur liniyasini ishga tushirishning qo'shimcha effektlari qo'pol ko'p ish zarralari uchun o'tkazuvchanlikning yanada yo'qolishiga olib keladi. Qanday qilib to'rtta ip ko'p ish zarralarini qo'llab-quvvatlamaydigan superskalyarda mustaqil ravishda ishlaydi. Pastki qismda protsessorda uchta ko'p qirrali opsiyadan foydalangan holda samaraliroq ishlash uchun to'rtta ipni qanday qilib birlashtirish mumkinligi ko'rsatilgan: ■ Dag'al ko'p qirrali super skalar ■ Aniq zarrachali ko'p qirrali super scalar ■ Bir vaqtning o'zida ko'p qirrali super skalar. superscalar apparat multithreading qo'llab-quvvatlash holda, masala uyasi foydalanish ko'rsatmalar darajasida parallelizm yo'qligi bilan cheklangan. Bundan tashqari, ko'rsatmalar keshini o'tkazib yuborish kabi katta to'xtash butun protsessorni bo'sh qoldirishi mumkin. Dag'al donali ko'p tarmoqli superskalarda uzun stendlar protsessor resurslaridan foydalanadigan boshqa ipga o'tish orqali qisman yashiringan. Garchi bu to'liq bo'sh soat sikllari sonini kamaytirsa-da, quvur liniyasining ishga tushirilishi hali ham bo'sh turish davrlariga olib keladi va ILP uchun cheklovlar barcha emissiya slotlaridan foydalanilmasligini anglatadi. Noto'g'ri holatda, iplarning bir-biriga qo'shilishi, asosan, bo'sh soat sikllarini yo'q qiladi. Ma'lum bir soat siklida faqat bitta ip ko'rsatmalar berganligi sababli, ko'rsatmalar darajasidagi parallelizmdagi cheklovlar hali ham ba'zi soat sikllari ichida bo'sh tirqishlarga olib keladi. 2-rasm SMT holatida ip darajasidagi parallelizm va ko'rsatmalar darajasidagi parallelizm ikkalasi ham bir vaqtning o'zida bir nechta ish zarrachalari muammoli slotlardan foydalanadi. Ideal holda, muammo uyasidan foydalanish resurslarga bo'lgan ehtiyojdagi nomutanosiblik va bir nechta oqimlar bo'yicha manba mavjudligi bilan cheklangan. Amalda, boshqa omillar qancha uyalar ishlatilishini cheklashi mumkin. ushbu protsessorlarning haqiqiy ishlashini sezilarli darajada soddalashtirgan bo'lsa-da, u umuman ko'p tarmoqli va xususan SMTning potentsial ishlash afzalliklarini ko'rsatadi. 2-rasmda ikkita ip uchun apparat ta'minotiga ega bo'lgan Intel Core i7 960 ning bitta protsessorida ko'p ish zarralarini o'tkazishning unumdorligi va energiya afzalliklari tasvirlangan. O'rtacha tezlik 1,31 ni tashkil qiladi, bu apparatli ko'p ish zarralari uchun oddiy qo'shimcha resurslarni hisobga olgan holda yomon emas. Energiya samaradorligining o'rtacha yaxshilanishi 1,07 ni tashkil etadi, bu juda yaxshi. Umuman olganda, siz energiya neytral bo'lgan ishlash tezligidan mamnun bo'lasiz. Endi biz bir nechta iplar bitta protsessor resurslaridan qanday samaraliroq foydalanishini ko'rganimizdan so'ng, biz ularni bir nechta protsessorlardan foydalanish uchun qanday ishlatishni ko'rsatamiz. 1. To'g'ri yoki noto'g'ri: ko'p ish zarralari ham, ko'p yadroli ham chipdan ko'proq samaradorlikni olish uchun parallelizmga tayanadi. 2. To'g'ri yoki noto'g'ri: Bir vaqtning o'zida ko'p ish zarralari (SMT) dinamik ravishda rejalashtirilgan, tartibsiz protsessorning resurslardan foydalanishni yaxshilash uchun iplardan foydalanadi. II. Bob. Multitaskingda muammo haqida ma’lumot berish. 1.3. Muammo haqida xabar berish. Multitasking muammo haqida ma'lumot berish uchun biz oddiy ikki muammoli MIPS protsessorini ko'rib chiqamiz, bu erda ko'rsatmalardan biri butun ALU operatsiyasi yoki filiali bo'lishi mumkin, ikkinchisi esa yuk yoki saqlash bo'lishi mumkin. Bunday dizayn ba'zi o'rnatilgan MIPS protsessorlarida qo'llaniladigan dizaynga o'xshaydi. Har bir tsikl uchun ikkita ko'rsatma berish 64 bitli ko'rsatmalarni olish va dekodlashni talab qiladi. Ko'pgina statik ko'p sonli protsessorlarda va asosan barcha VLIW protsessorlarida, dekodlash va ko'rsatmalar masalasini soddalashtirish uchun bir vaqtning o'zida ko'rsatmalar berish tartibi cheklangan. Shunday qilib, biz ko'rsatmalarni 64 bitli chegarada juftlashtirishni va tekislashni talab qilamiz, birinchi navbatda ALU yoki filial qismi paydo bo'ladi. Bundan tashqari, agar juftlikning bitta ko'rsatmasi ishlatilmasa, biz uni nop bilan almashtirishni talab qilamiz. Bizga ko'ra, ko'rsatmalar har doim juftlik bilan chiqariladi, ehtimol bitta uyada nop bilan. 4.68-rasmda ko'rsatmalar quvur liniyasiga juft bo'lib kirganda qanday ko'rinishi ko'rsatilgan. Multitasking protsessorlar potentsial ma'lumotlar bilan ishlash va xavflarni boshqarishda farqlanadi. Ba'zi dizaynlarda kompilyator barcha xavflarni bartaraf etish, kodni rejalashtirish va no-ops kiritish uchun to'liq javobgarlikni o'z zimmasiga oladi, shunda kod hech qanday xavfni aniqlash yoki apparat tomonidan ishlab chiqarilgan to'xtashlarsiz ishlaydi. Boshqalarida, apparat ma'lumotlar xavfini aniqlaydi va ikkita muammoli paketlar o'rtasida to'xtash joylari hosil qiladi, shu bilan birga kompilyatordan ko'rsatmalar juftligidagi barcha bog'liqliklardan qochishni talab qiladi. Shunday bo'lsa ham, xavf odatda qaram bo'lganlarni o'z ichiga olgan butun muammo paketini majbur qiladi Multitasking muammoli quvur liniyasi ishlamoqda. ALU va ma'lumotlarni uzatish bo'yicha ko'rsatmalar bir vaqtning o'zida chiqariladi. Bu erda biz bir xil quvur liniyasi uchun ishlatiladigan besh bosqichli tuzilmani qabul qildik. Bu juda zarur bo'lmasa-da, ba'zi afzalliklarga ega. Xususan, ro'yxat oxiridagi yozuvlarni saqlash istisnolar bilan ishlashni va aniq istisno modelini saqlashni soddalashtiradi, bu ko'p sonli protsessorlarda yanada qiyinlashadi. Dasturiy ta'minot barcha xavf-xatarlarga bardosh berishi kerakmi yoki faqat alohida nashr paketlari o'rtasidagi xavflar ulushini kamaytirishga harakat qiladimi, bir nechta operatsiyalarni o'z ichiga olgan katta bitta yo'riqnomaga ega bo'lish ko'rinishi mustahkamlanadi. Ushbu misol uchun biz ikkinchi yondashuvni qabul qilamiz. ALU va ma'lumotlarni uzatish operatsiyalarini parallel ravishda chiqarish uchun odatiy xavfni aniqlash va to'xtash mantig'idan tashqari qo'shimcha uskunaga birinchi ehtiyoj - bu registr faylidagi qo'shimcha portlardir (4.69-rasmga qarang). Bir soat siklida biz ALU operatsiyasi uchun ikkita registrni va do'kon uchun yana ikkita registrni, shuningdek, ALU operatsiyasi uchun bitta yozish portini va yuk uchun bitta yozish portini o'qishimiz kerak bo'lishi mumkin. ALU ALU operatsiyasi uchun bog'langanligi sababli, ma'lumotlarni uzatish uchun samarali manzilni hisoblash uchun bizga alohida qo'shimcha kerak bo'ladi. Ushbu qo'shimcha manbalarsiz, bizning ikki muammoli quvur liniyasi tizimli xavf-xatarlar tufayli to'sqinlik qiladi. Shubhasiz, bu ikki muammoli protsessor ish faoliyatini ikki baravar oshirishi mumkin. Biroq, buning uchun bajarilishda ikki baravar ko'p ko'rsatmalar birbiriga mos kelishi kerak va bu qo'shimcha takrorlanish ma'lumotlar va nazorat qilish xavfidan nisbiy ishlash yo'qotilishini oshiradi. Masalan, bizning oddiy besh bosqichli quvur liniyasida, Multitasking muammoli ma'lumotlar yo'li. Ikki marta chiqarish uchun zarur bo'lgan qo'shimchalar ta'kidlangan: ko'rsatmalar xotirasidan yana 32 bit, yana ikkita o'qish porti va registr faylida yana bitta yozish porti va boshqa ALU. Tasavvur qiling, pastki ALU ma'lumotlarni uzatish uchun manzil hisoblarini boshqaradi va yuqori ALU qolgan hamma narsani boshqaradi. yuklar bir soat siklining foydalanish kechikishiga ega, bu esa bitta ko'rsatma natijadan to'xtab qolmasdan foydalanishga to'sqinlik qiladi. Ikki bosqichli, besh bosqichli quvur liniyasida yuk ko'rsatmasi natijasini keyingi takt siklida ishlatib bo'lmaydi. Bu shuni anglatadiki, keyingi ikkita ko'rsatmalar yuk natijasini to'xtamasdan ishlata olmaydi. Bundan tashqari, oddiy besh bosqichli quvur liniyasida foydalanish kechikishiga ega bo'lmagan ALU ko'rsatmalari endi bitta ko'rsatmalardan foydalanish kechikishiga ega, chunki natijalarni juftlashtirilgan yuklash yoki saqlashda ishlatib bo'lmaydi. Ko'p sonli protsessorda mavjud parallelizmdan samarali foydalanish uchun ko'proq ambitsiyali kompilyator yoki apparatni rejalashtirish texnikasi talab qilinadi va statik bir nechta muammo kompilyatordan ushbu rolni o'z zimmasiga olishini talab qiladi. 2.2. Ko'p sonli oddiy kodni rejalashtirish Ushbu tsikl MIPS uchun statik ikki muammoli quvur liniyasida qanday rejalashtirish: Iloji boricha ko'proq quvur liniyasi to'xtab qolmasligi uchun ko'rsatmalarni qayta tartiblang. Taxminlarga ko'ra, filiallar prognoz qilingan, shuning uchun nazorat xavflari apparat tomonidan hal qilinadi. Dinamik multitasking protsessorlar, shuningdek, superscalar protsessorlari yoki oddiygina superskalyarlar sifatida ham tanilgan. Eng oddiy superskalar protsessorlarda ko'rsatmalar tartibda chiqariladi va protsessor ma'lum bir soat siklida nol, bitta yoki bir nechta ko'rsatmalar berishi mumkinligini hal qiladi. Shubhasiz, bunday protsessorda yaxshi ishlashga erishish hali ham kompilyatordan bog'liqliklarni bir-biridan ajratish bo'yicha ko'rsatmalarni rejalashtirishga harakat qilishni va shu bilan ko'rsatmalar berish tezligini yaxshilashni talab qiladi. Bunday kompilyatorni rejalashtirishda ham, ushbu oddiy superskalar va VLIW protsessorlari o'rtasida muhim farq bor: rejalashtirilgan yoki rejalashtirilgan bo'lmagan kod, to'g'ri bajarilishi uchun apparat tomonidan kafolatlanadi. Bundan tashqari, kompilyatsiya qilingan kod protsessorning chiqish tezligi yoki quvur liniyasi tuzilishidan qat'iy nazar har doim to'g'ri ishlaydi. Ba'zi VLIW dizaynlarida bunday bo'lmagan va turli protsessor modellari bo'ylab harakatlanayotganda qayta kompilyatsiya qilish talab qilingan; boshqa statik muammoli protsessorlarda kod turli xil ilovalarda to'g'ri ishlaydi, lekin ko'pincha kompilyatsiyani samarali talab qiladigan darajada yomon ishlaydi. Ko'pgina superskalarlar dinamik masalalar bo'yicha qarorlarning asosiy doirasini dinamik quvurlarni rejalashtirishni o'z ichiga oladi. Dinamik quvur liniyasini rejalashtirish xavf va to'xtashlardan qochishga harakat qilganda ma'lum bir soat siklida qaysi ko'rsatmalar bajarilishini tanlaydi. Keling, ma'lumotlar xavfidan qochishning oddiy misolidan boshlaylik. Quyidagi kod ketma-ketligini ko'rib chiqing: Qo'shimcha ko'rsatma bajarishga tayyor bo'lsa ham, u lw va addu birinchi bo'lib tugashini kutishi kerak, agar xotira sekin bo'lsa, bu juda ko'p soat tsikllarini olishi mumkin. XULOSA Menga berilgan Mutitasking va Ko’poqimli tizimlar mavzusidagi topshiriqimdan shuni xulosa qilishim mumkini: Multitasking multiprogrammingga o'xshaydi, Multithreading mavzuga asoslangan multitasking. Multithreading multitaskings-ga qaraganda osonroq, chunki bu jarayonni yaratish oson. Multitasking va multithreading o'rtasidagi asosiy farq shundaki multitasking protsessorga bir vaqtning o'zida bir nechta vazifalarni (dastur, jarayon, vazifa, iplar) bajarishga imkon bera olishi va Ko'p ishlov berish bir xil jarayonning bir nechta iplarini bir vaqtning o'zida bajarishga imkon yaratish mumkinligini tushundim. Foydalanilgan adabiyotlar. Asosiy adabiyotlar 1. David Patterson John Hennessy. Computer Organization and Design. 5th Edition. 2013. 2. Шамаева О.Ю. Архитектура компьютера. Конспект лекции. МЭИ. Москва, 2015. 3. З.З.Мирюсупов, Ж.Х.Джуманов. «Компьютер архитектураси». /TATУ. 144 бет. Тошкент, 2017 Qo‘shimcha adabiyotlar 1. С.А.Орлов, Б.Я.Цилькер. Организация ЭВМ и систем: Учебник для вузов. 2-е изд. — СПб.: Питер, 2011. — 688 с 2. Таненбаум Э., Остин Т. Архитектура компьютера // 6-е издание. СПб.: Питер, 2013. — 811 с 3. А.В.Павлов, Архитектура вычислительных систем - СПб: Университет ИТМО, 2016. – 86 с.
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 )