Skip to content
Javlon's Blog
Ortga qaytish

CPU ishlash prinsipi

poster

Ko’pchiligimizda kompyuter sotib olishda yoki texnik xarakteristikalarni ko’rishda Core (yadro) va Threads (oqim) kabi atamalar qulog’imizga chalinadi, lekin hamma ham buni to’liq tushunmaydi.

Masalan:

Bu maqolada yuqoridagi atamalarning asl mohiyatini qo’ldan kelgancha sodda tushuntirib berishga harakat qilaman.


Oshxona

Tasavvur qiling, siz bosh oshpazsiz va sizning 2 ta shogirdingiz bor. Sizlar bugun mijozlar uchun 30 xil turdagi taom pishirishingiz kerak. Taomlardan 3 tasi tezroq, qolgan 27 tasi esa kechroq tayyor bo’lsa ham bo’laveradi. Siz va shogirdlaringiz barcha taomlarni parallel ravishda pishirishni boshlaysiz. Har bir qozonga ma’lum bir vaqt oralig’ida qarab turasiz, lekin tezroq pishishi kerak bo’lgan 3 ta taomga ko’proq diqqat qaratasiz. Ular pishib bo’lgach, bo’shagan vaqt va energiyani qolgan 27 turdagi taomga ajratasiz. Natijada ishchi kuchi (oshpazlar) bo’shashi bilan qolgan ovqatlar ham tezroq bitadi.

Protsessor (CPU)

Core Protsessor ham xuddi shu oshxonaga o’xshaydi. Undagi haqiqiy ishchilar bu — Core (Yadro). Eski turdagi protsessorlarda faqat bitta yadro bo’lgan. U bir vaqtning o’zida faqat bitta buyruqni bajara olgan, qolgan ishlar esa navbatda turgan.

Hozirgi zamonaviy protsessorlarda esa Hyper-Threading (yoki AMD’da SMT) texnologiyasi mavjud. Bu texnologiya har bir jismoniy yadroga 2 tadan mantiqiy oqimni (Thread) virtual tarzda taqdim etadi. Hyper-Threading yadro ichidagi bo’sh hisoblash resurslaridan samaraliroq foydalanish imkonini beradi.

Hozirgi Intel protsessorlari gibrid arxitekturaga ega bo’lib, unda har xil turdagi yadrolar birgalikda ishlaydi. Shuning uchun barcha yadrolar bir xil miqdordagi threadlarga ega emas.

Masalan: 8 core 12 threads bo’lsa

Gibrid texnologiya hozirda mobil telefon protsessorlarida ham qo’llanilayotgan.

Process va Thread farqi

Kompyuterda ishga tushgan vaqtda unda bir nechta dasturlar orqa fonda ishga tushushi yoki o’zingiz qaysidir dasturni ishga tushurishingiz mumkin. Ishga tushurilgan dastur bu process deb ataladi.

Demak

Process (Jarayon) — bu kompyuterda ishga tushgan alohida, mustaqil dastur (masalan: Chrome brauzeri, Telegram yoki Photoshop). Har bir jarayon o’zining shaxsiy xotira maydoniga ega bo’ladi.

Dasturlar ishga tushganda yoki ishga tushurganimizda ular bir vaqtda bir nechta funksionallikni bajarishi mumkin. Masalan, Telegram dasturi ichida bir vaqtning o’zida ham kimdir bilan yozishish, ham fonda fayl yuklash — bular alohida dasturiy oqimlardir.

Thread atamasi dasturlashda ham, apparat (hardware) ta’minotida ham ishlatilgani uchun biroz chalkash tuyulishi mumkin.

Demak

Thread (Oqim yoki patok) — bu dasturning ichidagi parallel ravishda bajarilishi mumkin bo’lgan eng kichik vazifa bo’lagi. Masalan, Telegram dasturi ichida bir vaqtning o’zida ham kimdir bilan yozishish, ham fonda fayl yuklash — bular alohida dasturiy oqimlardir.

Kompyuterda biz bir nechta dasturlarni tengidan ishlatamiz. Operatsion tizim (OS) har bir dasturning oqimiga o’zining prioriteti (ustuvorligi) bo’yicha protsessor vaqtidan millisekund yoki mikrosekundlar ajratib beradi. Tizim uchun muhim bo’lgan oqimlar birinchi navbatda va ko’proq vaqt bilan ta’minlanadi. Bu almashinuv shu qadar tez sodir bo’ladiki, inson ko’zi va miyasi buni sezmaydi. Natijada bizga hamma dasturlar bir vaqtda ishlayotgandek tuyuladi. Bu xuddi chog’lanma lampaning sekundiga 50 marta yonib-o’chsa ham, bizga doimiy yonib turgandek ko’rinishiga o’xshaydi.

L1, L2 va L3 Kesh-xotiralari (Cache Memory)

