Cum funcționează

Procesorul: cum execută instrucțiuni și ce sunt nucleele

Cum funcționează procesorul: ciclul instrucțiunii, frecvența, nucleele, memoria cache și de ce mai mulți gigahertzi nu înseamnă mereu mai multă viteză.

De Publicația LumeaTehnologiei7 min de citit
Procesor de calculator montat pe placa de bază, lângă ventilatorul de răcire, văzut de aproape
Cuprins 8 secțiuni

Procesorul, numit și CPU (Central Processing Unit), este componenta care execută instrucțiunile programelor, una câte una, de miliarde de ori pe secundă. Orice faci pe un calculator sau pe un telefon, de la deschiderea unei poze până la un joc, se reduce la o înșiruire uriașă de pași mici pe care procesorul îi parcurge fără să obosească.

Mulți oameni compară procesoarele după un singur număr, frecvența în gigahertzi. Cifra spune ceva, dar nu totul. Mai jos vezi ce face concret un procesor, cum arată ciclul unei instrucțiuni, ce sunt nucleele și memoria cache și de ce două procesoare cu aceeași frecvență pot avea performanțe foarte diferite.

Ce face, de fapt, un procesor?

Un procesor citește instrucțiuni din memorie și le execută în ordine, fiecare instrucțiune fiind un pas elementar: adună două numere, compară două valori, mută o dată dintr-un loc în altul. Nu „înțelege” programul în ansamblu; urmează mecanic lista de pași. Impresia de inteligență vine din viteză și din faptul că programatorii au aranjat pașii într-o ordine utilă.

Instrucțiunile sunt coduri binare, șiruri de 0 și 1, specifice fiecărei familii de procesoare. Cele două familii mari întâlnite azi sunt x86 (calculatoare clasice) și ARM (telefoane, tablete și tot mai multe laptopuri). Un program compilat pentru una nu rulează direct pe cealaltă, pentru că „vorbesc” seturi diferite de instrucțiuni. Dacă vrei să înțelegi cum ajunge textul scris de un programator să devină aceste coduri, citește cum devine codul sursă un program.

Cum arată ciclul unei instrucțiuni?

Fiecare instrucțiune trece prin patru etape repetate fără oprire: aducerea, decodarea, execuția și scrierea rezultatului. Procesorul aduce instrucțiunea din memorie, o decodează ca să afle ce are de făcut, o execută în unitatea potrivită și păstrează rezultatul într-un registru, o zonă minusculă de memorie aflată chiar în interiorul lui.

EtapăCe se întâmplăAnalogie
Aducere (fetch)se citește următoarea instrucțiunecitești rândul următor dintr-o rețetă
Decodarese stabilește operația și datele necesareînțelegi ce ți se cere
Execuțieunitatea aritmetică face calcululamesteci ingredientele
Scriererezultatul merge într-un registru sau în memoriepui amestecul într-un castron

Procesoarele moderne nu așteaptă să termine o instrucțiune ca s-o înceapă pe următoarea. Funcționează ca o linie de asamblare, numită pipeline: în timp ce una se execută, alta se decodează și a treia se aduce din memorie. Așa se obține un număr foarte mare de instrucțiuni finalizate pe secundă, chiar dacă fiecare, luată separat, durează câteva cicluri.

Ce înseamnă frecvența de ceas, în gigahertzi?

Frecvența arată câte cicluri de ceas face procesorul într-o secundă; un procesor de 3 GHz face aproximativ trei miliarde de cicluri pe secundă. Ceasul este un semnal regulat care sincronizează toate componentele, ca o metronomă pentru o orchestră.

Totuși, frecvența nu măsoară direct munca utilă. Contează și câte instrucțiuni termină procesorul într-un singur ciclu, iar acest lucru depinde de arhitectura lui. Un procesor mai nou, la frecvență mai mică, poate depăși unul mai vechi, la frecvență mai mare, pentru că folosește mai bine fiecare ciclu. De aceea compararea a două modele doar după gigahertzi duce adesea la alegeri greșite.

Atenție: frecvența unui procesor nu este constantă. Când are puțin de lucru, scade ca să economisească energie; când se încălzește prea tare, scade din nou ca să se protejeze.

Ce sunt nucleele și firele de execuție?

Un nucleu este o unitate completă de calcul, capabilă să execute singură un flux de instrucțiuni, iar un procesor modern are mai multe, de la două la zeci. Cu patru nuclee, procesorul poate rula în paralel patru sarcini independente, de exemplu browserul, un editor de text, muzica și o actualizare din fundal.

