CPU-grunderna: Vad är kärnor, hyper-threading och flera processorer?

0
76
Jason Fitzpatrick/How-To Geek

En enda modern CPU har vanligtvis flera kärnor. Varje kärna är sin egen processor. Samtidig multi-threading, kallad Hyper-Threading av Intel, delar upp varje fysisk kärna i två logiska processorer. Varje logisk processor låter ditt operativsystem köra två separata uppgifter. En processor med åtta kärnor visas till exempel som en enda processor med 8 kärnor och 16 logiska processorer.

Den centrala processorenheten (CPU) i din dator gör beräkningsarbetet — kör program, i princip. Men moderna processorer erbjuder funktioner som flera kärnor och hypertrådning. Vissa datorer använder till och med flera processorer. Vi förklarar skillnaderna och hur de fungerar.

Innehållsförteckning

Vad är Hyper-Threading och Simultaneous Multithreading?
Vad är CPU-kärnor?
Är alla flerkärniga CPU-konfigurationer desamma?
Vad med flera CPU:er?

< h2 role="heading" aria-level="2">Vad är Hyper-Threading och Simultaneous Multithreading?

Simultaneous Multithreading (kallad Hyper-Threading av Intel) gör att en enda CPU kan köra flera uppgifter samtidigt snarare än sekventiellt, vilket förbättrar prestandan i de flesta situationer.

Hyper-threading var Intel’s första försök att ta med parallell beräkning till konsumentdatorer redan 2002. Dagens Pentium 4’s hade bara en enda CPU-kärna, så den kunde bara utföra en uppgift åt gången & #8212; även om det kunde växla mellan uppgifter tillräckligt snabbt att det verkade som multitasking. Hyper-Threading — kallas simultane multithreading (SMT) på AMD och andra icke-Intel-processorer — försökte kompensera för det.

Obs! Strängt taget är det bara Intel-processorer som har hypertrådning, men termen används ibland i vardagsspråk för att referera till någon form av simultan multithreading.

En enda fysisk CPU-kärna med hyper-threading eller simultan multithreading visas som två logiska CPU:er för ett operativsystem. CPU:n är fortfarande en enda CPU, så det är lite av ett fusk. Medan operativsystemet ser två CPU:er för varje kärna, har den faktiska CPU-hårdvaran bara en enda uppsättning exekveringsresurser för varje kärna. CPU:n låtsas att den har fler kärnor än den har, och den använder sin egen logik för att påskynda programexekveringen. Operativsystemet luras med andra ord att se två CPU:er för varje faktisk CPU-kärna.

Hyper-threading tillåter de två logiska CPU-kärnorna att dela fysiska exekveringsresurser. Detta kan påskynda saker och ting något — om en virtuell CPU har stannat och väntar kan den andra virtuella CPU låna sina exekveringsresurser. Hyper-threading kan påskynda ditt system, men det är inte i närheten av så bra som att ha faktiska ytterligare kärnor.

Hannah Stryker/How-To Geek

Tack och lov är hypertrådning nu bara en bonus. Medan de ursprungliga konsumentprocessorerna med hyper-threading bara hade en enda kärna som maskerade sig som flera kärnor, har moderna processorer nu både flera kärnor och hyper-threading eller SMT-teknik. Din hexa-core CPU med hyper-threading visas som 12 kärnor i ditt operativsystem, medan din octa-core CPU med hyper-threading visas som 16 kärnor. Hyper-threading är ingen ersättning för ytterligare kärnor, men en dual-core CPU med hyper-threading bör prestera bättre än en dual-core CPU utan hyper-threading.

Vad är CPU-kärnor?

Ursprungligen hade processorer en enda kärna. Det innebar att den fysiska CPU:n hade en enda centralenhet på sig. För att öka prestandan lade tillverkarna till ytterligare “kärnor,” eller centrala bearbetningsenheter. En processor med dubbla kärnor har två centrala processorer, så det ser ut för operativsystemet som två processorer. En CPU med två kärnor kan till exempel köra två olika processer samtidigt. Detta snabbar upp ditt system eftersom din dator kan göra flera saker samtidigt.

Till skillnad från hypertrådning finns det inga knep här — en dual-core CPU har bokstavligen två centrala processorenheter på CPU-chippet. En fyrkärnig processor har fyra centrala processorenheter, en åttakärnig processor har åtta centrala processorer och så vidare.

Detta hjälper till att dramatiskt förbättra prestandan samtidigt som den fysiska CPU-enheten hålls tillräckligt liten för att få plats i en enda sockel. Det behöver bara finnas en enda CPU-sockel med en enda CPU-enhet insatt i den — inte fyra olika CPU-sockets med fyra olika CPU:er, som var och en behöver sin egen ström, kylning och annan hårdvara. Det finns mindre latens eftersom kärnorna kan kommunicera snabbare, eftersom de alla är på samma chip.

Windows Task Manager visar detta ganska bra. Här kan du till exempel se att detta system har en faktisk CPU (socket) och 8 kärnor. Samtidig multithreading gör att varje kärna ser ut som två processorer för operativsystemet, så den visar 16 logiska processorer.

