- Tuumad on füüsilised protsessoriüksused, mis täidavad protsessori sees iseseisvalt juhiseid.
- Lõimed on loogilised täitmisvood, mis on programmeeritud kernelitesse oma ressursside paremaks kasutamiseks.
- Rohkem südamikke ja niite võimaldab suuremat paralleelsust ja paremat multitegumtöötlust, eeldusel, et tarkvara on selleks valmis.
- Õige südamike ja niitide arvu valimine sõltub kasutusviisist: põhi-, mängu-, sisuloome- või professionaalne keskkond.

Protsessori spetsifikatsioone uurides on lihtne suure hulga andmete seas ära eksida: sagedus, vahemälu, TDP... ja muidugi kuulus osa tuumade ja niitide arvust . Need on terminid, mida korratakse kõikjal, kuid mis tekitavad ikkagi üsna palju segadust isegi kogenud kasutajate seas.
Protsessori tuumade ja niitide mõistmine pole ainult tehniline küsimus. See mõjutab otseselt arvuti reaalset jõudlust, multitegumtöötluse sujuvust ning mängude, videotöötlustarkvara ja virtuaalsete masinate jõudlust. Kuigi tavakasutaja saab hakkama ilma liigse süvenemiseta, on nende kontseptsioonide valdamine ülioluline kõigile, kes programmeerivad, ehitavad arvuteid või soovivad lihtsalt teha teadlikke ostuotsuseid.
Mis on protsessori tuumad?

