Centrale verwerkingseenheden (CPU's) zijn het brein van onze computers. Ze verwerken alles wat we dagelijks doen, van het openen van een applicatie tot het kijken van een film. Maar wat is een CPU precies? Hoe werkt het? En wat is het verschil tussen CPU's en de steeds populairdere vCPU's?

De hersenen van computers begrijpen

De eerste elektronische computers werden gemaakt in het begin van de 19e eeuw, volgens de volledige geschiedenisgids gepubliceerd door G2. Deze computers waren echter groot en duur en konden alleen worden gebruikt door getrainde wiskundigen en wetenschappers.

Charles Babbage wordt gecrediteerd voor het uitvinden van de eerste computermachine, de Difference Engine, die kan worden geprogrammeerd om elke berekening uit te voeren die met de hand kan worden gedaan. Het Difference Engine-project werd echter nooit voltooid vanwege een gebrek aan financiering, volgens het Computer History Museum.

In 1937 noemde Babbage voor het eerst de Analytical Engine, die 's werelds eerste mechanische computer voor algemeen gebruik zou worden. "De Analytical Engine bevatte alle elementen van een moderne computer: een rekenkundige logische eenheid, besturingsstroom in de vorm van voorwaardelijke vertakkingen en lussen, en geïntegreerd geheugen", (

instagram viewer
Elektronica Opmerkingen).

Een belangrijk onderdeel van de hedendaagse computer is de CPU of centrale verwerkingseenheid. De CPU is verantwoordelijk voor het uitvoeren van instructies die hem worden gegeven door software zoals een besturingssysteem of een applicatie. In termen van leken kun je de CPU zien als het brein van je computer. De CPU bestaat uit twee hoofdonderdelen: de besturingseenheid en de rekenkundige logische eenheid (ALU). Als deze afkortingen u in verwarring brengen, raadpleeg dan onze overzicht van hoe APU's, CPU's en GPU's verschillen.

De besturingseenheid is verantwoordelijk voor het ophalen van instructies uit het geheugen, deze te decoderen en ze vervolgens naar de rekenkundige logische eenheid te sturen om uit te voeren. De ALU voert rekenkundige en logische bewerkingen uit op gegevens die zijn opgeslagen in registers, dit zijn interne opslageenheden in de CPU.

Modern CPU's bevatten ook een cache, een kleine hoeveelheid snel geheugen waarin veelgebruikte instructies en gegevens worden opgeslagen. Caches zijn onderverdeeld in niveaus; Level 1 (L1) cache is ingebouwd in de CPU-matrijs zelf, Level 2 (L2) cache bevindt zich op een aparte chip in de buurt van de CPU, en Level 3 (L3) cache zit verder weg van de CPU op zijn eigen chip of zelfs op zijn eigen circuit bord.

CPU versus vCPU

Met de opkomst van clouddiensten kwam de komst van de virtuele centrale verwerkingseenheid, of kortweg vCPU. TechTarget definieert vCPU als "een fysieke centrale verwerkingseenheid (CPU) die is toegewezen aan een virtuele machine (VM)."

Virtuele machines zijn in feite op zichzelf staande besturingssystemen die binnen een ander besturingssysteem worden uitgevoerd alsof het toepassingen zijn. VM's worden voor verschillende doeleinden gebruikt, zoals het testen van nieuwe software in een veilige omgeving, met meerdere besturingssystemen (bijv. Windows en Linux) op dezelfde computer, of het consolideren van meerdere fysieke servers in een enkele server om ruimte te besparen en te verminderen kosten.

Een vCPU is dus een software-implementatie van een CPU; het bestaat niet fysiek in uw computer zoals een echte CPU. De hypervisor, de software die VM's maakt en beheert, wijst vCPU's toe aan de virtuele machine. Elke vCPU wordt door het besturingssysteem in de VM gezien als een echte CPU-kern. Zie onze uitleg van hypervisors meer leren.