cache-memory Universitetda o’qiyotgan paytimizda ustozimiz bir savol bergan edi: kompyuterdagi eng tez xotira qaysi? Men ikkilanmay “Operativ xotira (RAM)” deb javob berganman. Lekin bu xato edi.

Bilib oling!

L1 kesh xotirasining tezligi operativ xotira (RAM) dan 100 barobardan 200 barobargacha tezroq ishlaydi.

Kompyuterdagi eng tez xotira bu — protsessor kesh-xotirasidir. Kesh-xotira oʻlchamlari protsessorning kuchi, u moʻljallangan segment (noutbuk, shaxsiy kompyuter yoki server) va arxitekturasiga qarab farq qiladi.

Turli davr va darajadagi protsessorlarning kesh xotiralarini solishtiramiz:

Protsessor turiL1 keshL2 keshL3 kesh
Intel Core 2 Duo (Eski avlod)64 KB2.0 MBMavjud emas
Intel Core i3-8100 (Ofis / Boshlang’ich)256 KB1.0 MB6.0 MB
Intel Core i5-14600K (Zamonaviy / O’rta)1.1 MB20 MB24 MB
Intel Core i7-14700K (Yuqori daraja)1.6 MB28 MB33 MB
Intel Core i9-14900K (Flagman / Maksimal)2.0 MB32 MB36 MB
AMD Ryzen 5 7600X (Ommabop / Zamonaviy)384 KB6.0 MB32 MB
AMD Ryzen 7 7800X3D (O’yin uchun maxsus)512 KB8.0 MB96 MB
AMD Ryzen 9 7950X (Professional render)1.0 MB16 MB64 MB

Sockets (Soketlar)

Ona platada (motherboard) jismonan nechta protsessor o’rnatish mumkinligini ko’rsatadi. Oddiy shaxsiy kompyuter va noutbuklarda har doim 1 ta bo’ladi. Katta serverlarda esa 2, 4 yoki undan ko’p protsessorli soketlar bo’lishi mumkin.

Virtualization (Virtualizatsiya)

Bu funksiya kompyuterda virtual mashinalarni (masalan, VirtualBox, VMware yoki Hyper-V orqali boshqa operatsion tizimlarni) apparat darajasida tezroq va samaraliroq ishlatish imkonini beradi. Dasturchilar (ayniqsa Android Emulator yoki Docker bilan ishlovchilar) uchun bu texnologiyaning yoqilgan bo’lishi juda muhim.


Operatsion tizimlarning jarayonlarni boshqarishi

Kompyuter apparat ta’minoti bir xil bo’lsa ham, undagi jarayonlarning ishlashi operatsion tizimga (OS) to’g’ridan-to’g’ri bog’liq. Keling, Windows va Linux misolida jarayonlar boshqarilishini ko’rib chiqamiz:

Nega Windows ko’proq resurs sarflaydi?

Windows operatsion tizimi ishga tushganda Task Manager (Ctrl + Shift + Esc) oynasini ochib qarasangiz, hali biror bir dasturni ochmagan bo’lsangiz ham, fonda yuzlab tizim jarayonlari (services, telemetry, Windows Defender va h.k.) ishlab turganini ko’rasiz. Ularni shunchaki yopib bo’lmaydi, chunki bu tizimning barqarorligiga ta’sir qiladi. Foydalanuvchi o’z dasturlarini ochgan sari fondagi yuklama ortib boradi va bu kompyuter tezligiga sezilarli ta’sir qiladi.

Windows pullik operatsion tizim bo’lgani sababli ayrim foydalanuvchilar internetdagi norasmiy (modified) distributivlardan foydalanishadi. Bunday distributivlar tarkibiga noma’lum dasturlar qo’shilgan bo’lishi mumkin. Natijada tizimning ishlash tezligi pasayishi yoki xavfsizlik bilan bog’liq muammolar yuzaga kelishi ehtimoldan xoli emas. Shu sababli operatsion tizimlarni doimo rasmiy manbalardan o’rnatish tavsiya etiladi.

Linux’ning afzalligi nimada?

Linux operatsion tizimlarida (xususan, Ubuntu, Mint, Arch kabi distributivlarda) arxitektura juda yengil qurilgan. Tizim ishga tushganda fonda faqat eng zaruriy minimal jarayonlargina ishlaydi. Foydalanuvchi xohlasa o’ziga kerak bo’lmagan har qanday fon xizmatini butkul o’chirib qo’yishi mumkin (customization). Linux odatda kamroq fon xizmatlari bilan ishlagani sababli resurslardan tejamkor foydalanadi. Bu ayniqsa serverlar va dasturlash muhitlarida seziladi.

Obuna Bo'ling

Yangi maqolalar va qisqa qaydlarni @javlonergashev_blog telegram kanalida kuzatib boring.


Ulashish:

Oldingi post
Nikoh
Keyingi post
Yugurish