- Bërthamat janë njësi përpunimi fizik që ekzekutojnë udhëzime në mënyrë të pavarur brenda CPU-së.
- Fijet janë rrjedha logjike të ekzekutimit që programohen në bërthama për të përdorur më mirë burimet e tyre.
- Më shumë bërthama dhe fije lejojnë paralelizëm më të madh dhe kryerje më të mirë të shumë detyrave njëkohësisht, me kusht që softueri të jetë gati.
- Zgjedhja e numrit të duhur të bërthamave dhe fijeve varet nga lloji i përdorimit: mjedis bazë, lojërash, krijim përmbajtjeje ose mjedis profesional.
Kur fillon të shikosh specifikimet e procesorit, është e lehtë të humbasësh mes kaq shumë të dhënave: frekuenca, memoria e përkohshme, TDP… dhe, sigurisht, seksioni i famshëm mbi numrin e bërthamave dhe fijeve . Këto janë terma që përsëriten kudo dhe megjithatë krijojnë mjaft konfuzion, madje edhe midis përdoruesve me përvojë.
Të kuptuarit e bërthamave dhe fijeve të CPU-së nuk është vetëm një çështje teknike. Ajo ndikon drejtpërdrejt në performancën e një kompjuteri në botën reale, sa mirë funksionon shumëdetyra dhe sa mirë performojnë lojërat, softuerët e redaktimit të videove dhe makinat virtuale. Ndërsa një përdorues bazë mund t'ia dalë mbanë pa u thelluar shumë, zotërimi i këtyre koncepteve është thelbësor për këdo që programon, ndërton PC ose thjesht dëshiron të marrë vendime të informuara blerjeje.
Cilat janë bërthamat e procesorit?