Omdat vCPU's echter op software zijn gebaseerd, zijn ze niet zo efficiënt als echte CPU's. Daarom is het belangrijk om aan te geven hoeveel kernen die uw processor heeft wanneer u een computer koopt (bijvoorbeeld "quad-core" betekent vier cores). Dezelfde regel is van toepassing bij het kiezen van een virtual private server (VPS) of dedicated server hostingplan.

Het belangrijkste verschil tussen CPU's en vCPU's is dat CPU's op hardware zijn gebaseerd, terwijl vCPU's op software zijn gebaseerd. Dit betekent dat CPU's fysiek in uw computer aanwezig zijn, terwijl vCPU's dat niet doen; in plaats daarvan worden ze indien nodig door hypervisors gemaakt. Vanwege dit verschil in implementatie zijn CPU's veel efficiënter dan vCPU's; ze hebben niet de overhead die gepaard gaat met het draaien in software.

Sinds het begin van de jaren 2000 zijn vCPU's steeds populairder geworden omdat ze goedkoper en gemakkelijker toe te wijzen zijn dan fysieke CPU's; Als u echter op zoek bent naar prestaties, kunt u het beste een computer met meerdere CPU-kernen gebruiken, aangezien elke kern afzonderlijk instructies kan verwerken.

Kernen versus Draden

Een CPU kan een of meer kernen hebben, de verwerkingseenheid die taken op een bepaald tijdstip uitvoert. De kern zal de taakuitvoeringsvolgorde, de registers en de cache (indien van toepassing) onderhouden en bewerkingen uitvoeren via de ALU. De CPU bestuurt de kernen, maar de kern voert elk softwareproces of elke thread uit die het besturingssysteem plant. Een thread is een onafhankelijke reeks instructies die door een CPU kan worden verwerkt.

Binnen hetzelfde proces kunnen meerdere threads bestaan ​​en dezelfde geheugenruimte delen. Hierdoor kunnen ze gemakkelijker met elkaar communiceren dan wanneer ze binnen afzonderlijke processen zouden draaien. Threads worden vaak gebruikt om de prestaties van multithreaded applicaties te verbeteren door verschillende delen van het programma tegelijkertijd op verschillende cores of processors te laten draaien.

De term "draad" wordt al vele jaren gebruikt in computerterminologie; het was echter pas in het begin van de jaren 2000 dat hardwarematige ondersteuning voor threads werd geïntroduceerd in processors. Hierdoor konden meerdere threads tegelijkertijd op afzonderlijke kernen worden uitgevoerd. Voorheen kon slechts één thread tegelijk worden uitgevoerd op een enkele kern, ongeacht hoeveel kernen er in de processor aanwezig waren. Multicore-processors zijn nu gemeengoed en de meeste besturingssystemen bieden enige ondersteuning voor het uitvoeren van programma's als meerdere threads.

De kernproblemen afronden

Samenvattend: CPU's zijn het op hardware gebaseerde brein van onze computers, terwijl hun virtuele tegenhanger, vCPU's, op software is gebaseerd en door hypervisors is gemaakt om binnen virtuele machines te draaien. Cores zijn de op hardware gebaseerde verwerkingseenheden binnen een CPU, terwijl threads de op software gebaseerde instructies zijn die door een CPU kunnen worden verwerkt.

Threads kunnen tegelijkertijd op afzonderlijke cores worden uitgevoerd, waardoor verschillende delen van het programma tegelijkertijd kunnen worden uitgevoerd. Dit kan de hardwareprestaties verbeteren, aangezien meerdere taken tegelijkertijd in plaats van achtereenvolgens kunnen worden verwerkt.

Nu u het verschil begrijpt tussen CPU's, vCPU's, cores en threads, kunt u een weloverwogen beslissing nemen bij het kiezen van een computer of server. Als u op zoek bent naar prestaties, kunt u het beste een computer kiezen met meerdere CPU-kernen, aangezien elke kern afzonderlijk instructies kan verwerken. Als u echter op zoek bent naar een kosteneffectieve oplossing, zijn vCPU's misschien de juiste keuze.