A központi feldolgozó egységek (CPU-k) a számítógépeink agya. Mindent feldolgoznak, amit napi szinten csinálunk, az alkalmazás megnyitásától a filmnézésig. De mi is az a CPU pontosan? Hogyan működik? És mi a különbség a CPU-k és az egyre népszerűbb vCPU-k között?

A számítógépek agyának megértése

Az első elektronikus számítógépeket a teljes történeti útmutató szerint az 1800-as évek elején hozták létre megjelent a G2. Ezek a számítógépek azonban nagyok és drágák voltak, és csak képzett matematikusok és tudósok használhatták őket.

Charles Babbage nevéhez fűződik az első számítástechnikai gép, a Difference Engine feltalálása, amely programozható bármilyen, kézzel elvégezhető számítás elvégzésére. A Difference Engine projekt azonban soha nem fejeződött be a finanszírozás hiánya miatt, a Számítógéptörténeti Múzeum szerint.

Babbage 1937-ben említette először az Analytical Engine-t, amely a világ első általános célú mechanikus számítógépe lesz. „Az analitikai motor magában foglalta egy modern számítógép összes elemét: egy aritmetikai logikai egységet, a vezérlési folyamatot feltételes elágazások és hurkok formájában, valamint az integrált memóriát” (

Elektronikai megjegyzések).

A mai számítógép egyik kulcseleme a CPU vagy a központi feldolgozó egység. A CPU felelős a szoftver, például operációs rendszer vagy alkalmazás által adott utasítások végrehajtásáért. Laikus kifejezéssel a CPU-t a számítógép agyának tekintheti. A CPU két fő részből áll: a vezérlőegységből és az aritmetikai logikai egységből (ALU). Ha ezek a rövidítések megtévesztik, tekintse meg a mi oldalunkat áttekintést arról, hogy miben különböznek az APU-k, a CPU-k és a GPU-k.

A vezérlőegység feladata az utasítások memóriából való lehívása, dekódolása, majd a végrehajtásra szánt aritmetikai logikai egységnek való elküldése. Az ALU aritmetikai és logikai műveleteket hajt végre a regiszterekben tárolt adatokon, amelyek a CPU belső tárolóegységei.

Modern A CPU-k gyorsítótárat is tartalmaznak, amely egy kis mennyiségű nagy sebességű memória, amely a gyakran használt utasításokat és adatokat tárolja. A gyorsítótárak szintekre vannak osztva; Az 1-es szintű (L1) gyorsítótár magába a CPU-be van építve, a 2-es szintű (L2) gyorsítótár pedig egy külön chipen található, közel a CPU és a Level 3 (L3) gyorsítótár a CPU-tól távolabb helyezkedik el saját chipjén vagy akár saját áramkörén tábla.

CPU vs. vCPU

A felhőszolgáltatások térnyerésével megjelent a virtuális központi feldolgozó egység, vagy röviden vCPU. A TechTarget meghatározza a vCPU-t mint „egy virtuális géphez (VM) hozzárendelt fizikai központi feldolgozó egység (CPU).”

A virtuális gépek alapvetően önálló operációs rendszerek, amelyek egy másik operációs rendszeren belül futnak, mintha alkalmazások lennének. A virtuális gépeket különféle célokra használják, például új szoftverek tesztelésére biztonságos környezetben, több operációs rendszer futtatására (pl. Windows és Linux) ugyanazon a számítógépen, vagy több fizikai kiszolgáló összevonása egyetlen szerverbe a helytakarékosság és a megtakarítás érdekében költségeket.

Tehát a vCPU a CPU szoftveres megvalósítása; fizikailag nem létezik a számítógépben, mint egy valódi CPU. A hypervisor, amely a virtuális gépeket létrehozó és felügyelő szoftver, vCPU-kat rendel a virtuális géphez. A virtuális gépen belüli operációs rendszer minden vCPU-t valódi CPU-magnak tekint. Lásd a mi hipervizorok magyarázata többet tanulni.

