Centralne procesne enote (CPE) so možgani naših računalnikov. Obdelujejo vse, kar počnemo dnevno, od odpiranja aplikacije do ogleda filma. Toda kaj točno je CPU? Kako deluje? In kakšna je razlika med CPU-ji in vse bolj priljubljenimi vCPU-ji?

Razumevanje možganov računalnikov

Prvi elektronski računalniki so bili ustvarjeni v zgodnjih 19. stoletjih, glede na popoln zgodovinski vodnik izdal G2. Vendar so bili ti računalniki veliki in dragi in so jih lahko uporabljali le usposobljeni matematiki in znanstveniki.

Charles Babbage je zaslužen za izum prvega računalniškega stroja, Difference Engine, ki ga je bilo mogoče programirati za izvajanje vseh izračunov, ki jih je mogoče narediti ročno. Vendar pa projekt Difference Engine ni bil nikoli dokončan zaradi pomanjkanja sredstev, po podatkih Muzeja zgodovine računalništva.

Leta 1937 je Babbage prvič omenil analitični motor, ki je postal prvi mehanski računalnik za splošno uporabo na svetu. "Analitični motor je vključeval vse elemente sodobnega računalnika: aritmetično logično enoto, krmilni tok v obliki pogojnega razvejanja in zank ter integriran pomnilnik," (

Opombe o elektroniki).

Ključna komponenta današnjega računalnika je CPE ali centralna procesna enota. CPE je odgovoren za izvajanje navodil, ki mu jih daje programska oprema, kot je operacijski sistem ali aplikacija. Z laičnim izrazom si lahko CPE predstavljate kot možgane vašega računalnika. CPE je sestavljen iz dveh glavnih delov: krmilne enote in aritmetično logične enote (ALU). Če vas te kratice zmedejo, si oglejte našo pregled, kako se APU, CPE in GPE razlikujejo.

Krmilna enota je odgovorna za pridobivanje navodil iz pomnilnika, njihovo dekodiranje in nato pošiljanje aritmetično logični enoti, ki se izvrši. ALU izvaja aritmetične in logične operacije na podatkih, shranjenih v registrih, ki so notranje pomnilniške enote znotraj CPE.

Moderno CPE vsebujejo tudi predpomnilnik, ki je majhna količina hitrega pomnilnika, ki shranjuje pogosto uporabljena navodila in podatke. Zapomnilniki so razdeljeni na ravni; Predpomnilnik ravni 1 (L1) je vgrajen v sam procesor CPE, predpomnilnik ravni 2 (L2) je na ločenem čipu blizu CPE, predpomnilnik stopnje 3 (L3) pa je dlje od CPE na lastnem čipu ali celo na lastnem vezju tabla.

CPU vs. vCPU

Z vzponom storitev v oblaku se je pojavila virtualna centralna procesna enota ali na kratko vCPU. TechTarget definira vCPE kot "fizična centralna procesna enota (CPE), ki je dodeljena virtualnemu stroju (VM)."

Virtualni stroji so v bistvu samostojni operacijski sistemi, ki delujejo znotraj drugega operacijskega sistema, kot da bi bili aplikacije. VM se uporabljajo za različne namene, kot je testiranje nove programske opreme v varnem okolju, izvajanje več operacijskih sistemov (npr. Windows in Linux) na istem računalniku ali združevanje več fizičnih strežnikov v en strežnik za prihranek prostora in zmanjšanje stroški.

Torej, vCPE je programska izvedba CPE; fizično ne obstaja znotraj vašega računalnika kot pravi CPE. Hipervizor, ki je programska oprema, ki ustvarja in upravlja virtualne stroje, virtualnemu stroju dodeli vCPE. Vsak vCPE operacijski sistem znotraj VM vidi kot pravo jedro CPE. Oglejte si naše razlaga hipervizorjev izvedeti več.

Ker pa vCPE temeljijo na programski opremi, niso tako učinkoviti kot pravi CPE. Zato je pomembno določiti, koliko jeder, ki jih ima vaš procesor ko kupujete računalnik (npr. "štirijedrni" pomeni štiri jedra). Enako pravilo velja pri izbiri navideznega zasebnega strežnika (VPS) ali načrta gostovanja namenskega strežnika.

Glavna razlika med CPE in vCPE je, da CPE temeljijo na strojni opremi, medtem ko vCPU temeljijo na programski opremi. To pomeni, da procesorji fizično obstajajo v vašem računalniku, medtem ko vCPE ne; namesto tega jih po potrebi ustvarijo hipervizorji. Zaradi te razlike v izvedbi so procesorji veliko bolj učinkoviti kot vCPE; nimajo režijskih stroškov, povezanih z izvajanjem programske opreme.

Od začetka 2000-ih so vCPU-ji postali vse bolj priljubljeni, ker so cenejši in jih je lažje dodeliti kot fizični CPE-ji; če pa iščete zmogljivost, je najbolje uporabiti računalnik z več jedri CPE, saj lahko vsako jedro neodvisno obdeluje navodila.

Jedra vs. Niti

CPE ima lahko eno ali več jeder, ki je procesna enota, ki izvaja naloge ob določenem času. Jedro bo vzdrževalo vrstni red izvajanja nalog, registre in predpomnilnik (če je na voljo) ter izvajalo operacije prek ALU. CPE nadzoruje jedra, vendar jedro izvaja vsak programski proces ali nit, ki jo načrtuje operacijski sistem. Nit je neodvisno zaporedje navodil, ki jih lahko obdela CPE.

Več niti lahko obstaja znotraj istega procesa in si deli isti pomnilniški prostor. To jim omogoča lažjo komunikacijo med seboj, kot če bi delovali znotraj ločenih procesov. Niti se pogosto uporabljajo za izboljšanje zmogljivosti večnitnih aplikacij, tako da omogočajo sočasno izvajanje različnih delov programa na različnih jedrih ali procesorjih.

Izraz "nit" se v računalniški terminologiji uporablja že vrsto let; vendar pa je bila šele v zgodnjih 2000-ih v procesorjih uvedena podpora za niti na ravni strojne opreme. To je omogočilo sočasno izvajanje več niti na ločenih jedrih. Prej se je na enem jedru lahko naenkrat izvajala samo ena nit, ne glede na to, koliko jeder je bilo prisotnih v procesorju. Večjedrni procesorji so zdaj običajni in večina operacijskih sistemov zagotavlja določeno raven podpore za izvajanje programov kot več niti.

Zaključek osrednjih vprašanj

Če povzamemo, CPE so možgani naših računalnikov, ki temeljijo na strojni opremi, medtem ko njihovi virtualni nasprotniki, vCPE, temeljijo na programski opremi in so jih ustvarili hipervizorji za delovanje v virtualnih strojih. Jedra so procesne enote, ki temeljijo na strojni opremi znotraj CPE, medtem ko so niti navodila, ki temeljijo na programski opremi, ki jih lahko obdeluje CPE.

Niti se lahko izvajajo hkrati na ločenih jedrih, kar omogoča istočasno izvajanje različnih delov programa. To lahko izboljša zmogljivost strojne opreme, saj je več nalog mogoče obdelati hkrati namesto zaporedoma.

Zdaj, ko razumete razliko med CPU-ji, vCPU-ji, jedri in niti, se lahko premišljeno odločite pri izbiri računalnika ali strežnika. Če iščete zmogljivost, je najbolje izbrati računalnik z več jedri CPE, saj lahko vsako jedro neodvisno obdeluje navodila. Če pa iščete stroškovno učinkovito rešitev, so vCPE morda prava izbira.