Središnje procesorske jedinice (CPU) su mozgovi naših računala. Obrađuju sve što radimo svakodnevno, od otvaranja aplikacije do gledanja filma. Ali što je zapravo CPU? Kako radi? I koja je razlika između CPU-a i sve popularnijih vCPU-a?
Razumijevanje mozga računala
Prva elektronička računala nastala su početkom 1800-ih, prema cjelovitom povijesnom vodiču objavio G2. Međutim, ta su računala bila velika i skupa, a mogli su ih koristiti samo obučeni matematičari i znanstvenici.
Charles Babbage zaslužan je za izum prvog računalnog stroja, Difference Engine, koji se mogao programirati za izvođenje bilo kojeg izračuna koji se može izvesti ručno. Međutim, projekt Difference Engine nikada nije dovršen zbog nedostatka financijskih sredstava, prema Muzeju povijesti računala.
Godine 1937. Babbage je prvi put spomenuo Analytical Engine, koji će postati prvo mehaničko računalo opće namjene na svijetu. "Analitički stroj uključio je sve elemente modernog računala: aritmetičko-logičku jedinicu, kontrolni tijek u obliku uvjetnog grananja i petlji te integriranu memoriju," (Bilješke o elektronici).
Ključna komponenta današnjeg računala je CPU ili središnja procesorska jedinica. CPU je odgovoran za izvršavanje uputa koje mu daje softver kao što je operativni sustav ili aplikacija. Laički rečeno, CPU možete zamisliti kao mozak vašeg računala. CPU se sastoji od dva glavna dijela: upravljačke jedinice i aritmetičko-logičke jedinice (ALU). Ako vas ove kratice zbunjuju, pogledajte našu pregled razlika između APU-a, CPU-a i GPU-a.
Upravljačka jedinica je odgovorna za dohvaćanje instrukcija iz memorije, njihovo dekodiranje i zatim njihovo slanje aritmetičko-logičkoj jedinici na izvršenje. ALU izvodi aritmetičke i logičke operacije na podacima pohranjenim u registrima, koji su unutarnje jedinice za pohranu unutar CPU-a.
Moderno CPU također sadrži predmemoriju, što je mala količina brze memorije koja pohranjuje često korištene upute i podatke. Spremnice su podijeljene na razine; Predmemorija razine 1 (L1) ugrađena je u sam procesor, predmemorija razine 2 (L2) nalazi se na zasebnom čipu blizu CPU, a predmemorija razine 3 (L3) nalazi se dalje od CPU-a na vlastitom čipu ili čak na vlastitom krugu odbor.
CPU vs. vCPU
S porastom usluga u oblaku pojavila se virtualna središnja procesorska jedinica ili skraćeno vCPU. TechTarget definira vCPU kao "fizička središnja procesorska jedinica (CPU) koja je dodijeljena virtualnom stroju (VM)."
Virtualni strojevi su u osnovi samostalni operativni sustavi koji rade unutar drugog operativnog sustava kao da su aplikacije. VM-ovi se koriste u razne svrhe kao što je testiranje novog softvera u sigurnom okruženju, pokretanje više operativnih sustava (npr. Windows i Linux) na istom računalu ili konsolidiranje više fizičkih poslužitelja u jedan poslužitelj radi uštede prostora i smanjenja troškovi.
Dakle, vCPU je softverska implementacija CPU-a; fizički ne postoji unutar vašeg računala kao pravi CPU. Hipervizor, koji je softver koji stvara i upravlja VM-ovima, dodjeljuje vCPU-ove virtualnom stroju. Svaki vCPU operativni sustav unutar VM-a vidi kao stvarnu CPU jezgru. Pogledajte naše objašnjenje hipervizora naučiti više.
Međutim, budući da se vCPU-ovi temelje na softveru, nisu tako učinkoviti kao pravi CPU-i. Stoga je važno navesti koliko jezgri koje vaš procesor ima kada kupujete računalo (npr. "quad-core" znači četiri jezgre). Isto pravilo vrijedi i pri odabiru virtualnog privatnog poslužitelja (VPS) ili plana hostinga namjenskog poslužitelja.
Glavna razlika između CPU-a i vCPU-a je to što su CPU-ovi temeljeni na hardveru, dok su vCPU-ovi temeljeni na softveru. To znači da CPU-i fizički postoje unutar vašeg računala dok vCPU-i ne postoje; umjesto toga, po potrebi ih stvaraju hipervizori. Zbog ove razlike u implementaciji, CPU-i su mnogo učinkovitiji od vCPU-a; nemaju režijske troškove povezane s radom u softveru.
Od ranih 2000-ih vCPU-i postaju sve popularniji jer su jeftiniji i lakši za dodjelu od fizičkih CPU-a; međutim, ako tražite performanse, najbolje je koristiti računalo s više CPU jezgri budući da svaka jezgra može samostalno obrađivati upute.
Jezgre vs. niti
CPU može imati jednu ili više jezgri, što je procesorska jedinica koja izvršava zadatke u određeno vrijeme. Jezgra će održavati redoslijed izvršenja zadatka, registre i predmemoriju (ako je primjenjivo) i izvršavati operacije putem ALU-a. CPU kontrolira jezgre, ali jezgra izvršava svaki softverski proces ili nit koju operativni sustav rasporedi. Nit je neovisna sekvenca instrukcija koje može obraditi CPU.
Više niti može postojati unutar istog procesa i dijeliti isti memorijski prostor. To im omogućuje lakšu međusobnu komunikaciju nego da rade unutar zasebnih procesa. Niti se često koriste za poboljšanje performansi višenitnih aplikacija dopuštajući različitim dijelovima programa da rade istovremeno na različitim jezgrama ili procesorima.
Izraz "nit" koristi se u računalnoj terminologiji mnogo godina; međutim, tek početkom 2000-ih u procesore je uvedena podrška za niti na hardverskoj razini. To je omogućilo istovremeno izvršavanje više niti na odvojenim jezgrama. Prije se samo jedna nit mogla izvoditi odjednom na jednoj jezgri, bez obzira na to koliko je jezgri bilo prisutno u procesoru. Višejezgreni procesori sada su uobičajeni, a većina operativnih sustava pruža određenu razinu podrške za pokretanje programa kao više niti.
Sažimanje ključnih problema
Ukratko, CPU-ovi su hardverski utemeljeni mozgovi naših računala, dok su njihovi virtualni dvojnici, vCPU-ovi, temeljeni na softveru i kreirani od strane hipervizora za rad unutar virtualnih strojeva. Jezgre su procesorske jedinice temeljene na hardveru unutar CPU-a, dok su niti softverski temeljene upute koje može obraditi CPU.
Niti se mogu izvršavati istovremeno na odvojenim jezgrama, što omogućuje da se različiti dijelovi programa izvode u isto vrijeme. Ovo može poboljšati performanse hardvera jer se više zadataka može obrađivati istovremeno umjesto uzastopno.
Sada kada razumijete razliku između CPU-a, vCPU-a, jezgri i niti, možete donijeti informiranu odluku pri odabiru računala ili poslužitelja. Ako tražite performanse, najbolje je odabrati računalo s više CPU jezgri budući da svaka jezgra može samostalno obrađivati upute. Međutim, ako tražite isplativo rješenje, vCPU-i bi mogli biti pravi izbor.