Unitățile centrale de procesare (CPU) sunt creierul computerelor noastre. Ei procesează tot ceea ce facem zilnic, de la deschiderea unei aplicații până la vizionarea unui film. Dar ce este mai exact un procesor? Cum functioneazã? Și care este diferența dintre procesoare și vCPU-urile din ce în ce mai populare?
Înțelegerea creierului computerelor
Primele calculatoare electronice au fost create la începutul anilor 1800, conform ghidului complet de istorie publicat de G2. Cu toate acestea, aceste computere erau mari și scumpe și puteau fi folosite doar de matematicieni și oameni de știință instruiți.
Charles Babbage este creditat pentru inventarea primei mașini de calcul, Difference Engine, care ar putea fi programată pentru a efectua orice calcul care ar putea fi făcut manual. Cu toate acestea, proiectul Difference Engine nu a fost niciodată finalizat din cauza lipsei de finanțare, conform Muzeului de Istorie a Calculatoarelor.
În 1937, Babbage a menționat pentru prima dată motorul analitic, care avea să devină primul computer mecanic de uz general din lume. „Motorul analitic a încorporat toate elementele unui computer modern: o unitate logică aritmetică, flux de control sub formă de ramificare și bucle condiționate și memorie integrată.” (
Note electronice).O componentă cheie a computerului de astăzi este procesorul sau unitatea centrală de procesare. CPU este responsabil pentru executarea instrucțiunilor care îi sunt date de software, cum ar fi un sistem de operare sau o aplicație. În termeni profani, te poți gândi la CPU ca la creierul computerului tău. CPU este alcătuit din două părți principale: unitatea de control și unitatea logică aritmetică (ALU). Dacă aceste abrevieri vă încurcă, consultați prezentare generală a modului în care diferă APU-urile, CPU-urile și GPU-urile.
Unitatea de control este responsabilă pentru preluarea instrucțiunilor din memorie, decodificarea acestora și apoi trimiterea lor către unitatea logică aritmetică pentru a fi executate. ALU efectuează operații aritmetice și logice asupra datelor stocate în registre, care sunt unități de stocare interne în interiorul CPU.
Modern CPU-urile conțin și un cache, care este o cantitate mică de memorie de mare viteză care stochează instrucțiuni și date utilizate frecvent. Cache-urile sunt împărțite în niveluri; Cache-ul de nivel 1 (L1) este încorporat în matrița procesorului în sine, cache-ul de nivel 2 (L2) se află pe un cip separat, aproape de CPU și memoria cache de nivel 3 (L3) se află mai departe de procesor pe propriul cip sau chiar pe propriul circuit bord.
CPU vs. vCPU
Odată cu creșterea serviciilor cloud a venit și apariția unității centrale virtuale de procesare, sau pe scurt vCPU. TechTarget definește vCPU ca „o unitate fizică centrală de procesare (CPU) care este atribuită unei mașini virtuale (VM).”
Mașinile virtuale sunt în principiu sisteme de operare autonome care rulează în interiorul unui alt sistem de operare ca și cum ar fi aplicații. VM-urile sunt folosite pentru o varietate de scopuri, cum ar fi testarea de software nou într-un mediu sigur, rularea mai multor sisteme de operare (de exemplu, Windows și Linux) pe același computer sau consolidarea mai multor servere fizice într-un singur server pentru a economisi spațiu și a reduce cheltuieli.
Deci, un vCPU este o implementare software a unui CPU; nu există fizic în interiorul computerului dvs., așa cum o face un CPU adevărat. Hypervisorul, care este software-ul care creează și gestionează VM-uri, atribuie vCPU-urilor mașinii virtuale. Fiecare vCPU este văzut de sistemul de operare din interiorul VM ca un adevărat nucleu CPU. Vezi noastre explicația hipervizorilor pentru a afla mai multe.
Cu toate acestea, deoarece vCPU-urile sunt bazate pe software, ele nu sunt la fel de eficiente ca procesoarele reale. Prin urmare, este important să specificați câte nuclee pe care le are procesorul tău când cumpărați un computer (de exemplu, „quad-core” înseamnă patru nuclee). Aceeași regulă se aplică atunci când alegeți un server privat virtual (VPS) sau un plan de găzduire pentru server dedicat.
Principala diferență dintre procesoare și vCPU este că procesoarele sunt bazate pe hardware, în timp ce vCPU-urile sunt bazate pe software. Aceasta înseamnă că procesoarele există fizic în interiorul computerului, în timp ce vCPU-urile nu există; în schimb, sunt create de hipervizori atunci când este necesar. Din cauza acestei diferențe de implementare, CPU-urile sunt mult mai eficiente decât vCPU-urile; nu au costul general asociat cu rularea în software.
De la începutul anilor 2000, vCPU-urile au devenit din ce în ce mai populare, deoarece sunt mai ieftine și mai ușor de atribuit decât procesoarele fizice; cu toate acestea, dacă sunteți în căutarea performanței, cel mai bine este să utilizați un computer cu mai multe nuclee CPU, deoarece fiecare nucleu poate procesa instrucțiuni în mod independent.
Miezuri vs. Fire
Un CPU poate avea unul sau mai multe nuclee, care este unitatea de procesare care efectuează sarcini la un moment specificat. Nucleul va menține ordinea de execuție a sarcinilor, registrele și memoria cache (dacă este cazul) și va efectua operațiuni prin ALU. CPU controlează nucleele, dar nucleul execută fiecare proces software sau fir pe care îl programează sistemul de operare. Un fir este o secvență independentă de instrucțiuni care poate fi procesată de un procesor.
Pot exista mai multe fire de execuție în cadrul aceluiași proces și pot partaja același spațiu de memorie. Acest lucru le permite să comunice între ele mai ușor decât dacă ar rula în cadrul unor procese separate. Threadurile sunt adesea folosite pentru a îmbunătăți performanța aplicațiilor multithreaded, permițând diferitelor părți ale programului să ruleze simultan pe diferite nuclee sau procesoare.
Termenul „fir” a fost folosit în terminologia de calcul de mulți ani; cu toate acestea, abia la începutul anilor 2000 a fost introdus în procesoare suportul la nivel hardware pentru fire. Acest lucru a permis ca mai multe fire să fie executate simultan pe nuclee separate. Anterior, pe un singur nucleu putea fi executat un singur thread la un moment dat, indiferent de câte nuclee erau prezente în procesor. Procesoarele multicore sunt acum obișnuite, iar majoritatea sistemelor de operare oferă un anumit nivel de suport pentru rularea programelor ca fire multiple.
Încheierea problemelor de bază
Pentru a rezuma, CPU-urile sunt creierele bazate pe hardware ale computerelor noastre, în timp ce omologul lor virtual, vCPU-urile, sunt bazate pe software și sunt create de hipervizori pentru a rula în mașinile virtuale. Nucleele sunt unitățile de procesare bazate pe hardware dintr-un CPU, în timp ce firele sunt instrucțiunile bazate pe software care pot fi procesate de un procesor.
Threadurile pot fi executate simultan pe nuclee separate, ceea ce permite diferitelor părți ale programului să ruleze în același timp. Acest lucru poate îmbunătăți performanța hardware, deoarece sarcinile multiple pot fi procesate simultan și nu secvențial.
Acum că înțelegeți diferența dintre procesoare, vCPU, nuclee și fire de execuție, puteți lua o decizie informată atunci când alegeți un computer sau un server. Dacă sunteți în căutarea performanței, cel mai bine este să alegeți un computer cu mai multe nuclee CPU, deoarece fiecare nucleu poate procesa instrucțiuni în mod independent. Cu toate acestea, dacă sunteți în căutarea unei soluții rentabile, vCPU-urile pot fi calea de urmat.