Mitu tuumaprotsessorit: kas rohkem on alati parem?
Mitme tuuma lisamine ühele protsessor pakub märkimisväärseid eeliseid tänu kaasaegsete operatsioonisüsteemide multitegumtöötlusele. Mõnel eesmärgil on aga praktiline ülempiir, kui palju südamikke annab täiustusi võrreldes nende lisamise kuludega.
Mitmetuumalise tehnoloogia edusammud
Mitmetuumalised protsessorid on saadaval olnud personaalarvutid alates 2000ndate algusest. Mitmetuumalised disainilahendused lahendasid protsessorite probleemi, mis tabab nende füüsilist ülemmäära piirangud nende taktsageduste osas ja kui tõhusalt saaks neid jahutada ja siiski säilitada täpsust. Ühe protsessorikiibi lisatuumadele üleminekuga vältisid tootjad taktsagedusega seotud probleeme, korrutades tõhusalt andmemahtu, mida saaks töödelda Protsessor.
Kui need algselt välja anti, pakkusid tootjad ühes CPU-s vaid kahte tuuma, kuid nüüd on valikuid nelja, kuue ja isegi kümne või enama tuuma jaoks. Lisaks tuumade lisamisele võivad samaaegsed mitmelõimestamise tehnoloogiad (nt Inteli Hyper-Threading) kahekordistada virtuaalseid tuumasid, mida operatsioonisüsteem näeb.
Protsessid ja lõimed
A protsessi on konkreetne ülesanne, nagu programm, mis töötab arvutis. Protsess koosneb ühest või mitmest lõimest.
A niit on lihtsalt üks andmevoog programmist, mis läbib arvuti protsessorit. Iga rakendus loob oma ühe või mitu lõime olenevalt sellest, kuidas see töötab. Ilma multitegumtööta saab ühetuumaline protsessor korraga käsitleda ainult ühte lõime, nii et süsteem lülitub kiiresti lõimede vahel ümber, et töödelda andmeid näiliselt samaaegselt.
Mitme südamiku eeliseks on see, et süsteem suudab korraga käsitleda rohkem kui ühte lõime. Iga tuum suudab käsitleda eraldi andmevoogu. See arhitektuur suurendab oluliselt samaaegseid rakendusi töötava süsteemi jõudlust. Kuna serverid kipuvad korraga käivitama paljusid samaaegseid rakendusi, töötati see tehnoloogia algselt välja selle jaoks äriklient, kuid kuna personaalarvutid muutusid keerukamaks ja multitegumtöö suurenes, said ka nemad sellest kasu täiendavad südamikud.
Iga protsessi juhib aga esmane niit, mis võib hõivata ainult ühe tuuma. Seega on sellise programmi, nagu mäng või videorenderdaja, suhteline kiirus rangelt piiratud põhilõime tarbitava tuuma võimekusega. Esmane lõime võib täielikult delegeerida sekundaarseid lõime teistele tuumadele, kuid mäng ei muutu kaks korda kiiremaks, kui kahekordistate tuumade arvu. Seega pole ebatavaline, et mäng kasutab täielikult ühte südamikku (esmane lõime), kuid näeb sekundaarsete lõimede jaoks ainult osalist teiste tuumade kasutamist. Ükski tuum kahekordistab seda, et esmane tuum on teie jaoks kiiruse piiraja rakendus ja selle arhitektuuri suhtes tundlikud rakendused toimivad paremini kui need ei ole.
Tarkvarasõltuvus
Kuigi mitmetuumaliste protsessorite kontseptsioon kõlab ahvatlevalt, on sellel tehnoloogial oluline hoiatus. Mitme protsessori tegelike eeliste nautimiseks peab arvutis töötav tarkvara olema kirjutatud nii, et see toetab mitmelõimega töötlemist. Ilma sellist funktsiooni toetava tarkvarata juhitakse lõime peamiselt läbi ühe tuuma, mis vähendab arvuti üldist tõhusust. Lõppude lõpuks, kui see saab neljatuumalises protsessoris töötada ainult ühes tuumas, võib tegelikult olla kiirem kasutada seda kahetuumalisel protsessoril, millel on suurem baassagedus.
Kõik suuremad praegused operatsioonisüsteemid toetavad mitmelõimestamise võimalust. Kuid multithreading tuleb ka rakendustarkvarasse sisse kirjutada. Tarbijatarkvara mitme lõimestamise tugi on aastate jooksul paranenud, kuid paljude jaoks on see lihtne programmide puhul pole tarkvara keerukuse tõttu ikka veel rakendatud mitme lõimega ühendamise tuge ehitada. Näiteks ei näe meiliprogramm või veebibrauser tõenäoliselt nii palju kasu mitme lõimega töötlemisest kui graafika- või videotöötlusprogramm, kus arvuti töötleb keerulisi arvutusi.
Hea näide selle tendentsi selgitamiseks on vaadata tüüpilist arvutimängu. Enamik mänge nõuab mängus toimuva kuvamiseks mingit renderdusmootorit. Lisaks juhib mingi tehisintellekt mängu sündmusi ja tegelasi. Ühetuumalise puhul täidetakse mõlemad ülesanded nende vahel vahetades. See lähenemine ei ole tõhus. Kui süsteemil oleks mitu protsessorit, võiksid nii renderdus kui ka AI töötada eraldi tuumal – ideaalne olukord mitmetuumalise protsessori jaoks.
Kas 8 > 4 > 2?
Kahest tuumast kaugemale jõudmine pakub erinevaid eeliseid, kuna iga arvutiostja vastus sõltub tarkvarast, mida ta tavaliselt kasutab. Näiteks pakuvad paljud klassikalised mängud kahe ja nelja tuuma vahel vähe jõudluse erinevust. Isegi kaasaegsed mängud – millest mõned nõuavad või toetavad väidetavalt kaheksat tuuma – ei pruugi toimida paremini kui kuue tuumaga masin, millel on kõrgem põhitaktsagedus, arvestades, et mitmelõimelise tõhusust reguleerib esmase lõime efektiivsus esitus.
Teisest küljest näeb videot ümber kodeeriv videokodeerimisprogramm tõenäoliselt tohutuid eeliseid üksiku kaadri renderdamise saab edastada erinevatele tuumadele ja seejärel koondada ühte voogu tarkvara. Seega on kaheksa südamiku omamine veelgi kasulikum kui nelja tuuma olemasolu. Põhimõtteliselt ei vaja esmane lõim suhteliselt rikkalikke ressursse; Selle asemel võib see raske töö välja töötada tütarlõimedega, mis maksimeerivad protsessori tuumasid.
Kella kiirused
Üldiselt tähendab suurem taktsagedus kiiremat protsessorit. Kellakiirused muutuvad ebamäärasemaks, kui arvestada kiirust mitme tuumaga võrreldes, kuna protsessorid töötlevad mitut andmeid keermed tänu lisatuumadele, kuid kõik need südamikud töötavad termiliste piirangute tõttu madalamal kiirusel.
Näiteks võib kahetuumaline protsessor toetada iga protsessori baassagedust 3,5 GHz, samas kui neljatuumaline protsessor võib toetada töötab ainult sagedusel 3,0 GHz. Vaadates ainult ühte tuuma mõlemal, on kahetuumaline protsessor 14 protsenti kiirem kui neljatuumaline. Seega, kui teil on programm, mis on ainult ühe lõimega, on kahetuumaline protsessor tegelikult tõhusam. Samas, kui teie tarkvara saab kasutada kõiki nelja protsessorit, on neljatuumaline protsessor tegelikult umbes 70 protsenti kiirem kui see kahetuumaline protsessor.
Järeldused
Suurem tuumade arvuga protsessor on enamasti parem, kui teie tarkvara ja tüüpilised kasutusjuhtumid toetavad seda. Enamasti on kahe- või neljatuumaline protsessor tavalise arvutikasutaja jaoks enam kui piisav. Enamik tarbijaid ei näe neljast protsessorituumast kaugemale jõudmisest käegakatsutavat kasu, sest nii vähe spetsialiseerunud tarkvara kasutab seda ära. Suure tuumaarvuga protsessorite parim kasutusjuht on masinatega, mis täidavad keerulisi ülesandeid, nagu töölaua videotöötlus, mõned tipptasemel mängude vormid või keerulised teadus- ja matemaatikaprogrammid.
Vaadake meie mõtteid selle kohta Kui kiiret arvutit ma vajan? et saada parem ülevaade sellest, millist tüüpi protsessor teie arvutivajadustele kõige paremini sobib.