Mai mult nu înseamnă automat mai rapid. Un program care nu a fost scris să împartă munca pe mai multe nuclee va folosi în principal unul singur. Jocurile și programele de editare video profită bine de nucleele multiple; o aplicație simplă de birou, mai puțin. Unele procesoare adaugă și firele de execuție (threads): un nucleu fizic se prezintă sistemului ca două nuclee logice și își umple timpii morți alternând între două fluxuri de lucru.

Placă de circuit cu componente lipite și trasee metalice, fotografiată de aproape

De ce contează memoria cache?

Memoria cache este o cantitate mică de memorie extrem de rapidă, aflată în procesor, care păstrează datele și instrucțiunile folosite cel mai des. Motivul e simplu: procesorul lucrează mult mai repede decât memoria RAM din care primește datele. Fără cache, ar sta cea mai mare parte a timpului în așteptare.

Cache-ul are de obicei trei niveluri, notate L1, L2 și L3. L1 este cel mai mic și cel mai rapid, dedicat fiecărui nucleu; L3 este mai mare, mai lent și, de regulă, comun nucleelor. Procesorul caută mai întâi în L1, apoi în L2 și L3, iar abia la urmă în RAM. Diferența dintre RAM și stocarea pe termen lung e explicată separat în articolul despre RAM și SSD.

Ce aduce în plus placa video?

Procesorul grafic (GPU) are sute sau mii de nuclee mici, potrivite pentru același calcul repetat pe multe date deodată, cum sunt pixelii unei imagini. Procesorul principal are puține nuclee, dar flexibile, bune la sarcini variate. Cele două se completează, iar în aplicații de învățare automată munca grea revine de obicei plăcii grafice.

De ce se încălzește procesorul și cum se răcește?

Procesorul se încălzește pentru că fiecare comutare a tranzistorilor consumă energie care se transformă în căldură. Cu cât lucrează mai repede și cu cât are mai mult de făcut, cu atât produce mai multă. Un procesor modern conține miliarde de tranzistori, iar căldura strânsă pe o suprafață cât unghia mică trebuie evacuată constant.

De aceea laptopurile au ventilatoare și țevi de cupru, iar calculatoarele de birou au radiatoare și pastă termoconductoare între procesor și răcitor. Telefoanele nu au ventilator și își reduc singure performanța când se încing, ceea ce se simte ca o încetinire bruscă în jocuri lungi. Dacă ți se pare că dispozitivul tău consumă mult și se descarcă repede, modul în care funcționează bateria litiu-ion explică de ce căldura îi scurtează viața.

Cum alegi un procesor fără să te încurci în cifre?

Alege după ce faci de fapt cu dispozitivul, nu după cea mai mare cifră de pe cutie. Pentru navigare, documente și filme, orice procesor actual de gamă medie ajunge. Pentru jocuri, editare video sau programare, contează numărul de nuclee, cache-ul și generația procesorului, iar placa video poate avea un rol mai mare decât CPU-ul.

În practică, comparațiile independente de performanță, făcute pe aceleași programe, spun mai mult decât orice specificație tehnică. Privește și consumul de energie: pe un laptop, un procesor eficient înseamnă autonomie mai bună și zgomot mai mic. Imaginea de ansamblu a modului în care toate piesele digitale se leagă între ele o găsești în articolul despre tehnologia digitală, de la biți la aplicații.

Pe aceeași temă, citește și nFC-ul: cum funcționează plata contactless cu telefonul.

Întrebări frecvente

Mai mulți gigahertzi înseamnă un procesor mai rapid?

Nu neapărat. Frecvența contează, dar la fel de mult contează arhitectura, numărul de nuclee și memoria cache. Două procesoare din generații diferite pot avea performanțe foarte diferite la aceeași frecvență.

Câte nuclee are nevoie un utilizator obișnuit?

Pentru uz obișnuit sunt suficiente patru până la șase nuclee. Mai multe ajută la editare video, randare 3D sau rularea mai multor programe grele în același timp.

Ce este diferența dintre procesor și placa video?

Procesorul este bun la sarcini variate și secvențiale, cu puține nuclee puternice. Placa video are foarte multe nuclee simple, potrivite pentru calcule repetitive pe volume mari de date, cum sunt imaginile sau modelele de inteligență artificială.

De ce încetinește telefonul când se încălzește?

Procesorul își reduce frecvența ca să nu se deterioreze din cauza căldurii. Fenomenul se numește limitare termică și apare des în jocuri sau la încărcat, mai ales vara.

Contează dacă procesorul este x86 sau ARM?

Contează pentru compatibilitatea programelor și pentru consum. ARM este cunoscut pentru eficiența energetică, iar x86 are o bibliotecă foarte mare de programe, dar emulările și versiunile adaptate reduc tot mai mult diferențele în folosirea de zi cu zi.

↑