Brenda çipit të vogël që e quajmë CPU janë të fshehura disa blloqe logjike që veprojnë si njësi llogaritëse plotësisht të pavarura . Këto blloqe janë bërthamat. Çdo bërthamë mund të marrë udhëzime nga RAM-i, t'i përpunojë ato në sinkron me orën e procesorit dhe të kthejë rezultate, si një tru i vogël brenda çipit kryesor.
Procesorët e vjetër kishin vetëm një bërthamë të vetme të aftë për të ekzekutuar një udhëzim për ciklin e orës . Ky kapacitet matej në megahertz (MHz) ose gigahertz (GHz): sa më e lartë frekuenca, aq më shumë udhëzime në sekondë mund të përfundonte. Sot, përveç rritjes së shpejtësisë së orës, prodhuesit kanë shumëfishuar numrin e bërthamave për të rritur ndjeshëm fuqinë e përpunimit të papërpunuar.
Çdo bërthamë vepron si një nënprocesor fizik i integruar në të njëjtën paketë . Një CPU me katër bërthama është si të kesh katër procesorë që punojnë paralelisht në të njëjtin çip. Kjo do të thotë që, në një cikël të vetëm, CPU mund të trajtojë katër udhëzime të ndryshme njëkohësisht, duke shumëfishuar fuqinë llogaritëse për sa kohë që sistemi operativ dhe programet mund ta shfrytëzojnë atë.
Është e rëndësishme të theksohet se bërthamat janë komponentë fizikë, jo diçka virtuale ose e simuluar nga softueri . Ato përbëhen nga miliona transistorë dhe qarqe që zbatojnë njësitë aritmetike, njësitë e kontrollit, regjistrat e brendshëm dhe elementë të tjerë që lejojnë që cikli i instruksioneve (marrja, dekodimi, ekzekutimi dhe shkrimi i rezultatit) të ekzekutohet në mënyrë të përsëritur.
Sot, në tregun e konsumit, është e zakonshme të gjesh procesorë me 2, 4, 6, 8 dhe madje edhe më shumë se 10 bërthama , ndërsa stacionet e punës dhe serverët zakonisht ofrojnë numra edhe më të lartë, si p.sh. 16, 32 ose më shumë bërthama fizike. Sa më shumë bërthama të ketë, aq më shumë detyra mund të përpunohen njëkohësisht, gjë që është veçanërisht e dobishme për aplikacionet profesionale, serverët ose rrjedhat e punës me një ngarkesë të lartë pune paralele.
Çfarë janë fijet e procesorit dhe si funksionojnë ato?
Ndërsa bërthamat janë komponentë fizikë, fijet (ose nënproceset) janë entitete logjike ose virtuale që përfaqësojnë një rrjedhë ekzekutimi brenda një programi dhe që sistemi operativ mund t'i caktojë në një ose më shumë bërthama. Një fije është në thelb një sekuencë udhëzimesh që mund të ekzekutohen në mënyrë të pavarur nga pjesa tjetër, me informacionin e vet të kontekstit.
Mund ta shohim një fije si rrugën që një pjesë e kodit ndjek përmes procesorit . Çdo fije ka regjistrat e vet të ekzekutimit, pirgun e vet dhe një numërues programi që tregon se cili udhëzim duhet të ekzekutohet në çdo kohë të caktuar. Sistemi operativ është përgjegjës për caktimin e këtyre fijeve te bërthamat e disponueshme dhe për shpërndarjen e kohës së CPU-së midis tyre sa më efikase të jetë e mundur.
Në programim, bëhet një dallim midis aplikacioneve me një fije të vetme dhe shumë fije të vetme . Një program me një fije të vetme ka vetëm një rrjedhë ekzekutimi: udhëzimet ekzekutohen njëra pas tjetrës, në një mënyrë strikte sekuenciale. Nga ana tjetër, në një aplikacion me shumë fije të vetme , puna shpërndahet midis disa fijeve të punës që mund të funksionojnë paralelisht, duke ndarë burimet, por duke u ekzekutuar njëkohësisht.
Kjo metodë e ndarjes së ngarkesës së punës lejon që një program i vetëm të ekzekutojë operacione të shumta njëkohësisht . Për shembull, një redaktues videosh mund t'i kushtojë një fije ndërfaqes grafike, një tjetër renderimit, një tjetër audios e kështu me radhë. Nëse ka mjaftueshëm bërthama dhe fije të CPU-së, këto pjesë të programit funksionojnë njëkohësisht, duke përmirësuar kohën e reagimit dhe duke zvogëluar ndjesinë e vonesës.
Në praktikë, shumë procesorë modernë përdorin teknologji të njëkohshme shumëfillezimesh si SMT ose Hyper-Threading, të cilat lejojnë që secila bërthamë fizike të trajtojë dy fije ekzekutimi njëkohësisht . Kjo shpjegon pse shihni CPU me, për shembull, 6 bërthama dhe 12 fije: ka gjashtë njësi fizike, por secila mund të mbajë dy rrjedha të ndryshme udhëzimesh në të njëjtën kohë, duke i shfrytëzuar më mirë njësitë e brendshme që përndryshe do të ishin joaktive. Teknologjia Hyper-Threading e Intel është një shembull i njohur i kësaj.
Marrëdhënia midis programeve, proceseve dhe fijeve të punës
Për ta kuptuar plotësisht rolin e fijeve (thread-eve), është e dobishme të kthehemi një nivel prapa dhe të shohim se si është e organizuar puna në sistemin operativ. Një program është thjesht një bashkësi udhëzimesh të ruajtura në disk (aplikacione, drajverë, vetë sistemi operativ, etj.) në format binar, gati për t'u ngarkuar në memorie kur të jetë e nevojshme.
Kur ekzekutoni një program, sistemi krijon të paktën një proces që ngarkohet në RAM . Ky proces përfshin kodin ekzekutues, të dhënat, burimet që i nevojiten (përshkruesit e skedarëve, memorien e rezervuar, etj.), dhe një kontekst që sistemi operativ e menaxhon me kujdes. Çdo proces ndodhet në një hapësirë specifike memorieje, të izoluar nga të tjerët, gjë që siguron stabilitet dhe siguri.
Një proces ka nevojë për disa elementë bazë për të funksionuar: një numërues programi që tregon instruksionin tjetër që do të ekzekutohet, një seri regjistrash ku ruhen të dhëna të përkohshme dhe informacion kontrolli dhe një pirg që ruan të dhëna nga funksionet aktive. E gjithë kjo ruhet dhe rikthehet vazhdimisht kur sistemi kalon nga një proces në tjetrin.
Interesante është se çdo proces funksionon në mënyrë të pavarur nga të tjerët . Falë kësaj pavarësie, nëse një aplikacion rrëzohet, pjesa tjetër e sistemit mund të vazhdojë të funksionojë. Kjo aftësi për të menaxhuar procese të shumëfishta lejon një mjedis shumëfunksional: shfletimin e internetit ndërsa dëgjoni muzikë, kontrollimin e email-it tuaj dhe shkarkimin e skedarëve njëkohësisht.
Brenda çdo procesi, ka fije ekzekutimi. Një fije është njësia më e vogël e punës që sistemi operativ mund t'i ndajë CPU-së . Një proces mund të përbëhet nga një fije e vetme (rasti më i thjeshtë) ose shumë fije që ndajnë të njëjtën hapësirë memorieje dhe burime përpunimi, por ekzekutohen paralelisht.
Proceset me një tel dhe shumë tel
Në një proces me një fije të vetme, i gjithë kodi i programit ekzekutohet në një rrjedhë të vetme udhëzimesh . Kjo do të thotë që nëse një pjesë e programit zgjat shumë (për shembull, një operacion i ngadaltë i diskut ose një llogaritje e rëndë), pjesa tjetër e aplikacionit mund të bllokohet derisa të përfundojë ai operacion, duke krijuar një ndjesi ngadalësie ose ngrirjeje.
Kur një proces është me shumë fije, detyra e tij ndahet në disa nënprocese më të vogla të quajtura fije . Këto fije ndajnë memorien dhe burimet, por secila ka grumbullin e vet të regjistrave dhe numëruesin e programit. Në këtë mënyrë, dy ose më shumë pjesë të programit mund të ekzekutohen njëkohësisht, duke zvogëluar kohën e pritjes dhe duke përdorur më mirë bërthamat e disponueshme.
Për shembull, një shfletues interneti mund të ketë një fije për ndërfaqen, një tjetër për ngarkimin e faqeve, një tjetër për ekzekutimin e kodit JavaScript dhe një tjetër për luajtjen e videos. Nëse ka disa bërthama dhe fije të CPU-së, të gjitha këto fije mund të funksionojnë njëkohësisht , duke rezultuar në një përvojë shumë më të qetë për përdoruesin.
Çelësi është se, me më shumë fije, vëllimi i llogaritjeve të njëkohshme rritet ndjeshëm . Kjo nuk do të thotë që vetë CPU është më e shpejtë, por përkundrazi se mund t'i mbajë njësitë e saj të brendshme të zëna me më shumë punë paralele. Kjo përkthehet në një shfrytëzim më të mirë të harduerit, veçanërisht në programet e projektuara posaçërisht për të punuar me shumë fije.
Në procesorët me teknologji shumëfillezimësh, një bërthamë me dy fije nuk ekzekuton fjalë për fjalë dy udhëzime në të njëjtin cikël me efikasitet 100%, por mund të kalojë midis dy fijeve aq shpejt sa të duket sikur po punojnë paralelisht. Sistemi operativ ndan "pjesë të vogla të kohës së CPU-së" për secilën fije, dhe kalimi midis tyre ndodh në fraksione sekonde, i padukshëm për përdoruesin.
Dallimet themelore midis bërthamave dhe fijeve
Dallimi kryesor është se bërthamat janë njësi përpunimi fizik , ndërsa fijet janë entitete logjike që përfaqësojnë detyra ose nënprocese që funksionojnë në ato bërthama. Një bërthamë mund të ekzistojë pa fije shtesë SMT (thjesht duke ekzekutuar një rrjedhë të vetme udhëzimesh), por një fije, sado virtuale, gjithmonë kërkon një bërthamë fizike në një moment të caktuar për t'u ekzekutuar.
Kur shikoni specifikimet e CPU-së, do të shihni kombinime si "4 bërthama / 8 fije" ose "6 bërthama / 12 fije". Kjo do të thotë që çdo bërthamë fizike mund të trajtojë dy fije ekzekutimi njëkohësisht . Në një procesor me 6 bërthama dhe 12 fije, sistemi operativ sheh 12 njësi logjike mbi të cilat mund të planifikojë detyrat, edhe pse në nivelin e silikonit ka vetëm 6 blloqe ekzekutimi të plota.
Në terma praktikë, bërthamat përcaktojnë se sa detyra vërtet të pavarura mund të kryejë CPU-ja njëkohësisht , ndërsa thread-et (thread-et) përcaktojnë përdorimin e këtyre bërthamave, duke minimizuar kohën e mosveprimit dhe duke lejuar më shumë thread-e të njëkohshme. Kjo është arsyeja pse thuhet se thread-et rrisin efikasitetin, por kërcimi i vërtetë në kapacitet vjen gjithmonë nga shtimi i më shumë bërthamave fizike.
Shkurt, bërthamat sigurojnë fuqinë fizike, ndërsa fijet e sistemit organizojnë më mirë punën . Një ekuilibër i mirë midis të dyjave bën gjithë ndryshimin në performancën e përgjithshme të sistemit, veçanërisht kur bëhet fjalë për kryerjen intensive të shumë detyrave njëkohësisht ose për softuer profesional që kërkon shumë përpjekje.
Bërthama ose fije: cila është më e rëndësishme në varësi të përdorimit
Pyetja tipike kur blini një CPU është nëse duhet t'i jepni përparësi më shumë bërthamave fizike apo më shumë fijeve logjike . Përgjigja varet kryesisht nga mënyra se si keni ndërmend ta përdorni kompjuterin dhe si janë programuar aplikacionet që përdorni zakonisht.
Në detyrat që përdorin shumë harduer, siç janë lojërat me kërkesa të larta, redaktimi i avancuar i videove, renderimi 3D ose ekzekutimi i makinave virtuale, të paturit e një numri të madh bërthamash fizike është zakonisht më e dobishme . Këto ngarkesa pune përfitojnë nga mundësia e shpërndarjes së detyrave të mëdha nëpër bërthama të shumta fizike, në vend që të mbështeten vetëm në fije logjike nëpër disa bërthama.
Për përdorim më të përditshëm, siç është shfletimi, puna me dokumente, përdorimi i disa aplikacioneve të lehta njëkohësisht ose konsumimi i përmbajtjes multimediale, menaxhimi efikas i fijeve të punës mund të bëjë një ndryshim më të madh . Edhe me pak bërthama, nëse CPU mbështet fije të shumta për bërthamë dhe sistemi i shpërndan ato mirë, përvoja e përgjithshme do të jetë një përvojë e rrjedhshme dhe e shpejtë.
Në zhvillimin e softuerëve, një kuptim i plotë i mënyrës se si menaxhohen bërthamat dhe fijet (thread-et) është thelbësor. Një program i paralelizuar dobët mund të mos përfitojë nga një procesor me shumë fije ose shumë bërthama , ndërsa një aplikacion i projektuar mirë shkallëzohet shumë mirë ndërsa numri i bërthamave të disponueshme rritet. Disa softuerë janë të optimizuar për shumë fije logjike, ndërsa softuerë të tjerë dinë vetëm si të shfrytëzojnë disa bërthama shumë të fuqishme.
Me fjalë të thjeshta, për shumicën e përdoruesve shtëpiakë, një CPU me 4 deri në 6 bërthama me një numër të mirë fijesh zakonisht ofron një ekuilibër të shkëlqyer midis çmimit dhe performancës . Për krijuesit e përmbajtjes, lojtarët entuziastë ose profesionistët që përdorin programe të kërkuara, përmirësimi në 8, 10 ose më shumë bërthama ka shumë më tepër kuptim, veçanërisht nëse këto aplikacione janë të dizajnuara për të përfituar nga shumëfijet.
Si të zbuloni se sa bërthama dhe fije ka CPU-ja juaj
Nëse doni të kontrolloni se sa bërthama dhe fije ka kompjuteri juaj, vetë sistemi operativ ofron mjete shumë të thjeshta për ta bërë këtë pa instaluar asgjë shtesë . Kjo është e dobishme për të ditur nëse hardueri juaj plotëson kërkesat e një programi ose loje të caktuar, ose për të vlerësuar nëse ia vlen vërtet të përmirësoni procesorin tuaj.
Në Windows 10 ose 11, mund të hapni menynë kontekstuale të butonit Start dhe të shkoni te seksioni "System" për të parë modelin e procesorit të instaluar . Me këtë informacion, mund të kërkoni në faqen e internetit të prodhuesit dhe të kontrolloni se sa bërthama dhe fije mbështet. Përveç kësaj, Task Manager , në skedën "Performance", shfaq grafikë për CPU logjike që ju japin një ide për numrin e fijeve që përdor sistemi.
Nëse dëshironi informacione më të hollësishme, vetë Task Manager ka një lidhje për Resource Monitor , ku mund të shihni një ndarje të proceseve dhe fijeve të punës së bashku me përdorimin e tyre të CPU-së. Çdo hyrje "fije" atje korrespondon me një fije të punës ekzekutimi të menaxhuar nga sistemi.
Në macOS, informacioni bazë i CPU-së mund të gjendet në menynë Apple, nën "Rreth këtij Mac" dhe pastaj "Raporti i Sistemit ". Atje mund të shihni emrin e procesorit dhe, duke konsultuar specifikimet zyrtare, të zbuloni numrin e bërthamave fizike dhe fijeve (thread-eve). Activity Monitor shfaq gjithashtu numrin e fijeve (thread-eve) që ka çdo aplikacion i hapur.
Me këto mjete mund të merrni një ide të qartë se sa fuqi përpunimi paralel keni në të vërtetë në dispozicion dhe nëse programet tuaja po i mbingarkojnë bërthamat apo thjesht përdorin një ose dy, duke i lënë pjesën tjetër pothuajse boshe.
Sa bërthama CPU duhet të zgjidhni në varësi të përdorimit tuaj?
Numri ideal i bërthamave nuk është i njëjtë për të gjithë. Varet nga llojet e detyrave që kryeni çdo ditë dhe nëse aplikacionet tuaja të preferuara janë të optimizuara për të përfituar nga bërthama dhe fije të shumta . Më shumë nuk është gjithmonë më mirë, por është e rëndësishme të gjeni gamën e duhur.
Për përdorim shumë bazik (shfletim, detyra të thjeshta zyre, email, shikim videosh) zakonisht janë të mjaftueshme 2 bërthama fizike , megjithëse sot është më e këshillueshme të zgjidhni të paktën 4 për të fituar hapësirë për përditësimet e ardhshme të softuerit dhe për kryerjen e shumë detyrave njëkohësisht pak më intensive.
Nëse zakonisht luani lojëra më pak të kërkuara, bëni redaktime të lehta fotosh ose videosh dhe mbani disa aplikacione të hapura njëkohësisht, opsioni më i arsyeshëm është të kërkoni një procesor me katër bërthama me mbështetje për shumë fije. Përmirësimi në krahasim me një procesor me dy bërthama është i rëndësishëm në aspektin e rrjedhshmërisë së përgjithshme, kohës së ngarkimit dhe aftësisë për të trajtuar programe të shumta në të njëjtën kohë.
Për lojëra me kërkesa të larta, krijim përmbajtjeje më serioze (redaktim videoje me rezolucion të lartë, renderim i shpeshtë 3D) ose përdorim i makinave virtuale, kalimi në gamën 6-8 bërthama ofron një hap të madh në performancë. Shumë tituj modernë mund të shfrytëzojnë 6 ose 8 bërthama mjaft në mënyrë efikase, dhe programet e redaktimit dhe renderimit zakonisht shkallëzohen shumë mirë me çdo bërthamë shtesë.
Me mbi 10 bërthama, po flasim për sisteme të projektuara për skenarë shumë të kërkuar: lojëra të nivelit të lartë me transmetim të njëkohshëm , renderim dhe animacion profesional 3D, simulime komplekse ose stacione pune dhe servera që ekzekutojnë shumë detyra paralelisht. Në këto raste, sa më shumë bërthama dhe fije pune të ketë (me kusht që ato të përdoren mirë nga softueri), aq më i mirë është kapaciteti për të përpunuar ngarkesa pune masive.
Ndikimi i numrit të bërthamave dhe fijeve në performancë
Të kesh më shumë bërthama dhe fije pune ndryshon ndjeshëm mënyrën se si sillet sistemi nën ngarkesë. Një CPU me shumë bërthama mund të trajtojë shumë detyra të njëkohshme pa bllokuar njëra tjetrën , duke rezultuar në kohë më të shpejta reagimi, më pak ngecje dhe stabilitet më të madh kur kompjuteri juaj funksionon me kapacitet të plotë.
Kryerja e shumë detyrave njëkohësisht është një nga fushat ku kjo është më e dukshme. Të kesh shumë bërthama dhe fije pune i lejon sistemit operativ të shpërndajë aplikacionet midis CPU-ve të ndryshme logjike , në mënyrë që ndërsa njëri trajton një llogaritje të gjatë, të tjerët të mund të vazhdojnë t'i përgjigjen përdoruesit. Kjo është ajo që e bën të mundur, për shembull, të luash një lojë ndërsa diçka po renderohet në sfond ose të regjistrosh video të lojës.
Në videolojërat, shumica e titujve modernë zakonisht arrijnë 4 ose 6 bërthama, dhe disa lojëra të nivelit të lartë shfrytëzojnë 8 bërthama fizike . Në këto raste, përveç kartës grafike, procesori duhet të trajtojë fizikën, inteligjencën artificiale, logjikën e lojës, rrjetëzimin e kështu me radhë. Shpërndarja e këtyre detyrave nëpër bërthama dhe fije të shumta ndihmon në ruajtjen e shpejtësive më të qëndrueshme të kuadrove, veçanërisht në skena shumë të kërkuara.
Në krijimin e përmbajtjes, siç është redaktimi profesional i videove, renderimi 3D ose përpunimi i fotove në shkallë të gjerë, numri i bërthamave luan një rol vendimtar. Shumë motorë renderimi, enkodues videosh dhe mjete profesionale janë projektuar për t'u shkallëzuar pothuajse linearisht me çdo bërthamë shtesë , kështu që kalimi nga 4 në 8 bërthama mund ta shkurtojë kohën e eksportimit përgjysmë nën ngarkesa të caktuara pune.
Në mjediset e serverëve dhe stacioneve të punës, trajtimi i dhjetëra përdoruesve, makinave virtuale ose shërbimeve të njëkohshme kërkon numër shumë të lartë bërthamash , shpesh 16 ose më shumë. Çdo shërbim ose makinë mund të ketë disa bërthama dhe fije të rezervuara, dhe prapë të ketë hapësirë për detyra të reja, duke rritur ndjeshëm kapacitetin e përgjithshëm të sistemit.
Megjithatë, është e rëndësishme të mbani mend se jo të gjitha programet i shfrytëzojnë plotësisht bërthamat shtesë . Shumë programe ende mbështeten shumë në një fije të vetme kryesore, kështu që shpejtësia e secilës bërthamë (frekuenca dhe performanca për cikël) mbetet thelbësore. Idealisht, duhet të kombinoni një numër të arsyeshëm bërthamash me një frekuencë të mirë, pa u ndikuar vetëm nga reklamimi rreth numrit të fijeve.
Duke pasur parasysh të gjitha këto, është e qartë se bërthamat dhe fijet punojnë së bashku për të përcaktuar sjelljen aktuale të CPU-së : bërthamat përcaktojnë se sa detyra të pavarura mund të trajtohen paralelisht, dhe fijet lejojnë që këto detyra të ndahen në pjesë më të vogla dhe më të koordinuara. Të kuptuarit se si përshtatet secili komponent ju ndihmon të zgjidhni procesorin e duhur dhe të vlerësoni nëse përmirësimi është vërtet i vlefshëm bazuar në detyrat tuaja të përditshme.