Numărul de nuclee a procesoarelor încorporate în calculatoare, laptopuri dar și în diferitele device-uri au devenit focusul principal în momentul achiziționării pentru cumpărători, alegând pe principiul mai multe nuclee înseamnă mai multe putere. Oare însă este acest lucru adevărat în toate cazurile? În continuare vom încerca să vă dăm un răspuns la acesată întrebare.
Începutul erei multi-core
Intel a lansat procesorul Pentium 4 HT în 2002, cu tehnologia Hyper-Threading. Deși procesorul în sine încă avea tot un singur nucleu, acesta a reușit să ”păcălească” sistemul de operare să vadă 2 nuclee logice, folosindu-se de thread-urile pentru a-și termina sarcinile. Chiar dacă acest procesor avea un singur nucleu, acesta era practic primul procesor care putea să facă 2 calcule simultan, în paralel.
Astăzi hyper-threading-ul este doar un bonus, deoarece atât Intel cât și AMD a început să se axeze pe producția procesoarelor cu mai multe nuclee fizice reale. La început, au apărut procesoarele cu două nuclee, însă astăzi procesoarele de 4 sau chiar 8 nuclee nu sunt deloc rare, existând și procesoare de până la 28 de nuclee fizice disponibile– desigur acestea nu sunt destinate pentru calculatoare personale, ci mai degrabă pentru servere.
Cum funcționează
Procesoarele sunt unitățile centrale ale calculatoarelor și device-urilor, ale căror scop este să asigure calculațiile necesare rulării programelor. În trecut, un singur procesor cu un singur nucleu era capabil să realizeze doar o singură sarcină deodată. În timp însă, acestea au devenit prea lente, așadar a fost necesară dezvoltarea procesoarelor multi-core.
Procesoarele cu mai multe nuclee lucrează pe principiul de paralelizare. Cu alte cuvinte, acestea pot să împartă sarcinile iar pe urmă să le rezolve în paralel. Astfel, putem trage ușor concluzia cu cât este mai mare de numărul de nuclee încorporate într-un procesor, cu atât devine acesta mai puternic. Din păcate însă, în realitate există numeroase sarcini și aplicții de o complexitate variată, care nu pot fi divizate.
De exemplu aplicațiile de editare video, aplicații meteorologice, etc. unde se lucrează cu foarte multe date numerice, paralelizarea este realizată foarte ușor, astfel nucleele multiple ale procesorului sunt folosite cu eficiență maximă. Sunt multe cazuri însă, unde sarcinile nu pot fi paralelizate, una dintre cele mai importante categorii dintre acestea fiind jocurile.
Cum în marea majoritatea cazurilor placa video se ocupă doar de redarea imaginii, procesorul va trebui să se ocupe de celelalte sarcini: inteligența artificială, input-ul jucătorilor, respectiv să comunice plăcii video ce anume să transmită pe monitoare.
Datorită complexității acestor sarcini cum ar fi procesarea de inteligență artificială și a altor forme de ”game logic” și a faptului că aceste intrucțiuni de cod trebuie să fie într-o anumită ordine sau conform input-ului jucătorului, este foarte greu, sau imposibil, de paralelizat sarcinile.
Mai mult, foarte multe jocuri sunt dezvoltate pe o anumită platformă, un ”game engine” deja existent, și nu dezvoltate de la 0, astfel dezvoltatorilor este aproape imposibil să divizeze sarcinile și să optimizeze codul pentru a fi eficient pe mai multe nuclee. Deși există câteva jocuri care necesită o imensă putere de calcul din partea CPU, acestea nu vor solicita toate nuclee simultan (sau le vor solicita simultan într-un mod minim). Tocmai din motivele amintite anterior, un procesor cu 4 nuclee este arhisuficient pentru gaming. Totodată este mult mai rentabil ca atenția să fie îndreptată către capacitatea individuală de procesare a nucleelor, respectiv către alte componente ce pot influența jocul și nu către un număr cât mai ridicat de nuclee. Motivul se datorează faptului că pe urma unei configurații echilibrate, utilizatorii vor beneficia de un raport preț / preformanță net superior, comparativ cu un sistem de calcul neechilibrat al cărui procesor are în dotare un număr exagerat de nuclee.