Elemente de bază ale procesorului: Ce sunt nucleele, Hyper-Threading și CPU-urile multiple?

Publicat: 2023-03-19
Un procesor fără radiator.
Jason Fitzpatrick / How-To Geek
Un singur procesor modern are de obicei mai multe nuclee. Fiecare nucleu este propriul său procesor. Multi-threadingul simultan, numit Hyper-Threading de Intel, împarte fiecare nucleu fizic în două procesoare logice. Fiecare procesor logic permite sistemului dvs. de operare să execute două sarcini separate. De exemplu, un procesor cu opt nuclee apare ca un singur procesor cu 8 nuclee și 16 procesoare logice.

Unitatea centrală de procesare (CPU) din computerul dumneavoastră face munca de calcul – rulează programe, practic. Dar procesoarele moderne oferă caracteristici precum mai multe nuclee și hyper-threading. Unele PC-uri folosesc chiar mai multe procesoare. Vom explica diferențele și modul în care funcționează.

Cuprins

Ce sunt Hyper-Threading și Multithreading simultan?
Ce sunt nucleele CPU?
Sunt toate configurațiile CPU cu mai multe nuclee la fel?
Dar mai multe procesoare?

Ce sunt Hyper-Threading și Multithreading simultan?

Multithreading simultan (numit Hyper-Threading de Intel) permite unui singur procesor să ruleze mai multe sarcini simultan, mai degrabă decât secvenţial, ceea ce îmbunătăţeşte performanţa în majoritatea situaţiilor.

Hyper-threading a fost prima încercare a Intel de a aduce calculul paralel la PC-urile consumatorilor încă din 2002. Pentium-ul 4 din ziua de azi prezenta doar un singur nucleu CPU, astfel încât putea îndeplini doar o sarcină la un moment dat - chiar dacă ar fi putut comuta între sarcini suficient de repede încât părea a fi multitasking. Hyper-Threading – numit simultan multithreading (SMT) pe AMD și alte procesoare non-Intel – a încercat să compenseze asta.

Notă: strict vorbind, doar procesoarele Intel au hyper-threading, totuși, termenul este uneori folosit colocvial pentru a se referi la orice fel de multithreading simultan.

Un singur nucleu de CPU fizic cu hyper-threading sau multithreading simultan apare ca două procesoare logice pentru un sistem de operare. Procesorul este încă un singur procesor, deci este un pic un truc. În timp ce sistemul de operare vede două procesoare pentru fiecare nucleu, hardware-ul CPU real are doar un singur set de resurse de execuție pentru fiecare nucleu. CPU-ul pretinde că are mai multe nuclee decât are și își folosește propria logică pentru a accelera execuția programului. Cu alte cuvinte, sistemul de operare este păcălit să vadă două procesoare pentru fiecare nucleu real al procesorului.

Hyper-threading permite celor două nuclee logice ale procesorului să partajeze resursele fizice de execuție. Acest lucru poate accelera oarecum lucrurile - dacă un CPU virtual este blocat și așteaptă, celălalt CPU virtual își poate împrumuta resursele de execuție. Hyper-threading-ul vă poate accelera sistemul, dar nu este nici pe departe la fel de bun ca a avea nuclee suplimentare reale.

Un laptop alimentat cu Intel.
Hannah Stryker / How-To Geek

Din fericire, hyper-threadingul este acum doar un bonus. În timp ce procesoarele de consum inițiale cu hyper-threading aveau doar un singur nucleu care se preface ca mai multe nuclee, procesoarele moderne au acum atât mai multe nuclee, cât și tehnologie hiper-threading sau SMT. CPU hexa-core cu hyper-threading apare ca 12 nuclee pentru sistemul de operare, în timp ce procesorul octa-core cu hyper-threading apare ca 16 nuclee. Hyper-threading nu înlocuiește nucleele suplimentare, dar un procesor dual-core cu hyper-threading ar trebui să funcționeze mai bine decât un procesor dual-core fără hyper-threading.

Ce sunt nucleele CPU?

Inițial, procesoarele aveau un singur nucleu. Asta însemna că procesorul fizic avea o singură unitate centrală de procesare pe el. Pentru a crește performanța, producătorii au adăugat „nuclee” suplimentare sau unități centrale de procesare. Un procesor dual-core are două unități centrale de procesare, astfel încât sistemul de operare apare ca două procesoare. Un procesor cu două nuclee, de exemplu, ar putea rula două procese diferite în același timp. Acest lucru vă accelerează sistemul, deoarece computerul poate face mai multe lucruri simultan.

Spre deosebire de hyper-threading, nu există trucuri aici - un procesor dual-core are literalmente două unități centrale de procesare pe cipul CPU. Un procesor quad-core are patru unități centrale de procesare, un procesor octa-core are opt unități centrale de procesare și așa mai departe.

Acest lucru ajută la îmbunătățirea dramatică a performanței, menținând în același timp unitatea CPU fizică suficient de mică pentru a se potrivi într-un singur soclu. Trebuie doar să existe un singur soclu CPU cu o singură unitate CPU introdusă în el - nu patru socket CPU diferite cu patru CPU-uri diferite, fiecare având nevoie de propria putere, răcire și alt hardware. Există mai puțină latență, deoarece nucleele pot comunica mai rapid, deoarece toate sunt pe același cip.