Väikeses kiibis, mida me nimetame protsessoriks (CPU), on peidus mitu loogikaplokki, mis toimivad täiesti iseseisvate arvutusüksustena . Need plokid on tuumad. Iga tuum saab RAM-ist juhiseid vastu võtta, neid protsessori kellaga sünkroonis töödelda ja tulemusi tagastada, nagu pisike aju põhikiibi sees.
Vanematel protsessoritel oli ainult üks tuum, mis suutis täita ühe käsu taktsükli kohta . Seda mahtu mõõdeti megahertsides (MHz) või gigahertsides (GHz): mida kõrgem oli sagedus, seda rohkem käske sekundis suutis see täita. Tänapäeval on lisaks taktsageduse suurendamisele tootjad ka tuumade arvu mitmekordistanud, et toortöötlusvõimsust märkimisväärselt suurendada.
Iga tuum toimib füüsilise alamprotsessorina, mis on integreeritud samasse paketti . Neljatuumaline protsessor on nagu neli protsessorit, mis töötavad samal kiibil paralleelselt. See tähendab, et ühe tsükli jooksul saab protsessor samaaegselt käsitleda nelja erinevat käsku, mitmekordistades arvutusvõimsust, kui operatsioonisüsteem ja programmid saavad seda ära kasutada.
Oluline on rõhutada, et tuumad on füüsilised komponendid, mitte midagi virtuaalset või tarkvaraliselt simuleeritud . Need koosnevad miljonitest transistoridest ja vooluringidest, mis rakendavad aritmeetilisi üksusi, juhtseadmeid, sisemisi registreid ja muid elemente, mis võimaldavad käsutsükli (tulemuse toomine, dekodeerimine, käivitamine ja kirjutamine) korduvat käivitamist.
Tänapäeval on tarbijaturul tavaline leida protsessoreid, millel on 2, 4, 6, 8 ja isegi rohkem kui 10 tuuma , samas kui tööjaamad ja serverid pakuvad tavaliselt veelgi suuremat arvu, näiteks 16, 32 või enam füüsilist tuuma. Mida rohkem südamikke on, seda rohkem ülesandeid saab samaaegselt töödelda, mis on eriti kasulik professionaalsete rakenduste, serverite või suure paralleelse töökoormusega töövoogude jaoks.
Mis on protsessori niidid ja kuidas need töötavad?
Kuigi tuumad on füüsilised komponendid, on lõimed (või alamprotsessid) loogilised või virtuaalsed üksused, mis esindavad programmi täitmisvoogu ja mida operatsioonisüsteem saab ajastada ühe või mitme tuuma vahel. Lõim on sisuliselt käskude jada, mida saab täita teistest sõltumatult, omades oma kontekstiinfot.
Me võime vaadelda lõime kui teed, mida koodijupp läbib protsessori . Igal lõimel on oma täitmisregistrid, oma pinu ja programmiloendur, mis näitab, millist käsku tuleks igal ajahetkel täita. Operatsioonisüsteem vastutab nende lõimede määramise eest saadaolevatele tuumadele ja protsessori aja võimalikult tõhusa jaotamise eest nende vahel.
Programmeerimises eristatakse ühelõimelisi ja mitmelõimelisi rakendusi . Ühelõimelisel programmil on ainult üks täitmisvoog: käske täidetakse üksteise järel rangelt järjestikku. Mitmelõimelises rakenduses seevastu jaotatakse töö mitme lõime vahel, mis saavad töötada paralleelselt, jagades ressursse, kuid töötades samaaegselt.
See töökoormuse jagamise meetod võimaldab ühel programmil samaaegselt mitut toimingut täita . Näiteks videotöötlusprogramm saab ühe lõime pühendada graafilisele liidesele, teise renderdamisele, kolmanda helile jne. Kui protsessori südamikke ja lõime on piisavalt, töötavad need programmi osad samaaegselt, parandades reageerimisaega ja vähendades viivitust.
Praktikas kasutavad paljud tänapäevased protsessorid samaaegseid mitmekeermelise töötlemise tehnoloogiaid, näiteks SMT või hüperkeermeline töötlemine, mis võimaldavad igal füüsilisel tuumal samaaegselt käsitleda kahte täitmislõime . See selgitab, miks protsessoritel on näiteks 6 tuuma ja 12 lõime: füüsilisi seadmeid on kuus, kuid igaüks neist saab korraga kanda kahte erinevat käsuvoogu, kasutades paremini ära sisemisi seadmeid, mis muidu oleksid jõude. Inteli hüperkeermelise töötlemise tehnoloogia on selle tuntud näide.
Programmide, protsesside ja lõimede vaheline seos
Lõimede rolli täielikuks mõistmiseks on kasulik minna tagasi tasemele ja vaadata, kuidas töö operatsioonisüsteemis on korraldatud. Programm on lihtsalt kettale salvestatud juhiste kogum (rakendused, draiverid, operatsioonisüsteem ise jne) binaarvormingus, mis on vajadusel valmis mällu laadimiseks.
Programmi käivitamisel loob süsteem vähemalt ühe protsessi, mis laaditakse muutmällu (RAM ). See protsess hõlmab käivitatavat koodi, andmeid, vajalikke ressursse (failikirjeldajad, reserveeritud mälu jne) ja konteksti, mida operatsioonisüsteem hoolikalt haldab. Iga protsess asub kindlas mäluruumis, mis on teistest eraldatud, mis tagab stabiilsuse ja turvalisuse.
Protsessi toimimiseks on vaja teatud põhielemente: programmiloendurit, mis näitab järgmist täidetavat käsku, registrite jada, kuhu salvestatakse ajutised andmed ja juhtimisteave, ning pinu, mis salvestab aktiivsete funktsioonide andmeid. Kõik see salvestatakse ja taastatakse pidevalt, kui süsteem ühelt protsessilt teisele lülitub.
Huvitav on see, et iga protsess töötab teistest sõltumatult . Tänu sellele iseseisvusele saab ühe rakenduse krahhi korral ülejäänud süsteem edasi toimida. See mitme protsessi haldamise võime võimaldab luua multitegumtöötluskeskkonna: sirvida internetti muusikat kuulates, kontrollida e-kirju ja alla laadida faile samaaegselt.
Igas protsessis on täitmislõimesid. Lõim on väikseim tööühik, mille operatsioonisüsteem saab protsessorile eraldada . Protsess võib koosneda ühest lõimest (lihtsaim juhtum) või paljudest lõimedest, mis jagavad sama mäluruumi ja töötlemisressursse, kuid täidavad protsesse paralleelselt.
Ühe- ja mitmejuhtmelised protsessid
Ühelõimelises protsessis täidetakse kogu programmikood ühes käskude voos . See tähendab, et kui programmi ühe osa täitmine võtab kaua aega (näiteks aeglane kettaoperatsioon või mahukas arvutus), võib ülejäänud rakendus olla kuni selle toimingu lõpuni blokeeritud, tekitades loiduse või hangumise tunde.
Kui protsess on mitmelõimeline, jagatakse selle ülesanne mitmeks väiksemaks alamprotsessiks, mida nimetatakse lõimedeks . Need lõimed jagavad mälu ja ressursse, kuid igal lõimel on oma registripinu ja programmiloendur. Sel viisil saavad programmi kaks või enam osa samaaegselt töötada, vähendades ooteaegu ja kasutades paremini ära saadaolevaid südamikke.
Näiteks võib veebibrauseril olla üks lõim liidese jaoks, teine lehtede laadimiseks, kolmas JavaScripti koodi käivitamiseks ja kolmas video esitamiseks. Kui protsessori tuuma ja lõime on mitu, saavad kõik need lõimed töötada samaaegselt , mille tulemuseks on palju sujuvam kasutuskogemus.
Peamine on see, et rohkemate lõimedega suureneb samaaegsete arvutuste maht märkimisväärselt . See ei tähenda, et protsessor ise on kiirem, vaid pigem seda, et see saab oma sisemisi üksusi rohkem paralleelse tööga hõivatuna hoida. See tähendab paremat riistvara kasutamist, eriti programmides, mis on spetsiaalselt loodud paljude lõimedega töötamiseks.
Mitmekeermelise tehnoloogiaga protsessorites ei täida kahekeermeline tuum sõna otseses mõttes kahte käsku samas tsüklis 100% efektiivsusega, kuid see suudab kahe lõime vahel nii kiiresti vahetada , et tundub, nagu töötaksid need paralleelselt. Operatsioonisüsteem eraldab igale lõimele väikesed "protsessori ajaviilud" ja nende vaheline vahetamine toimub sekundi murdosa jooksul, kasutajale märkamatult.
Põhimõttelised erinevused südamike ja kiudude vahel
Peamine erinevus seisneb selles, et tuumad on füüsilised töötlusüksused , samas kui lõimed on loogilised üksused, mis esindavad nendes tuumades töötavaid ülesandeid või alamprotsesse. Tuum võib eksisteerida ilma täiendavate SMT-lõimedeta (lihtsalt ühe käsuvoo käivitamine), kuid lõim, olgu see kui tahes virtuaalne, vajab mingil hetkel käivitamiseks alati füüsilist tuuma.
Protsessori spetsifikatsioone vaadates näete kombinatsioone nagu "4 tuuma / 8 lõime" või "6 tuuma / 12 lõime". See tähendab, et iga füüsiline tuum saab samaaegselt hakkama kahe täitmislõimega . 6-tuumalises ja 12-lõimelises protsessoris näeb operatsioonisüsteem 12 loogilist üksust, millele ülesandeid ajastada, kuigi räni tasandil on ainult 6 täielikku täitmisplokki.
Praktikas määravad tuumad, kui palju tõeliselt sõltumatuid ülesandeid protsessor samaaegselt täita saab , samas kui lõimed peenhäälestavad nende tuumade kasutamist, minimeerides jõudeaega ja võimaldades rohkem samaaegseid lõime. Seetõttu öeldaksegi, et lõimed suurendavad efektiivsust, kuid reaalse mahutavuse oluline hüpe tuleb alati rohkemate füüsiliste tuumade lisamisest.
Lühidalt, tuumad pakuvad füüsilist jõudu, samas kui lõimed korraldavad tööd paremini . Hea tasakaal nende kahe vahel muudab süsteemi üldist jõudlust oluliselt, eriti intensiivse multitegumtöötluse või nõudliku professionaalse tarkvara puhul.
Südamikud või kiud: kumb on olulisem, olenevalt kasutusest
Tüüpiline küsimus protsessori ostmisel on, kas eelistada füüsilisi südamikke või loogilisi niite . Vastus sõltub suuresti sellest, kuidas kavatsete arvutit kasutada ja kuidas on programmeeritud rakendused, mida tavaliselt kasutate.
Riistvararohkete ülesannete puhul, nagu nõudlikud mängud, täiustatud videotöötlus, 3D-renderdamine või virtuaalsete masinate käitamine, on suure hulga füüsiliste tuumade olemasolu tavaliselt kasulikum . Selliste töökoormuste eeliseks on võimalus jaotada suuri ülesandeid mitme füüsilise tuuma vahel, selle asemel, et loota ainult loogilistele lõimedele mõne tuuma vahel.
Igapäevasemaks kasutamiseks, näiteks sirvimiseks, dokumentidega töötamiseks, mitme kerge rakenduse samaaegseks kasutamiseks või multimeediasisu tarbimiseks, võib tõhus lõimede haldus olla suuremaks abiks . Isegi väheste tuumade korral, kui protsessor toetab mitut lõime tuuma kohta ja süsteem jaotab need hästi, on üldine kogemus sujuv ja reageerimisvõimeline.
Tarkvaraarenduses on oluline mõista, kuidas tuumasid ja lõime hallatakse. Halvasti paralleelne programm ei pruugi ära kasutada paljude lõimede või tuumadega protsessorit , samas kui hästi disainitud rakendus skaleerub väga hästi saadaolevate tuumade arvu suurenedes. Mõni tarkvara on optimeeritud paljude loogiliste lõimede jaoks, samas kui teine tarkvara oskab ära kasutada vaid mõnda väga võimsat tuuma.
Lihtsamalt öeldes pakub enamiku kodukasutajate jaoks 4- kuni 6-tuumaline protsessor hea lõimede arvuga suurepärast tasakaalu hinna ja jõudluse vahel . Sisu loojatele, entusiastlikele mänguritele või nõudlikke programme kasutavatele professionaalidele on 8, 10 või enama tuumani uuendamine palju mõistlikum, eriti kui need rakendused on loodud mitmelõimelise töö ärakasutamiseks.
Kuidas teada saada, mitu tuuma ja niiti teie protsessoril on
Kui soovite kontrollida oma arvuti tuumade ja niitide arvu, pakub operatsioonisüsteem ise väga lihtsaid tööriistu selleks ilma midagi täiendavat installimata . See on kasulik selleks, et teada saada, kas teie riistvara vastab teatud programmi või mängu nõuetele, või selleks, et hinnata, kas protsessori uuendamine on tõesti seda väärt.
Windows 10 või 11 puhul saate avada nupu Start kontekstimenüü ja minna jaotisse „Süsteem”, et näha installitud protsessori mudelit . Selle teabe abil saate otsida tootja veebisaidilt ja kontrollida, mitu tuuma ja lõime see toetab. Lisaks kuvab tegumihaldur vahekaardil „Jõudlus” graafikuid loogilise protsessori kohta, mis annab teile aimu süsteemi kasutatavate lõimede arvust.
Täpsema teabe saamiseks on tegumihalduril endal link ressursimonitorile , kus näete protsesside ja lõimede jaotust koos nende protsessori kasutusega. Iga "lõime" kirje seal vastab süsteemi hallatavale teostuslõimele.
macOS-is leiate põhiteavet protsessori kohta Apple'i menüüst, valides „Teave selle Maci kohta” ja seejärel „Süsteemiaruanne ”. Seal näete protsessori nime ja ametlike spetsifikatsioonide põhjal saate teada füüsiliste tuumade ja lõimede arvu. Aktiivsusmonitor kuvab ka iga avatud rakenduse lõimede arvu.
Nende tööriistade abil saate selge ülevaate sellest, kui palju paralleelset töötlemisvõimsust teil tegelikult saadaval on ja kas teie programmid küllastavad südamikke või kasutavad ainult ühte või kahte, jättes ülejäänud peaaegu jõude.
Mitu protsessori tuuma peaksite oma kasutuse põhjal valima?
Ideaalne tuumade arv ei ole kõigile sama. See sõltub sellest, milliseid ülesandeid te iga päev teete ja kas teie lemmikrakendused on optimeeritud mitme tuuma ja lõime ärakasutamiseks . Rohkem ei ole alati parem, kuid oluline on leida õige vahemik.
Väga lihtsaks kasutamiseks (sirvimine, lihtsad kontoritööd, e-posti saatmine, videote vaatamine) piisab tavaliselt kahest füüsilisest tuumast , kuigi tänapäeval on soovitatav valida vähemalt neli, et saada varu tulevaste tarkvarauuenduste ja veidi intensiivsema multitegumtöötluse jaoks.
Kui tavaliselt mängid vähemnõudlikke mänge, teed kerget foto- või videotöötlust ning hoiad korraga avatud mitut rakendust, on kõige mõistlikum valik otsida neljatuumalist protsessorit, mis toetab mitmekeermelist töötlemist. Kahetuumalise protsessoriga võrreldes on edasiminek märkimisväärne üldise sujuvuse, laadimisaegade ja mitme programmi samaaegse käsitlemise võimekuse osas.
Nõudlike mängude, tõsisema sisu loomise (kõrglahutusega videotöötlus, sagedane 3D-renderdamine) või virtuaalmasinate kasutamise puhul pakub üleminek 6-8 tuumaga vahemikku tohutut jõudlushüpet. Paljud tänapäevased mängud suudavad 6 või 8 tuuma üsna tõhusalt ära kasutada ning monteerimis- ja renderdamisprogrammid skaleeruvad iga täiendava tuumaga tavaliselt väga hästi.
Üle 10 tuuma puhul räägime süsteemidest, mis on loodud väga nõudlikeks stsenaariumideks: tipptasemel mängud samaaegse voogesitusega , professionaalne 3D-renderdus ja animatsioon, keerulised simulatsioonid või tööjaamad ja serverid, mis käitavad paralleelselt paljusid ülesandeid. Sellistel juhtudel, mida rohkem on südamikke ja niite (eeldusel, et tarkvara neid hästi kasutab), seda parem on võimekus töödelda suuri töökoormusi.
Südamike ja niitide arvu mõju jõudlusele
Rohkemate tuumade ja niitide olemasolu muudab oluliselt süsteemi käitumist koormuse all. Mitme tuumaga protsessor saab hakkama paljude samaaegsete ülesannetega ilma, et üks teist blokeeriks , mille tulemuseks on kiirem reageerimisaeg, vähem katkestusi ja suurem stabiilsus, kui arvuti töötab täisvõimsusel.
Multitegumtöötlus on üks valdkondi, kus see on kõige märgatavam. Mitme tuuma ja niidi olemasolu võimaldab operatsioonisüsteemil rakendusi erinevate loogiliste protsessorite vahel jaotada , nii et samal ajal kui üks tegeleb pikkade arvutustega, saavad teised kasutajale vastata. See võimaldab näiteks mängida mängu samal ajal, kui midagi taustal renderdatakse või mänguvideot salvestatakse.
Videomängudes skaleeruvad enamik tänapäevaseid mänge tavaliselt 4 või 6 tuumani ning mõned tipptasemel mängud kasutavad ära 8 füüsilist tuuma . Sellistel juhtudel peab protsessor lisaks graafikakaardile tegelema ka füüsika, tehisintellekti, mänguloogika, võrgustamise ja muu sellisega. Nende ülesannete jagamine mitme tuuma ja lõime vahel aitab säilitada stabiilsemat kaadrisagedust, eriti väga nõudlikes stseenides.
Sisu loomisel, näiteks professionaalsel videotöötlusel, 3D-renderdamisel või suuremahulisel fototöötlusel, mängib tuumade arv olulist rolli. Paljud renderdusmootorid, videokooderid ja professionaalsed tööriistad on loodud iga täiendava tuumaga peaaegu lineaarselt skaleeruma , seega võib neljalt kaheksale tuumale minek teatud töökoormuse korral ekspordiaega poole võrra lühendada.
Serveri- ja tööjaamakeskkondades nõuab kümnete kasutajate, virtuaalsete masinate või samaaegsete teenuste haldamine väga suurt tuumade arvu , sageli 16 või rohkem. Igal teenusel või masinal võib olla reserveeritud mitu tuuma ja lõime, kuid uute ülesannete jaoks on siiski ruumi, mis suurendab oluliselt süsteemi üldist võimsust.
Siiski on oluline meeles pidada, et mitte kõik programmid ei kasuta lisatuumade eeliseid täiel määral ära . Paljud programmid toetuvad endiselt suuresti ühele põhilõimele, seega on iga tuuma kiirus (sagedus ja jõudlus tsükli kohta) endiselt ülioluline. Ideaalis peaksite kombineerima mõistliku arvu südamikke hea sagedusega, laskmata end mõjutada ainult lõimede arvu ümbritsevast turunduskärust.
Kõike seda arvesse võttes on selge, et tuumad ja lõimed töötavad koos, et määrata protsessori tegelikku käitumist : tuumad määravad, kui palju sõltumatuid ülesandeid saab paralleelselt käsitleda, ja lõimed võimaldavad neid ülesandeid jagada väiksemateks, paremini koordineeritud osadeks. Iga komponendi sobivuse mõistmine aitab teil valida õige protsessori ja hinnata, kas uuendamine on teie igapäevaste ülesannete põhjal tõesti mõttekas.