Centrální procesorové jednotky (CPU) jsou mozky našich počítačů. Zpracovávají vše, co děláme denně, od otevření aplikace po sledování filmu. Ale co je to vlastně CPU? Jak to funguje? A jaký je rozdíl mezi CPU a stále populárnějšími vCPU?
Pochopení mozků počítačů
První elektronické počítače byly vytvořeny na počátku 19. století, podle kompletního průvodce historií vydal G2. Tyto počítače však byly velké a drahé a mohli je používat pouze vyškolení matematici a vědci.
Charles Babbage je oceněn za vynález prvního výpočetního stroje, Difference Engine, který by mohl být naprogramován tak, aby prováděl jakýkoli výpočet, který by bylo možné provést ručně. Projekt Difference Engine však nebyl nikdy dokončen kvůli nedostatku financí, podle Muzea počítačové historie.
V roce 1937 se Babbage poprvé zmínil o analytickém motoru, který se měl stát prvním univerzálním mechanickým počítačem na světě. „Analytický stroj obsahuje všechny prvky moderního počítače: aritmetickou logickou jednotku, řídicí tok ve formě podmíněného větvení a smyček a integrovanou paměť,“ (Poznámky k elektronice).
Klíčovou součástí dnešního počítače je CPU nebo centrální procesorová jednotka. CPU je odpovědné za provádění pokynů, které mu zadává software, jako je operační systém nebo aplikace. Laicky řečeno, CPU si můžete představit jako mozek vašeho počítače. CPU se skládá ze dvou hlavních částí: řídicí jednotky a aritmeticky logické jednotky (ALU). Pokud vás tyto zkratky matou, podívejte se na naše přehled toho, jak se liší APU, CPU a GPU.
Řídicí jednotka je zodpovědná za načtení instrukcí z paměti, jejich dekódování a následné odeslání do aritmetické logické jednotky, která má být provedena. ALU provádí aritmetické a logické operace s daty uloženými v registrech, které jsou vnitřními paměťovými jednotkami uvnitř CPU.
Moderní CPU také obsahují mezipaměť, což je malé množství vysokorychlostní paměti, do které se ukládají často používané instrukce a data. Keše jsou rozděleny do úrovní; Mezipaměť úrovně 1 (L1) je zabudována v samotném procesoru, mezipaměť úrovně 2 (L2) je umístěna na samostatném čipu blízko CPU a mezipaměť úrovně 3 (L3) jsou umístěny dále od CPU na vlastním čipu nebo dokonce na vlastním obvodu prkno.
CPU vs. vCPU
S rozmachem cloudových služeb přišel příchod virtuální centrální procesorové jednotky, zkráceně vCPU. TechTarget definuje vCPU jako „fyzická centrální procesorová jednotka (CPU), která je přiřazena k virtuálnímu počítači (VM).
Virtuální stroje jsou v podstatě samostatné operační systémy, které běží uvnitř jiného operačního systému, jako by to byly aplikace. Virtuální počítače se používají pro různé účely, jako je testování nového softwaru v bezpečném prostředí, provozování více operačních systémů (např. Windows a Linux) na stejném počítači nebo konsolidací více fyzických serverů do jednoho serveru, abyste ušetřili místo a snížili náklady.
Takže vCPU je softwarová implementace CPU; fyzicky neexistuje uvnitř vašeho počítače jako skutečný procesor. Hypervizor, což je software, který vytváří a spravuje virtuální počítače, přiřazuje virtuálnímu počítači vCPU. Každé vCPU je operačním systémem uvnitř virtuálního počítače vnímáno jako skutečné jádro CPU. Podívejte se na naše vysvětlení hypervizorů dozvědět se více.
Protože jsou však vCPU založené na softwaru, nejsou tak účinné jako skutečné CPU. Proto je důležité upřesnit kolik jádra, která má váš procesor když si kupujete počítač (např. „čtyřjádro“ znamená čtyři jádra). Stejné pravidlo platí při výběru plánu virtuálního privátního serveru (VPS) nebo dedikovaného serveru.
Hlavní rozdíl mezi CPU a vCPU je v tom, že CPU jsou založené na hardwaru, zatímco vCPU jsou založené na softwaru. To znamená, že CPU fyzicky existují uvnitř vašeho počítače, zatímco vCPU nikoli; místo toho je v případě potřeby vytvářejí hypervizory. Kvůli tomuto rozdílu v implementaci jsou CPU mnohem efektivnější než vCPU; nemají režii spojenou se spuštěním softwaru.
Od počátku 21. století jsou vCPU stále populárnější, protože jsou levnější a snadněji se přiřazují než fyzické CPU; pokud však hledáte výkon, je nejlepší použít počítač s více jádry CPU, protože každé jádro může zpracovávat instrukce nezávisle.
Jádra vs. Vlákna
CPU může mít jedno nebo více jader, což je procesorová jednotka, která provádí úkoly v určený čas. Jádro bude udržovat pořadí provádění úlohy, registry a mezipaměť (pokud je to možné) a provádět operace prostřednictvím ALU. CPU řídí jádra, ale jádro provádí každý softwarový proces nebo vlákno, které operační systém naplánuje. Vlákno je nezávislá sekvence instrukcí, kterou může CPU zpracovat.
V rámci stejného procesu může existovat více vláken a sdílet stejný paměťový prostor. To jim umožňuje komunikovat mezi sebou snadněji, než kdyby běžely v rámci samostatných procesů. Vlákna se často používají ke zlepšení výkonu vícevláknových aplikací tím, že umožňují, aby různé části programu běžely současně na různých jádrech nebo procesorech.
Termín „vlákno“ se v počítačové terminologii používá již mnoho let; nicméně, to nebylo až do časného 2000s to hardwarová podpora pro vlákna byla představena v procesorech. To umožnilo spouštění více vláken současně na samostatných jádrech. Dříve bylo možné na jednom jádru spustit pouze jedno vlákno najednou, bez ohledu na to, kolik jader bylo v procesoru přítomno. Vícejádrové procesory jsou nyní samozřejmostí a většina operačních systémů poskytuje určitou úroveň podpory pro spouštění programů jako více vláken.
Shrnutí hlavních problémů
Abychom to shrnuli, CPU jsou hardwarové mozky našich počítačů, zatímco jejich virtuální protějšek, vCPU, jsou softwarové a vytvořené hypervizory, aby běžely na virtuálních strojích. Jádra jsou hardwarové procesní jednotky v rámci CPU, zatímco vlákna jsou softwarové instrukce, které může CPU zpracovat.
Vlákna mohou být spouštěna současně na samostatných jádrech, což umožňuje spouštění různých částí programu současně. To může zlepšit výkon hardwaru, protože více úloh může být zpracováno současně namísto postupně.
Nyní, když rozumíte rozdílu mezi CPU, vCPU, jádry a vlákny, můžete učinit informované rozhodnutí při výběru počítače nebo serveru. Pokud hledáte výkon, je nejlepší zvolit počítač s více jádry CPU, protože každé jádro může zpracovávat pokyny nezávisle. Pokud však hledáte nákladově efektivní řešení, vCPU mohou být tou správnou cestou.