Dodajanje več jeder enemu procesorju nudi pomembne prednosti zaradi večopravilnosti sodobnih operacijskih sistemov. Vendar pa za nekatere namene obstaja zgornja praktična meja števila jeder, ki prinašajo izboljšave glede na stroške njihovega dodajanja.
Napredek večjedrne tehnologije
Večjedrni procesorji so na voljo v osebnih računalnikih že od začetka leta 2000. Večjedrne zasnove so obravnavale problem procesorjev, ki dosegajo zgornjo mejo svojih fizičnih omejitev v smislu takta in tega, kako učinkovito jih je mogoče ohladiti in ohraniti natančnost. S prehodom na dodatna jedra na enem samem procesorskem čipu so se proizvajalci izognili težavam s hitrostjo takta z učinkovitim pomnožitvijo količine podatkov, ki jih lahko obdela CPE.
Ko so bili prvotno izdani, so proizvajalci ponujali samo dve jedri v enem CPE-ju, zdaj pa obstajajo možnosti za štiri, šest in celo 10 ali več. Poleg dodajanja jeder lahko tehnologije simultane večnitnosti, kot je Intelova Hyper-Threading, podvojijo virtualna jedra, ki jih vidi operacijski sistem.
Procesi in niti
Proces je posebna naloga, kot program, ki se izvaja v računalniku. Proces je sestavljen iz ene ali več niti.
Nit je preprosto en tok podatkov iz programa, ki gre skozi procesor v računalniku. Vsaka aplikacija ustvari lastno eno ali več niti, odvisno od tega, kako se izvaja. Brez večopravilnosti lahko enojedrni procesor obdeluje samo eno nit naenkrat, zato sistem hitro preklaplja med nitmi, da obdeluje podatke na navidezno sočasen način.
Prednost več jeder je, da lahko sistem obravnava več kot eno nit hkrati. Vsako jedro lahko obravnava ločen tok podatkov. Ta arhitektura močno poveča zmogljivost sistema, ki izvaja sočasne aplikacije. Ker strežniki ponavadi poganjajo veliko sočasnih aplikacij v določenem času, je bila tehnologija prvotno razvita za poslovne uporabnike – toda ko so osebni računalniki postajali bolj zapleteni in se je večopravilnost povečala, so tudi oni imeli koristi od dodatnih jeder.
Vsak proces pa upravlja primarna nit, ki lahko zasede samo eno jedro. Tako je relativna hitrost programa, kot je igra ali upodabljalnik videa, težko omejena na zmogljivost jedra, ki ga porabi primarna nit. Primarna nit lahko absolutno prenese sekundarne niti na druga jedra - vendar igra ne postane dvakrat hitrejša, če podvojite jedra. Zato ni nenavadno, da igra v celoti maksimalira eno jedro (primarna nit), vendar vidi le delno uporabo drugih jeder za sekundarne niti. Nobena količina podvajanja jeder ne zaobide dejstva, da je primarno jedro omejevalnik hitrosti za vašo aplikacijo in bodo aplikacije, ki so občutljive na to arhitekturo, delovale bolje kot aplikacije, ki niso.
Odvisnost od programske opreme
Čeprav se koncept večjedrnih procesorjev sliši privlačno, obstaja pri tej tehnologiji veliko opozorilo. Da bi lahko uživali v resničnih prednostih več procesorjev, mora biti programska oprema, ki se izvaja v računalniku, napisana tako, da podpira večnitnost. Brez programske opreme, ki podpira takšno funkcijo, bodo niti potekale predvsem skozi eno jedro, kar bo poslabšalo splošno učinkovitost računalnika. Konec koncev, če lahko deluje le z enim jedrom v štirijedrnem procesorju, je morda dejansko hitreje, če ga izvajate z dvojedrnim procesorjem z višjimi osnovnimi takti.
Vsi glavni trenutni operacijski sistemi podpirajo večnitnost. Toda večnitnost mora biti zapisana tudi v aplikacijsko programsko opremo. Podpora za večnitnost v uporabniški programski opremi se je z leti izboljšala, vendar za številne preproste programe podpora za večnitnost še vedno ni implementirana zaradi zapletenosti gradnje programske opreme. Na primer, poštni program ali spletni brskalnik najverjetneje ne bo imel toliko koristi od večnitnosti kot program za urejanje grafike ali videa, kjer računalnik obdeluje zapletene izračune.
Dober primer za razlago te težnje je pogled na tipično računalniško igrico. Večina iger zahteva neko obliko mehanizma za upodabljanje, da prikaže, kaj se dogaja v igri. Poleg tega nekakšna umetna inteligenca nadzoruje dogodke in like v igri. Pri enojedrnem se obe nalogi izvajata s preklapljanjem med njima. Ta pristop ni učinkovit. Če bi sistem vseboval več procesorjev, bi upodabljanje in umetna inteligenca lahko delovala v ločenem jedru – idealna situacija za večjedrni procesor.
Je 8 > 4 > 2?
Preseganje dveh jeder prinaša mešane prednosti, saj je odgovor za katerega koli kupca računalnika odvisen od programske opreme, ki jo običajno uporablja. Na primer, številne klasične igre še vedno ponujajo majhno razliko v zmogljivosti med dvema in štirimi jedri. Celo sodobne igre – od katerih nekatere domnevno zahtevajo ali podpirajo osem jeder – morda ne delujejo bolje kot šestjedrni stroj z višjo osnovno hitrostjo, saj učinkovitost primarne niti določa učinkovitost večnitne zmogljivosti.
Po drugi strani pa bo program za kodiranje videoposnetkov, ki prekodira videoposnetek, verjetno imel velike koristi, saj se lahko upodabljanje posameznega okvirja prenese na različna jedra in nato programska oprema združi v en sam tok. Tako bo imeti osem jeder celo bolj koristno kot imeti štiri. V bistvu primarna nit ne potrebuje sorazmerno bogatih virov; namesto tega lahko trdo delo prenese na hčerinske niti, ki maksimalno izkoristijo jedra procesorja.
Hitrosti ure
Na splošno višja hitrost pomeni hitrejši procesor. Hitrosti takta postanejo bolj nejasne, če upoštevate hitrosti glede na več jeder, ker procesorji zaradi dodatnih jeder krčijo več podatkovnih niti, vendar bo vsako od teh jeder delovalo pri nižjih hitrostih zaradi toplotnih omejitev.
Na primer, dvojedrni procesor lahko podpira osnovne frekvence 3,5 GHz za vsak procesor, medtem ko lahko štirijedrni procesor deluje le pri 3,0 GHz. Samo če pogledamo eno jedro na vsakem od njih, je dvojedrni procesor 14 odstotkov hitrejši od štirijedrnega. Torej, če imate program, ki je samo enonit, je dvojedrni procesor dejansko bolj učinkovit. Še enkrat, če lahko vaša programska oprema uporablja vse štiri procesorje, bo štirijedrni procesor dejansko približno 70 odstotkov hitrejši od tega dvojedrnega procesorja.
Sklepi
Večinoma je procesor z večjim številom jeder na splošno boljši, če vaša programska oprema in običajni primeri uporabe to podpirajo. Večinoma bo dvojedrni ali štirijedrni procesor več kot dovolj moči za osnovnega uporabnika računalnika. Večina potrošnikov ne bo videla nobenih oprijemljivih koristi od preseganja štirih procesorskih jeder, ker to izkorišča tako malo nespecializirane programske opreme. Najboljši primer uporabe za procesorje z velikim številom jeder se nanaša na stroje, ki opravljajo zapletene naloge, kot je namizno urejanje videa, nekatere oblike vrhunskih iger ali zapleteni naravoslovni in matematični programi.
Oglejte si naše misli o tem, kako hiter računalnik potrebujem? da dobite boljšo predstavo o tem, katera vrsta procesorja najbolje ustreza vašim računalniškim potrebam.