Centrálne procesorové jednotky (CPU) sú mozgom našich počítačov. Spracujú všetko, čo robíme na dennej báze, od otvorenia aplikácie až po sledovanie filmu. Ale čo je to vlastne CPU? Ako to funguje? A aký je rozdiel medzi CPU a čoraz populárnejšími vCPU?
Pochopenie mozgov počítačov
Prvé elektronické počítače boli vytvorené na začiatku 19. storočia, podľa kompletného sprievodcu históriou publikoval G2. Tieto počítače však boli veľké a drahé a mohli ich používať iba vyškolení matematici a vedci.
Charlesovi Babbageovi sa pripisuje zásluha za vynájdenie prvého výpočtového stroja, Difference Engine, ktorý by mohol byť naprogramovaný tak, aby vykonával akýkoľvek výpočet, ktorý by bolo možné vykonať ručne. Projekt Difference Engine však nebol nikdy dokončený pre nedostatok financií, podľa Múzea počítačovej histórie.
V roku 1937 Babbage prvýkrát spomenul analytický motor, ktorý sa mal stať prvým univerzálnym mechanickým počítačom na svete. „Analytický stroj zahŕňal všetky prvky moderného počítača: aritmetickú logickú jednotku, riadiaci tok vo forme podmieneného vetvenia a slučiek a integrovanú pamäť,“ (
Poznámky k elektronike).Kľúčovým komponentom dnešného počítača je CPU alebo centrálna procesorová jednotka. CPU je zodpovedné za vykonávanie pokynov, ktoré mu dáva softvér, ako je operačný systém alebo aplikácia. Laicky povedané, CPU si môžete predstaviť ako mozog vášho počítača. CPU sa skladá z dvoch hlavných častí: riadiacej jednotky a aritmetickej logickej jednotky (ALU). Ak vás tieto skratky mýlia, pozrite si naše prehľad o tom, ako sa líšia APU, CPU a GPU.
Riadiaca jednotka je zodpovedná za načítanie inštrukcií z pamäte, ich dekódovanie a ich odoslanie do aritmetickej logickej jednotky, ktorá sa má vykonať. ALU vykonáva aritmetické a logické operácie s údajmi uloženými v registroch, ktoré sú internými pamäťovými jednotkami vo vnútri CPU.
Moderné CPU obsahujú aj vyrovnávaciu pamäť, čo je malé množstvo vysokorýchlostnej pamäte, do ktorej sa ukladajú často používané inštrukcie a dáta. Cache sú rozdelené do úrovní; Vyrovnávacia pamäť úrovne 1 (L1) je zabudovaná v samotnej matrici procesora, vyrovnávacia pamäť úrovne 2 (L2) je umiestnená na samostatnom čipe blízko CPU a vyrovnávacia pamäť úrovne 3 (L3) sú umiestnené ďalej od CPU na vlastnom čipe alebo dokonca na vlastnom okruhu doska.
CPU vs. vCPU
S rozmachom cloudových služieb prišiel aj príchod virtuálnej centrálnej procesorovej jednotky alebo skrátene vCPU. TechTarget definuje vCPU ako „fyzická centrálna procesorová jednotka (CPU), ktorá je priradená k virtuálnemu stroju (VM).
Virtuálne stroje sú v podstate samostatné operačné systémy, ktoré bežia v inom operačnom systéme, ako keby to boli aplikácie. Virtuálne počítače sa používajú na rôzne účely, ako je testovanie nového softvéru v bezpečnom prostredí, spustenie viacerých operačných systémov (napr. Windows a Linux) na rovnakom počítači alebo konsolidácia viacerých fyzických serverov do jedného servera, aby sa ušetrilo miesto a znížilo náklady.
Takže vCPU je softvérová implementácia CPU; fyzicky neexistuje vo vašom počítači ako skutočný procesor. Hypervízor, čo je softvér, ktorý vytvára a spravuje virtuálne počítače, priraďuje virtuálnemu počítaču vCPU. Každý vCPU je operačným systémom vo VM vnímaný ako skutočné jadro CPU. Pozrite si naše vysvetlenie hypervízorov naučiť sa viac.
Avšak, pretože vCPU sú založené na softvéri, nie sú také efektívne ako skutočné CPU. Preto je dôležité špecifikovať koľko jadrá, ktoré má váš procesor keď si kupujete počítač (napr. „štvorjadro“ znamená štyri jadrá). Rovnaké pravidlo platí pri výbere plánu virtuálneho privátneho servera (VPS) alebo dedikovaného servera.
Hlavný rozdiel medzi CPU a vCPU je v tom, že CPU sú založené na hardvéri, zatiaľ čo vCPU sú založené na softvéri. To znamená, že CPU fyzicky existujú vo vašom počítači, zatiaľ čo vCPU nie; namiesto toho ich v prípade potreby vytvárajú hypervízory. Kvôli tomuto rozdielu v implementácii sú CPU oveľa efektívnejšie ako vCPU; nemajú réžiu spojenú so spustením softvéru.
Od začiatku roku 2000 sa vCPU stávajú čoraz obľúbenejšími, pretože sú lacnejšie a ľahšie sa priraďujú ako fyzické CPU; ak však hľadáte výkon, je najlepšie použiť počítač s viacerými jadrami CPU, pretože každé jadro dokáže spracovať pokyny nezávisle.
Jadrá vs. Nite
CPU môže mať jedno alebo viac jadier, čo je procesorová jednotka, ktorá vykonáva úlohy v určenom čase. Jadro bude udržiavať poradie vykonávania úlohy, registre a vyrovnávaciu pamäť (ak je to potrebné) a vykonávať operácie cez ALU. CPU riadi jadrá, ale jadro vykonáva každý softvérový proces alebo vlákno, ktoré operačný systém naplánuje. Vlákno je nezávislá sekvencia inštrukcií, ktoré môže CPU spracovať.
V rámci toho istého procesu môže existovať viacero vlákien a zdieľať rovnaký pamäťový priestor. To im umožňuje komunikovať medzi sebou jednoduchšie, ako keby bežali v rámci samostatných procesov. Vlákna sa často používajú na zlepšenie výkonu viacvláknových aplikácií tým, že umožňujú, aby rôzne časti programu bežali súčasne na rôznych jadrách alebo procesoroch.
Pojem „vlákno“ sa v počítačovej terminológii používa už mnoho rokov; avšak až začiatkom roku 2000 bola v procesoroch zavedená podpora vlákien na hardvérovej úrovni. To umožnilo spustenie viacerých vlákien súčasne na samostatných jadrách. Predtým bolo možné naraz spustiť iba jedno vlákno na jednom jadre bez ohľadu na to, koľko jadier bolo v procesore. Viacjadrové procesory sú dnes už samozrejmosťou a väčšina operačných systémov poskytuje určitú úroveň podpory pre spúšťanie programov ako viacerých vlákien.
Zhrnutie základných problémov
Aby som to zhrnul, CPU sú hardvérové mozgy našich počítačov, zatiaľ čo ich virtuálny náprotivok, vCPU, sú založené na softvéri a vytvorené hypervízormi na spustenie vo virtuálnych strojoch. Jadrá sú hardvérové procesorové jednotky v rámci CPU, zatiaľ čo vlákna sú softvérové inštrukcie, ktoré môže CPU spracovať.
Vlákna môžu byť vykonávané súčasne na samostatných jadrách, čo umožňuje spustenie rôznych častí programu súčasne. To môže zlepšiť výkon hardvéru, pretože viacero úloh možno spracovávať súčasne namiesto sekvenčne.
Teraz, keď ste pochopili rozdiel medzi CPU, vCPU, jadrami a vláknami, môžete urobiť informované rozhodnutie pri výbere počítača alebo servera. Ak hľadáte výkon, je najlepšie zvoliť si počítač s viacerými jadrami CPU, pretože každé jadro dokáže spracovať pokyny nezávisle. Ak však hľadáte cenovo výhodné riešenie, vCPU môžu byť tou správnou cestou.