Dodavanje nekoliko jezgri jednom procesoru nudi značajne prednosti zahvaljujući multitasking prirodi modernih operativnih sustava. Međutim, za neke svrhe, postoji gornja praktična granica koliko jezgri donosi poboljšanja u odnosu na cijenu njihovog dodavanja.
Napredak višejezgrene tehnologije
Procesori s više jezgri dostupni su u osobnim računalima od ranih 2000-ih. Dizajn s više jezgri bavio se problemom procesora koji su dostigli gornju granicu svojih fizičkih ograničenja u pogledu brzine takta i toga koliko učinkovito se mogu hladiti, a da i dalje održavaju točnost. Prelaskom na dodatne jezgre na jednom procesorskom čipu, proizvođači su izbjegli probleme s radnim taktom učinkovitim umnožavanjem količine podataka s kojima CPU može rukovati.
Kad su izvorno objavljeni, proizvođači su nudili samo dvije jezgre u jednom CPU-u, ali sada postoje opcije za četiri, šest pa čak i 10 ili više. Osim dodavanja jezgri, simultane višenitne tehnologije-kao što je Intelov Hyper-Threading-mogu udvostručiti virtualne jezgre koje operativni sustav vidi.
Procesi i niti
Proces je specifičan zadatak, poput programa, koji se izvodi na računalu. Proces se sastoji od jedne ili više niti.
Nit je jednostavno jedan tok podataka iz programa koji prolazi kroz procesor na računalu. Svaka aplikacija generira vlastitu jednu ili više niti, ovisno o tome kako radi. Bez multitaskinga, procesor s jednom jezgrom može obraditi samo jednu nit u isto vrijeme, tako da se sustav brzo prebacuje između niti kako bi obradio podatke na naizgled istodoban način.
Prednost postojanja više jezgri je ta da sustav može rukovati s više od jedne niti istovremeno. Svaka jezgra može obraditi zaseban tok podataka. Ova arhitektura uvelike povećava performanse sustava koji pokreće istodobne aplikacije. Budući da poslužitelji imaju tendenciju pokretanja mnogo istodobnih aplikacija u određenom trenutku, tehnologija je izvorno razvijena za poslovne korisnike - ali kako su osobna računala postajala sve složenija i multitasking povećan, i oni su imali koristi od dodatnih jezgri.
Međutim, svakim procesom upravlja primarna nit koja može zauzimati samo jednu jezgru. Stoga je relativna brzina programa poput igre ili video renderera teško ograničena sposobnošću jezgre koju primarna nit troši. Primarna nit može apsolutno delegirati sekundarne niti drugim jezgrama - ali igra ne postaje dvostruko brža kada udvostručite jezgre. Stoga nije neuobičajeno da igra u potpunosti maksimalno iskoristi jednu jezgru (primarna nit), ali vidi samo djelomičnu iskorištenost drugih jezgri za sekundarne niti. Nikakvo udvostručenje jezgre ne može zaobići činjenicu da je primarna jezgra limitator brzine za vašu aplikaciju, a aplikacije koje su osjetljive na ovu arhitekturu imat će bolje rezultate od aplikacija koje nisu.
Ovisnost o softveru
Iako koncept višejezgrenih procesora zvuči privlačno, postoji jedno veliko upozorenje za ovu tehnologiju. Da biste mogli uživati u pravim prednostima višestrukih procesora, softver koji radi na računalu mora biti napisan tako da podržava višenitnost. Bez softvera koji podržava takvu značajku, niti će se primarno izvoditi kroz jednu jezgru, čime se smanjuje ukupna učinkovitost računala. Uostalom, ako može raditi samo na jednoj jezgri u četverojezgrenom procesoru, možda bi zapravo bilo brže pokrenuti ga na dvojezgrenom procesoru s višim osnovnim taktovima.
Svi glavni trenutni operativni sustavi podržavaju mogućnost višenitnosti. Ali višenitnost također mora biti upisana u aplikacijski softver. Podrška za višenitnost u potrošačkom softveru poboljšana je tijekom godina, ali za mnoge jednostavne programe podrška za višenitnost još uvijek nije implementirana zbog složenosti izrade softvera. Na primjer, program za poštu ili web-preglednik vjerojatno neće imati velike koristi od multithreadinga kao što bi to učinio program za uređivanje grafike ili videa, gdje računalo obrađuje složene izračune.
Dobar primjer za objašnjenje ove tendencije je pogled na tipičnu računalnu igru. Većina igara zahtijeva neki oblik mehanizma za renderiranje za prikaz onoga što se događa u igri. Osim toga, neka vrsta umjetne inteligencije kontrolira događaje i likove u igrici. S jednom jezgrom, oba se zadatka izvršavaju prebacivanjem između njih. Ovaj pristup nije učinkovit. Kad bi sustav imao više procesora, renderiranje i AI mogli bi raditi na zasebnoj jezgri - idealna situacija za višejezgreni procesor.
Je 8 > 4 > 2?
Odlazak dalje od dvije jezgre donosi mješovite prednosti, s obzirom na to da odgovor za bilo kojeg kupca računala ovisi o softveru koji on ili ona obično koristi. Na primjer, mnoge klasične igre još uvijek nude male razlike u performansama između dvije i četiri jezgre. Čak i moderne igre - od kojih neke navodno zahtijevaju ili podržavaju osam jezgri - možda neće raditi bolje od šesterojezgrenog stroja s višom osnovnom brzinom takta, s obzirom na to da učinkovitost primarne niti upravlja učinkovitošću višenitnih performansi.
S druge strane, program za kodiranje videa koji transkodira video vjerojatno će imati velike prednosti budući da se renderiranje pojedinačnih okvira može proslijediti različitim jezgrama, a zatim softver složiti u jedan tok. Stoga će imati osam jezgri čak i korisnije nego imati četiri. U biti, primarna nit ne treba relativno bogate resurse; umjesto toga, može prepustiti naporan rad nitima kćerima koje maksimalno iskorištavaju jezgre procesora.
Brzine sata
Općenito govoreći, veća brzina takta znači brži procesor. Brzine takta postaju nejasnije kada uzmete u obzir brzine u odnosu na više jezgri jer procesori krckaju više podatkovnih niti zahvaljujući dodatnim jezgrama, ali će svaka od tih jezgri raditi nižim brzinama zbog toplinskih ograničenja.
Na primjer, dvojezgreni procesor može podržavati osnovne brzine takta od 3,5 GHz za svaki procesor, dok četverojezgreni procesor može raditi samo na 3,0 GHz. Gledajući samo jednu jezgru na svakom od njih, dvojezgreni procesor je 14 posto brži nego četverojezgreni. Dakle, ako imate program koji je samo jednonitni, dvojezgreni procesor je zapravo učinkovitiji. Pa opet, ako vaš softver može koristiti sva četiri procesora, tada će četverojezgreni procesor zapravo biti oko 70 posto brži od tog dvojezgrenog procesora.
Zaključci
Uglavnom je bolje imati procesor s većim brojem jezgri ako to vaš softver i uobičajeni slučajevi upotrebe podržavaju. Uglavnom će dvojezgreni ili četverojezgreni procesor biti više nego dovoljna snaga za osnovnog korisnika računala. Većina potrošača neće vidjeti nikakve opipljive koristi od prelaska preko četiri procesorske jezgre jer tako malo nespecijaliziranog softvera to iskorištava. Najbolji slučaj upotrebe procesora s velikim brojem jezgri odnosi se na strojeve koji obavljaju složene zadatke kao što je uređivanje videa na radnoj površini, neki oblici vrhunskih igara ili komplicirani znanstveni i matematički programi.
Provjerite naša razmišljanja o tome koliko mi brzo osobno računalo treba? kako biste dobili bolju ideju o tome koja vrsta procesora najbolje odgovara vašim računalnim potrebama.