Central Processing Units (CPUer) er hjernen til datamaskinene våre. De behandler alt vi gjør på daglig basis, fra å åpne en applikasjon til å se en film. Men hva er egentlig en CPU? Hvordan virker det? Og hva er forskjellen mellom CPUer og de stadig mer populære vCPUene?

Forstå hjernen til datamaskiner

De første elektroniske datamaskinene ble laget på begynnelsen av 1800-tallet, ifølge den komplette historieguiden utgitt av G2. Disse datamaskinene var imidlertid store og dyre, og de kunne bare brukes av trente matematikere og vitenskapsmenn.

Charles Babbage er kreditert for å ha oppfunnet den første datamaskinen, Difference Engine, som kan programmeres til å utføre enhver beregning som kan gjøres for hånd. Imidlertid ble Difference Engine-prosjektet aldri fullført på grunn av mangel på finansiering, ifølge Datahistorisk museum.

I 1937 nevnte Babbage først den analytiske motoren, som skulle bli verdens første generell mekaniske datamaskin. "Den analytiske motoren inkorporerte alle elementene i en moderne datamaskin: en aritmetisk logikkenhet, kontrollflyt i form av betinget forgrening og løkker, og integrert minne," (

instagram viewer
Elektronikknotater).

En nøkkelkomponent i dagens datamaskin er CPU eller sentral prosessorenhet. CPU-en er ansvarlig for å utføre instruksjoner gitt til den av programvare som et operativsystem eller en applikasjon. I lekmannstermer kan du tenke på CPU som hjernen til datamaskinen din. CPU-en består av to hoveddeler: kontrollenheten og den aritmetiske logiske enheten (ALU). Hvis disse forkortelsene forvirrer deg, se vår oversikt over hvordan APUer, CPUer og GPUer er forskjellige.

Kontrollenheten er ansvarlig for å hente instruksjoner fra minnet, dekode dem og deretter sende dem til den aritmetiske logiske enheten for å bli utført. ALU utfører aritmetiske og logiske operasjoner på data som er lagret i registre, som er interne lagringsenheter inne i CPU.

Moderne CPUer inneholder også en cache, som er en liten mengde høyhastighetsminne som lagrer ofte brukte instruksjoner og data. Cacher er delt inn i nivåer; Nivå 1 (L1) cache er innebygd i selve CPU-dysen, nivå 2 (L2) cache sitter på en egen brikke i nærheten av CPU, og nivå 3 (L3) cache sitter lenger unna CPU på sin egen brikke eller til og med på sin egen krets borde.

CPU vs. vCPU

Med fremveksten av skytjenester kom bruken av den virtuelle sentralbehandlingsenheten, eller vCPU for kort. TechTarget definerer vCPU som "en fysisk sentral prosesseringsenhet (CPU) som er tilordnet en virtuell maskin (VM)."

Virtuelle maskiner er i utgangspunktet selvstendige operativsystemer som kjører i et annet operativsystem som om de var applikasjoner. VM-er brukes til en rekke formål som å teste ny programvare i et trygt miljø, kjøre flere operativsystemer (f.eks. Windows og Linux) på samme datamaskin, eller konsolidere flere fysiske servere til en enkelt server for å spare plass og redusere kostnader.

Så en vCPU er en programvareimplementering av en CPU; den eksisterer ikke fysisk inne i datamaskinen din slik en ekte CPU gjør. Hypervisoren, som er programvaren som lager og administrerer VM-er, tildeler vCPUer til den virtuelle maskinen. Hver vCPU blir sett av operativsystemet inne i VM som en ekte CPU-kjerne. Se vår forklaring av hypervisorer å lære mer.

Men fordi vCPUer er programvarebaserte, er de ikke like effektive som ekte CPUer. Derfor er det viktig å spesifisere hvor mange kjerner prosessoren din har når du kjøper en datamaskin (f.eks. betyr "quad-core" fire kjerner). Den samme regelen gjelder når du velger en virtuell privat server (VPS) eller dedikert server hosting plan.

Hovedforskjellen mellom CPUer og vCPUer er at CPUer er maskinvarebaserte mens vCPUer er programvarebaserte. Dette betyr at CPUer fysisk eksisterer inne i datamaskinen din mens vCPUer ikke gjør det; i stedet lages de av hypervisorer ved behov. På grunn av denne forskjellen i implementering er CPUer mye mer effektive enn vCPUer; de har ikke overhead forbundet med å kjøre i programvare.

Siden tidlig på 2000-tallet har vCPUer blitt stadig mer populære fordi de er billigere og enklere å tilordne enn fysiske CPUer; men hvis du leter etter ytelse, er det best å bruke en datamaskin med flere CPU-kjerner siden hver kjerne kan behandle instruksjoner uavhengig.

Kjerner vs. Tråder

En CPU kan ha en eller flere kjerner, som er prosessorenheten som utfører oppgaver på et spesifisert tidspunkt. Kjernen vil opprettholde oppgaveutførelsesrekkefølgen, registrene og cachen (hvis aktuelt) og utføre operasjoner via ALU. CPUen kontrollerer kjernene, men kjernen utfører hver programvareprosess eller tråd som operativsystemet planlegger. En tråd er en uavhengig sekvens av instruksjoner som kan behandles av en CPU.

Flere tråder kan eksistere innenfor samme prosess og dele samme minneplass. Dette gjør at de kan kommunisere med hverandre lettere enn om de kjørte i separate prosesser. Tråder brukes ofte for å forbedre ytelsen til flertrådede applikasjoner ved å la ulike deler av programmet kjøres samtidig på forskjellige kjerner eller prosessorer.

Begrepet "tråd" har blitt brukt i dataterminologi i mange år; Det var imidlertid ikke før tidlig på 2000-tallet at støtte på maskinvarenivå for tråder ble introdusert i prosessorer. Dette gjorde at flere tråder kunne kjøres samtidig på separate kjerner. Tidligere kunne bare én tråd kjøres om gangen på en enkelt kjerne, uavhengig av hvor mange kjerner som var til stede i prosessoren. Flerkjerneprosessorer er nå vanlig, og de fleste operativsystemer gir et visst nivå av støtte for å kjøre programmer som flere tråder.

Avslutning av kjerneproblemene

For å oppsummere er CPU-er den maskinvarebaserte hjernen til datamaskinene våre, mens deres virtuelle motstykke, vCPU-er, er programvarebaserte og laget av hypervisorer for å kjøre i virtuelle maskiner. Kjerner er de maskinvarebaserte prosesseringsenhetene i en CPU, mens tråder er de programvarebaserte instruksjonene som kan behandles av en CPU.

Tråder kan kjøres samtidig på separate kjerner, noe som gjør at ulike deler av programmet kan kjøres samtidig. Dette kan forbedre maskinvareytelsen siden flere oppgaver kan behandles samtidig i stedet for sekvensielt.

Nå som du forstår forskjellen mellom CPUer, vCPUer, kjerner og tråder, kan du ta en informert beslutning når du velger en datamaskin eller server. Hvis du leter etter ytelse, er det best å velge en datamaskin med flere CPU-kjerner siden hver kjerne kan behandle instruksjoner uavhengig. Men hvis du leter etter en kostnadseffektiv løsning, kan vCPUer være veien å gå.