Mivel azonban a vCPU-k szoftveralapúak, nem olyan hatékonyak, mint a valódi CPU-k. Ezért fontos meghatározni, hogy hány processzorának magjai vannak amikor számítógépet vásárol (pl. a „négymagos” négy magot jelent). Ugyanez a szabály érvényes a virtuális privát szerver (VPS) vagy dedikált szerver hosting terv kiválasztásakor is.

A fő különbség a CPU-k és a vCPU-k között az, hogy a CPU-k hardveralapúak, míg a vCPU-k szoftveralapúak. Ez azt jelenti, hogy a CPU-k fizikailag léteznek a számítógépen belül, míg a vCPU-k nem; ehelyett szükség esetén hipervizorok hozzák létre őket. A megvalósítási különbségek miatt a CPU-k sokkal hatékonyabbak, mint a vCPU-k; nincs rájuk a szoftverben való futtatáshoz kapcsolódó rezsi.

A 2000-es évek eleje óta a vCPU-k egyre népszerűbbek, mert olcsóbbak és könnyebben hozzárendelhetők, mint a fizikai CPU-k; ha azonban teljesítményt keres, a legjobb, ha több CPU-maggal rendelkező számítógépet használ, mivel mindegyik mag képes önállóan feldolgozni az utasításokat.

Magok vs. Szálak

A CPU-nak egy vagy több magja lehet, amely az a feldolgozó egység, amely meghatározott időpontban hajt végre feladatokat. A mag karbantartja a feladat-végrehajtási sorrendet, a regisztereket és a gyorsítótárat (ha van), és az ALU-n keresztül hajtja végre a műveleteket. A CPU vezérli a magokat, de a mag végrehajtja az operációs rendszer által ütemezett minden szoftverfolyamatot vagy szálat. A szál egy független utasítássorozat, amelyet a CPU képes feldolgozni.

Ugyanazon folyamaton belül több szál is létezhet, és ugyanazon a memóriaterületen osztozhat. Ez lehetővé teszi számukra, hogy könnyebben kommunikáljanak egymással, mintha külön folyamatokon belül futnának. A szálakat gyakran használják a többszálú alkalmazások teljesítményének javítására azáltal, hogy lehetővé teszik a program különböző részei egyidejű futtatását különböző magokon vagy processzorokon.

A "szál" kifejezést évek óta használják a számítástechnikai terminológiában; a processzorokban azonban csak a 2000-es évek elején vezették be a szálak hardverszintű támogatását. Ez lehetővé tette több szál egyidejű végrehajtását különálló magokon. Korábban egyszerre csak egy szálat lehetett végrehajtani egyetlen magon, függetlenül attól, hogy hány mag volt jelen a processzorban. A többmagos processzorok ma már mindennaposak, és a legtöbb operációs rendszer bizonyos szintű támogatást nyújt a programok több szálként történő futtatásához.

Az alapvető problémák összefoglalása

Összefoglalva, a CPU-k számítógépeink hardver alapú agyai, míg virtuális megfelelőik, a vCPU-k szoftveralapúak, és hipervizorok hozták létre, hogy virtuális gépeken belül futhassanak. A magok a CPU-n belüli hardver alapú feldolgozó egységek, míg a szálak a szoftver alapú utasítások, amelyeket a CPU képes feldolgozni.

A szálak egyidejűleg is végrehajthatók különálló magokon, ami lehetővé teszi a program különböző részei egyidejű futtatását. Ez javíthatja a hardver teljesítményét, mivel több feladat egyidejűleg is feldolgozható, nem pedig egymás után.

Most, hogy megértette a CPU-k, vCPU-k, magok és szálak közötti különbséget, megalapozott döntést hozhat a számítógép vagy szerver kiválasztásakor. Ha teljesítményre vágyik, a legjobb, ha több CPU-maggal rendelkező számítógépet választ, mivel mindegyik mag képes önállóan feldolgozni az utasításokat. Ha azonban költséghatékony megoldást keres, a vCPU-k a megfelelő út.