Večjedrni procesorji: je več vedno bolje?

Dodajanje več jeder enemu procesor ponuja znatne prednosti zaradi večopravilnosti sodobnih operacijskih sistemov. Vendar pa za nekatere namene obstaja zgornja praktična meja, koliko jeder prinaša izboljšave glede na stroške njihovega dodajanja.

Večjedrni tehnološki napredek

PAE-NX-SSE2-CPU-Windows
TobiasD / Pixabay

Večjedrni procesorji so bili na voljo v osebni računalniki od zgodnjih 2000-ih. Večjedrne zasnove so obravnavale problem procesorjev, ki so dosegli zgornjo mejo svojih fizičnih omejitve glede njihove taktne hitrosti in kako učinkovito bi jih bilo mogoče ohladiti in še vzdrževati natančnost. S prehodom na dodatna jedra na enem samem procesorskem čipu so se proizvajalci izognili težavam s taktnimi hitrostmi, tako da so učinkovito pomnožili količino podatkov, ki bi jih lahko obdelal CPE.

Ko so bili prvotno izdani, so proizvajalci ponujali samo dve jedri v enem CPU, zdaj pa obstajajo možnosti za štiri, šest in celo 10 ali več. Poleg dodajanja jeder lahko hkratne večnitne tehnologije – kot je Intelov Hyper-Threading – podvojijo navidezna jedra, ki jih operacijski sistem vidi.

Procesi in niti

A proces je posebna naloga, kot je program, ki se izvaja v računalniku. Proces je sestavljen iz ene ali več niti.

A nit je preprosto en tok podatkov iz programa, ki poteka skozi procesor v računalniku. Vsaka aplikacija ustvari svojo eno ali več niti, odvisno od tega, kako deluje. Brez večopravilnosti lahko enojedrni procesor obdeluje samo eno nit naenkrat, zato sistem hitro preklaplja med nitmi, da obdeluje podatke na navidezno sočasni 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 v določenem času običajno izvajajo veliko sočasnih aplikacij, je bila tehnologija prvotno razvita za podjetniške stranke — a ker so osebni računalniki postajali vse bolj zapleteni in se je povečala večopravilnost, je tudi njim koristilo dodatna jedra.

Vsak proces pa ureja primarna nit, ki lahko zaseda samo eno jedro. Tako je relativna hitrost programa, kot je igra ali video upodabljalnik, močno 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, ko podvojite jedra. Tako ni nenavadno, da igra v celoti izkoristi eno jedro (primarna nit), vendar vidi le delno uporabo drugih jeder za sekundarne niti. Nobeno podvojitev jedra ne zaobide dejstva, da je primarno jedro omejevalnik hitrosti za vaše aplikacije in aplikacije, ki so občutljive na to arhitekturo, bodo delovale bolje kot aplikacije, ki niso.

Odvisnost od programske opreme

Čeprav se koncept večjedrnih procesorjev sliši privlačno, obstaja veliko opozorilo pri tej tehnologiji. 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čnitno delovanje. 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 samo na enem jedru v štirijedrnem procesorju, je morda hitreje, če ga zaženete na dvojedrnem procesorju z višjimi osnovnimi taktimi.

Vsi glavni trenutni operacijski sistemi podpirajo večnitno delovanje. Toda večnitnost mora biti zapisana tudi v aplikacijski programski opremi. Podpora za večnitnost v potrošniški programski opremi se je z leti izboljšala, vendar je za mnoge preprosta programov, podpora za večnitnost še vedno ni implementirana zaradi kompleksnosti programske opreme graditi. Na primer, poštni program ali spletni brskalnik verjetno ne bo prinesel velikih prednosti pri večnitnosti, kot bi jih imel 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 igro. Večina iger zahteva neko obliko mehanizma upodabljanja, da prikaže, kaj se dogaja v igri. Poleg tega nekakšna umetna inteligenca nadzoruje dogodke in like v igri. Pri enem jedru se obe nalogi izvajata s preklapljanjem med njima. Ta pristop ni učinkovit. Če bi sistem vseboval več procesorjev, bi lahko upodabljanje in umetna inteligenca delovala na ločenem jedru – idealna situacija za večjedrni procesor.

Ali 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. Tudi sodobne igre – nekatere od njih domnevno zahtevajo ali podpirajo osem jeder – morda ne bodo delovale bolje kot šestjedrni stroj z višja osnovna taktna hitrost, glede na to, da učinkovitost primarne niti ureja učinkovitost večnitne izvedba.

Po drugi strani pa bo program za kodiranje videa, ki transkodira video, verjetno imel velike koristi kot upodabljanje posameznih okvirjev se lahko prenese v različna jedra in nato združi v en sam tok s strani programsko opremo. Tako bo osem jeder še bolj koristno kot štiri. V bistvu primarna nit ne potrebuje sorazmerno bogatih virov; namesto tega lahko prenese trdo delo na hčerinske niti, ki maksimizirajo procesorska jedra.

Urne hitrosti

Upravitelj opravil, ki prikazuje izkoriščenost procesorja

Na splošno bo višja takta pomenila hitrejši procesor. Hitrosti ure postanejo bolj nejasne, če upoštevate hitrosti glede na več jeder, ker procesorji krčijo več podatkov niti zaradi dodatnih jeder, vendar bo vsako od teh jeder zaradi toplotnih omejitev delovalo pri nižjih hitrostih.

Dvojedrni procesor lahko na primer podpira osnovne hitrosti 3,5 GHz za vsak procesor, medtem ko lahko štirijedrni procesor deluje samo pri 3,0 GHz. Če pogledamo eno jedro na vsakem od njih, je dvojedrni procesor 14 odstotkov hitrejši kot pri štirijedrni. Torej, če imate program, ki je samo enonitni, je dvojedrni procesor dejansko učinkovitejši. Če pa lahko vaša programska oprema uporablja vse štiri procesorje, bo štirijedrni procesor dejansko približno 70 odstotkov hitrejši od tega dvojedrnega procesorja.

Zaključki

Večinoma je bolje, če imate procesor z večjim številom jeder programsko opremo in tipični primeri uporabe ga 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 izkoristi tako malo nespecializirane programske opreme. Najboljši primer uporabe procesorjev z velikim številom jeder se nanaša na stroje, ki opravljajo zapletene naloge, kot so namizno urejanje videa, nekatere oblike vrhunskih iger ali zapleteni znanstveni in matematični programi.

Preverite naše misli o Kako hiter računalnik potrebujem? da bi dobili boljšo predstavo o tem, kateri tip procesorja najbolje ustreza vašim računalniškim potrebam.