Managerul de activități Windows arată acest lucru destul de bine. Aici, de exemplu, puteți vedea că acest sistem are un singur procesor (socket) și 8 nuclee. Multithreadingul simultan face ca fiecare nucleu să arate ca două procesoare pentru sistemul de operare, deci arată 16 procesoare logice.

Manager de activități pe Windows 10 cu un procesor cu 8 nuclee.

Sunt toate configurațiile CPU cu mai multe nuclee la fel?

Nu, nu toate configurațiile CPU multi-core sunt la fel. Există două filozofii de design distincte pe care le veți întâlni atunci când vă uitați la procesoarele multi-core.

Un tip de configurație - și genul care a fost obișnuit în PC-urile consumatorilor de ani de zile - utilizează mai multe nuclee identice. În aceste configurații, dacă aveți un sistem octa-core, toate cele opt procesoare sunt procesoare de înaltă performanță și toate sunt optimizate în același mod.

Celălalt folosește un amestec de nuclee diferite (uneori numită arhitectură centrală eterogenă). De obicei, aceste setări vor folosi două tipuri distincte: nuclee de performanță și nuclee de eficiență.

Schema de denumire precisă variază puțin între companii și aplicații, dar ideea de bază este aceeași. Nucleele de eficiență sunt rezervate pentru sarcini de fundal și cu cerere redusă. Aceste nuclee consumă mai puțină energie. Nucleele de performanță sunt exact opusul. Acestea consumă mult mai multă energie, dar oferă performanțe mult mai bune în sarcini solicitante, cum ar fi jocurile. Combinația are ca rezultat performanță atunci când aveți nevoie, dar o utilizare mai redusă a energiei de fundal.

LEGATE: Ce este subvoltarea unui GPU sau CPU și când ar trebui să o faceți?

Această configurație multi-core eterogenă (numită big.LITTLE de către ARM) a devenit mai întâi populară cu telefoanele mobile și alte dispozitive mobile datorită economiilor de energie pe care le ofereau. Când aveți nevoie ca telefonul să țină toată ziua, nu are sens să vă descărcați bateria în mod inutil, rulând tot timpul un nucleu de mare putere. Intel a introdus ideea și în procesoarele desktop mainstream, începând cu procesoarele sale Alder Lake.

Dar mai multe procesoare?

Majoritatea computerelor au doar un singur procesor. Acel singur CPU poate avea mai multe nuclee sau tehnologie hyper-threading - dar este încă o singură unitate CPU fizică introdusă într-un singur soclu CPU de pe placa de bază.

RELATE: De ce nu puteți utiliza viteza de ceas a procesorului pentru a compara performanța computerului

Înainte de apariția procesoarelor hiper-threading și multi-core, oamenii au încercat să adauge putere de procesare suplimentară computerelor adăugând procesoare suplimentare. Acest lucru necesită o placă de bază cu mai multe socluri CPU. De asemenea, placa de bază are nevoie de hardware suplimentar pentru a conecta acele socluri CPU la RAM și la alte resurse. Există o mulțime de cheltuieli generale în acest tip de configurare. Există o latență suplimentară dacă procesoarele trebuie să comunice între ele, sistemele cu procesoare multiple consumă mai multă energie, iar placa de bază are nevoie de mai multe prize și hardware.

Un server cu mai multe procesoare.
Justin Duino / How-To Geek

Sistemele cu procesoare multiple nu sunt foarte frecvente în rândul computerelor de acasă de astăzi. Chiar și un desktop de gaming de mare putere cu mai multe plăci grafice va avea, în general, doar un singur procesor. Veți găsi mai multe sisteme CPU printre supercomputere, servere, unele stații de lucru și sisteme high-end similare care au nevoie de cât de multă putere de strângere a numărului pot obține.

Cu cât un computer are mai multe procesoare sau nuclee, cu atât poate face mai multe lucruri simultan, contribuind la îmbunătățirea performanței la majoritatea sarcinilor. Majoritatea computerelor au acum procesoare cu mai multe nuclee - cea mai eficientă opțiune despre care am discutat. Veți găsi chiar procesoare cu mai multe nuclee pe smartphone-uri și tablete moderne.

Viteza de ceas pentru un procesor și IPC-ul acestuia (instrucțiuni pe ciclu) era suficientă atunci când se compară performanța. Lucrurile nu mai sunt atât de simple. Un procesor care oferă mai multe nuclee și hyper-threading poate funcționa semnificativ mai bine decât un procesor cu aceeași viteză care nu are hyper-threading. Iar PC-urile cu procesoare multiple pot avea un avantaj și mai mare. Toate aceste funcții sunt concepute pentru a permite computerelor să ruleze mai ușor mai multe procese în același timp - crescându-ți performanța atunci când faci multitasking sau sub cerințele aplicațiilor puternice, cum ar fi codificatoarele video și jocurile moderne.

Desigur, un număr mai mare de nuclee nu este atât de important în fiecare situație. Sistemele de operare moderne sunt destul de inteligente în a-și împărți sarcinile între mai multe nuclee, dar nu toate programele sunt atât de bine optimizate. În multe cazuri (în special în jocuri), performanța este limitată în primul rând de viteza maximă a unui nucleu individual, mai degrabă decât de numărul total de nuclee pe care le aveți. Așa că nu vă grăbiți să cumpărați un procesor Threadripper cu 64 de nuclee crezând că vă va aduce un miliard de FPS în Call of Duty - nu va face asta.