Är alla flerkärniga CPU-konfigurationer desamma?

Nej, inte alla flerkärniga CPU-konfigurationer är samma. Det finns två distinkta designfilosofier du kommer att stöta på när du tittar på flerkärniga processorer.

En typ av konfiguration — och den typ som har varit vanlig i konsumentdatorer i flera år — använder flera identiska kärnor. I dessa inställningar, om du har ett åttakärnigt system är alla de åtta processorerna högpresterande processorer, och de är alla optimerade på samma sätt.

Den andra använder en blandning av olika kärnor (kallas ibland en heterogen kärnarkitektur). Vanligtvis kommer dessa inställningar att använda två distinkta typer: prestandakärnor och effektivitetskärnor.

Det exakta namnschemat varierar lite mellan företag och applikationer, men grundtanken är densamma. Effektivitetskärnorna är reserverade för bakgrundsuppgifter och uppgifter med låg efterfrågan. Dessa kärnor förbrukar mindre ström. Prestandakärnor är raka motsatsen. De förbrukar betydligt mer ström men ger mycket bättre prestanda i krävande uppgifter, som spel. Kombinationen resulterar i prestanda när du behöver det, men lägre bakgrundsenergianvändning.

RELATERAT: Vad är underspänning av en GPU eller CPU, och när ska du göra det?

Denna heterogena flerkärniga installationen (kallad big.LITTLE av ARM) blev först populär bland mobiltelefoner och andra mobila enheter på grund av de energibesparingar de erbjöd. När du behöver att din telefon ska hålla hela dagen är det inte meningsfullt att tömma batteriet i onödan genom att köra en kraftfull kärna hela tiden. Intel introducerade också idén i vanliga stationära processorer, och började med sina Alder Lake-processorer.

Vad sägs om flera processorer?

De flesta datorer har bara en enda CPU. Den enda processorn kan ha flera kärnor eller hypertrådningsteknik — men det är fortfarande bara en fysisk CPU-enhet som är insatt i en enda CPU-sockel på moderkortet.

RELATERAT: Varför kan du inte använda CPU-klockhastighet för att jämföra datorprestanda

Innan hyper-threading och flerkärniga processorer kom, försökte folk lägga till ytterligare processorkraft till datorer genom att lägga till ytterligare processorer. Detta kräver ett moderkort med flera CPU-socklar. Moderkortet behöver också extra hårdvara för att ansluta dessa CPU-sockets till RAM-minnet och andra resurser. Det finns mycket omkostnader i den här typen av installation. Det finns ytterligare latens om processorerna behöver kommunicera med varandra, system med flera processorer förbrukar mer ström och moderkortet behöver fler uttag och hårdvara.

Justin Duino/How-To Geek

System med flera processorer är inte särskilt vanliga bland hemanvändarnas datorer idag. Även en kraftfull speldator med flera grafikkort kommer i allmänhet bara att ha en enda CPU. Du hittar flera CPU-system bland superdatorer, servrar, vissa arbetsstationer och liknande avancerade system som behöver så mycket siffror som de kan få.

Ju fler processorer eller kärnor en dator har, desto fler saker kan den göra på en gång, vilket hjälper till att förbättra prestandan för de flesta uppgifter. De flesta datorer har nu processorer med flera kärnor — det mest effektiva alternativet vi har diskuterat. Du hittar till och med processorer med flera kärnor på moderna smartphones och surfplattor.

Klockhastigheten för en CPU och dess IPC (instruktioner per cykel) brukade vara tillräcklig när man jämför prestanda. Saker och ting är inte så enkla längre. En CPU som erbjuder flera kärnor och hyper-threading kan prestera betydligt bättre än en CPU med samma hastighet som inte har hyper-threading. Och datorer med flera processorer kan ha en ännu större fördel. Alla dessa funktioner är utformade för att göra det lättare för datorer att köra flera processer samtidigt — öka din prestanda vid multitasking eller under kraven från kraftfulla appar som videokodare och moderna spel.

Naturligtvis är ett högre antal kärnor inte så viktigt i alla situationer. Moderna operativsystem är ganska smarta med att dela upp sina uppgifter mellan flera kärnor, men alla program är inte så väl optimerade. I många fall (särskilt spel) begränsas prestandan i första hand av den maximala hastigheten för en enskild kärna snarare än hur många kärnor du har totalt. Så skynda dig inte ut för att köpa en 64-kärnig Threadripper-processor och tänk att du får en miljard FPS i Call of Duty — det kommer inte.

LÄS NÄSTA

  • › Vad är nytt i Windows 10s uppdatering från november 2019, tillgänglig nu
  • › Så här benchmarkar du din Windows-dator: 5 gratis benchmarkingverktyg
  • › Hur ofta ska du skaffa en ny iPhone?
  • › Så här kontrollerar du vilken CPU din Mac använder
  • › Ryzen 4000: Kommer din nästa speldator att vara AMD istället för Intel?
  • › Hur man låter Linux-skript upptäcka att de körs i virtuella maskiner
  • › Så startar du din egen Minecraft-server för spel med flera spelare
  • › System76 Meerkat är en liten dator byggd för Linux