Flerkjernet CPU-arkitektur og flerprosessorsystemer

Siste oppdatering: 2 mars 2026
Forfatter: TecnoDigital
  • Flerkjerneprosessorer integrerer flere komplette kjerner i én brikke, og deler noe av kretsene for å forbedre kostnader, strømforbruk og ytelse.
  • Et flerprosessorsystem monterer flere fysiske CPU-er på hovedkortet, og oppnår lignende effekter på trådnivå, men med større kompleksitet og høyere kostnad.
  • For å virkelig dra nytte av flere kjerner, trenger du parallelliserte operativsystemer og applikasjoner, samt teknologier som HyperThreading eller SMT for å få mest mulig ut av hver kjerne.
  • Energiforbruk, varmespredning og transistorminiatyrisering former utviklingen av CPUer, GPUer og spesialiserte brikker for AI og annen intensiv bruk.

Flerkjerners CPU-arkitektur

Hvis du åpner så godt som hvilken som helst stasjonær datamaskin, bærbar PC eller til og med en smarttelefon i dag, vil du finne en flerkjerneprosessor som er designet for å fungere parallelt . Selv om vi har levd med denne teknologien i mange år, er det fortsatt betydelig forvirring om hva det vil si å ha flere kjerner, hvordan de skiller seg fra å ha flere fysiske prosessorer, og hvordan alt dette passer inn i konsepter som HyperThreading, SMT eller GPU-er.

For å rydde opp i all denne forvirringen, la oss rolig, men direkte, se på arkitekturen til en flerkjerne-CPU , rollen til hver komponent, og hvordan den utnyttes av operativsystemet og programvaren . Vi skal også undersøke den virkelige forskjellen mellom flerkjerne- og flerprosessorsystemer, diskutere strømforbruk og varmespredning, og avslutte med en titt på rollen til GPU-er og brikker spesialisert i oppgaver som AI og videoredigering.

Grunnleggende funksjon av CPU-en i en datamaskin

Prosessoren, den berømte CPU-en eller sentralprosessorenheten , er den elektroniske kretsen som tolker og utfører programinstruksjoner . Den er bygget opp av millioner eller milliarder av transistorer, organisert i logiske porter og interne baner som elektriske signaler som representerer data og kommandoer sirkulerer gjennom.

Det er nettopp denne CPU-en som gjør at en datamaskin kan gå fra å være en haug med brikker og ledninger til å bli en maskin som er i stand til å transformere elektriske signaler til dataoperasjoner og, i mange tilfeller, til fysiske handlinger i den virkelige verden . Uten en prosessor ville en PC, en spillkonsoll, en mobiltelefon eller til og med et "smart" apparat være lite mer enn en dyr pyntegjenstand.

Når du kjører et kontorprogram, kompilerer kode, gjengir en video eller bare surfer på internett, leser CPU-en din kontinuerlig instruksjoner, flytter data mellom minne, registre og periferiutstyr, og koordinerer arbeidet til resten av systemet . Denne orkestreringen av operasjoner måles i hertz (Hz), som indikerer hvor mange klokkesykluser per sekund prosessoren kan fullføre.

I årevis fokuserte bransjen først og fremst på frekvens: kappløpet om å nå og overgå gigahertz førte til arkitekturer som Intels NetBurst, designet for å skalere i GHz . Men senere traff de en vegg: hver frekvensøkning drev strømforbruket og temperaturen til nivåer som var vanskelige å kontrollere med konvensjonelle kjøleribber.

Hva er egentlig en prosessorkjerne?

Inne i pakken til en moderne CPU finnes det ikke én monolittisk dataenhet, men snarere flere gjentatte blokker: hver kjerne er i hovedsak en komplett CPU integrert i samme brikke . Kombinasjonen av alle disse kjernene, mellombufferne deres og de interne bussene er det vi vanligvis kaller prosessorarkitekturen.

I markedet for forbruker-PCer er den dominerende arkitekturen x86 og dens 64-bits utvidelser. Denne arkitekturen definerer instruksjonssettet, registrene, adresseringsmodusene og den generelle oppførselen til kjernene . Prosessorer med 2, 4, 8, 16 eller flere kjerner er bygget på den, og alle er i stand til å utføre samme type maskinkode.

Hvis vi ser på detaljene, ser vi at hver kjerne består av flere nøkkelblokker som samarbeider for å utføre instruksjoner raskt og på en ordnet måte . Selv om de spesifikke implementeringene varierer avhengig av produsent og generasjon, er de grunnleggende elementene svært like.

En typisk kjerne inneholder blant annet følgende komponenter:

  • Kontrollenhet (UC): har ansvaret for dirigere instruksjonsflyten og koordinere kjernens arbeid og kommunikasjon med minne og periferiutstyr på en synkronisert måteDen genererer kontrollsignaler som indikerer hva som skal leses, skrives eller dekodes i hver syklus.
  • Aritmetisk-logisk enhet (ALU): er den delen som Den utfører aritmetiske operasjoner (addisjon, subtraksjon, forskyvning) og logiske operasjoner (OG, ELLER, XOR, sammenligninger) på dataene den mottar.Det er vanligvis flere ALU-er for å parallellisere mikrooperasjoner.
  • RecordsDe er små celler med ultraraskt minne hvor data, adresser og mellomresultater av instruksjonene som utføres lagres midlertidigDe fungerer som den umiddelbare «arbeidsgruppen» til kjernen.

Rundt disse elementene finnes også mellomlagringer på forskjellige nivåer (L1, L2, noen ganger delt L3), instruksjonskøer, logikk for forgreningsprediksjon og enheter spesialisert i flyttall- eller vektoroperasjoner . Alt dette kombineres for å behandle en kontinuerlig flyt av instruksjoner med størst mulig effektivitet.

Hvorfor gikk vi fra å øke GHz til å legge til flere kjerner?

I den personlige databehandlingens tidlige dager var den enkleste måten å selge mer strøm på å øke klokkehastigheten: jo flere klokkesykluser per sekund, desto flere instruksjoner kunne fullføres, forutsatt at arkitekturen tillot det . Å oppnå den første 1 GHz-prosessoren var en viktig milepæl for både servere og hjemme-PC-er.

Den første kommersielle brikken som nådde gigahertz var DEC Alpha tidlig på 90-tallet, en prosessor designet for arbeidsstasjoner og servere . I hjemmemarkedet, rundt 1999, nådde Intel med sin Pentium III og AMD med sin Athlon også GHz-barrieren, og en stund fokuserte markedsføringen på «jo mer GHz, jo bedre».

  Kvaliteten på mobiltelefonsensorer og optikk: en komplett guide

Men etter et visst punkt oppdaget produsentene at ytterligere økning av frekvensen økte varmeutviklingen og energiforbruket dramatisk . Kjernen ble utsatt for enorme termiske belastninger, og de nødvendige kjølesystemene ble upraktiske for den gjennomsnittlige brukeren.

I den sammenhengen oppsto strategiendringen: hvis skalering i MHz og GHz ble mindre og mindre levedyktig, var det logiske alternativet å introdusere flere kjerner som kunne jobbe samtidig med forskjellige oppgaver . I stedet for én enkelt kjerne på 10 GHz, flyttet bransjen fokuset til å tilby to, fire, åtte eller flere kjerner som opererer på lavere frekvenser.

Ideen er relativt enkel: hvis én kjerne er i stand til å behandle et visst antall instruksjoner per tidsenhet, kan flere kjerner fordele arbeidsmengden og øke den generelle ytelsen, spesielt hvis programvaren er designet for å kjøre parallelt . Det er grunnlaget for moderne flerkjernearkitektur.

De første flerkjerneprosessorene og deres utvikling

Selv om hjemmebrukere begynte å høre om tokjerneprosessorer rundt midten av 2000-tallet, ble de første flerkjerneprosessorene allerede brukt i servermiljøer og store systemer . Som ofte er tilfelle, sivet teknologien først ned fra næringslivet.

En av de første milepælene var IBM POWER4, som regnes som den første kommersielle prosessoren med to kjerner integrert på én enkelt brikke . Den dukket opp rundt 2000–2001 med frekvenser rundt 1,1 GHz og var rettet mot avanserte servere.

I forbrukermarkedet kom spranget noe senere. I 2005 lanserte Intel Pentium Extreme Edition 840, en tokjerners stasjonærprosessor som også innebygde HyperThreading , slik at operativsystemet kunne se fire logiske prosessorer. Kort tid etter svarte AMD med Athlon X2.

I mellomtiden ble en annen mulighet utforsket: flerprosessorsystemer, der et hovedkort inneholder to eller flere komplette fysiske CPU-er . Dette alternativet tilbød høy ytelse, men på bekostning av kompleksitet, strømforbruk og pris, så det forble primært for servere og høyytelses arbeidsstasjoner.

Over tid, og takket være miniatyriseringen av transistorer, ble det mulig å integrere flere og flere kjerner i en enkelt integrert krets, noe som reduserte størrelse og strømforbruk per ytelsesenhet . Produksjonsprosesser rundt 7 nm eller enda mindre har tillatt introduksjonen av veritable monstre med opptil 32 eller 64 kjerner i det profesjonelle markedet.

Flerkjerner kontra flerprosessor: er de det samme?

På et konseptuelt nivå er et flerkjernesystem og et flerprosessorsystem svært like: i begge tilfeller er det flere "datahjerner" som er i stand til å kjøre tråder samtidig . Det er derfor mange forklaringer (som den fra Superuser du nevnte) oppsummerer forskjellen som primært fysisk og økonomisk.

I et klassisk flerprosessorsystem har du flere fysiske CPU-er installert i forskjellige sokler på hovedkortet, hver med sine egne kjerner, hurtigbuffere og kontrollere . I en moderne flerkjernebrikke ligger imidlertid alle disse kjernene i samme pakke og deler noe av kretsene, for eksempel visse hurtigbuffere eller minnetilgang.

Hva betyr dette i praksis? Det betyr at et flerkjernesystem vanligvis er mer effektivt når det gjelder kostnader, plass og strømforbruk enn å bruke flere separate fysiske prosessorer for å oppnå et tilsvarende antall kjerner . Hurtigbufferkoherenslogikken og interne busser er mye mer integrerte og optimaliserte.

Fra et operativsystem og de fleste applikasjoners perspektiv er imidlertid en kjerne ganske enkelt en utførelsesenhet som er i stand til å kjøre tråder, uavhengig av om den er på samme brikke som andre kjerner eller på en separat CPU . Det er derfor mange beskrivelser forenkler og sier at flerkjerne- og flerprosessor-systemer «gjør det samme».

Sammenligningstabellene på noen nettsteder (som de du lenket til fra GeeksforGeeks eller Javatpoint) overdriver noen ganger forskjellene, og går til og med så langt som å hevde ting som «et flerkjernesystem er bare bra for å kjøre ett enkelt raskt program, og flerprosessorer er nødvendige for flere programmer », noe som ikke er riktig. Begge systemtypene kan kjøre flere prosesser og flere tråder; den virkelige forskjellen ligger i hvordan den fysiske implementeringen har blitt håndtert og i nyansene av minnekoherens, latens og skalerbarhet.

Hva skal til for å virkelig dra nytte av flere kjerner?

Å legge mange kjerner på silisium er bare halve historien. For å få mest mulig ut av dem, må operativsystemet og fremfor alt applikasjonene være utformet for å parallellisere arbeidsmengden sin på tvers av flere tråder . En stund var dette den virkelige flaskehalsen i spranget til flerkjerneprosessorer.

Moderne operativsystemer (Windows, Linux, macOS, osv.) er fullt ut flerprosessorer og i stand til å distribuere prosesser og tråder mellom de forskjellige tilgjengelige fysiske og logiske kjernene . Planleggeren er ansvarlig for å bestemme hvilken tråd som kjører på hvilken kjerne og hvor lenge.

Det historiske problemet var ikke så mye operativsystemet som brukerprogramvaren. Mange eldre programmer ble skrevet med tanke på én enkelt utførelsestråd, så selv om datamaskinen hadde 4 eller 8 kjerner, ville den spesifikke applikasjonen bare mette én . I slike tilfeller forbedret det å legge til flere kjerner knapt ytelsen til den spesifikke oppgaven.

  Fordeler med Linux fremfor Android: en komplett og praktisk analyse

Over tid, drevet av nødvendighet (videoredigering, 3D-design, simuleringer, databaseservere osv.), begynte utviklere å designe applikasjoner med ekte flerkjernestøtte, og delte arbeidet inn i tråder som kunne kjøres parallelt . Det er i denne sammenhengen at konseptene prosesstråder, delprosesser eller tråder blir fremtredende.

I dag skalerer profesjonelle design-, renderings-, videoredigerings- eller CAD-programmer vanligvis veldig bra med antall kjerner og tråder , mens mange videospill fortsatt er mer begrenset av én eller noen få tunge tråder (selv om det også har vært betydelig fremgang innen parallellisme i spilling).

HyperThreading, SMT og logiske tråder

I tillegg til å øke antallet fysiske kjerner, introduserte produsentene en annen interessant idé: å gjøre det mulig for hver fysisk kjerne å håndtere mer enn én tråd samtidig gjennom samtidig multithreading . Hos Intel ble dette kjent som HyperThreading; hos AMD blir det vanligvis referert til som SMT (Simultaneous Multi-Threading).

Grunnlaget for denne teknikken er at det i en kjerne finnes mange utførelsesenheter som ikke alltid er 100 % opptatt . Hvis du bare administrerer én tråd, vil kjernen av og til vente på data fra minnet eller resultater fra en annen intern blokk, noe som sløser bort potensialet.

Samtidig flertråding lar to (eller flere) logiske tråder dele den samme fysiske kjernen og dens interne ressurser, og fyller dermed hull i utførelsesprosessen . For operativsystemet ser det ut til at det finnes flere "prosessorer" tilgjengelig, men i virkeligheten er det som er gjort å utnytte den eksisterende maskinvaren bedre.

For eksempel vil en firekjerners prosessor med aktivert HyperThreading bli sett på av systemet som åtte logiske prosessorer, noe som er nyttig i scenarier med mange lette oppgaver eller betydelig minneventing . Intel tilbyr denne teknologien i mange av sine Core- og Xeon-produktlinjer, mens AMD bruker den i Ryzen- og EPYC-prosessorer under SMT-paraplyen.

Viktig: En logisk tråd tilbyr ikke samme ytelse som en ekstra fysisk kjerne, men den gir en merkbar forbedring under visse typer arbeidsbelastninger . Det er derfor vi refererer til «ekte kjerner» kontra «logiske prosessorer» når vi ser på Windows Oppgavebehandling eller andre overvåkingsverktøy.

Slik finner du ut hvor mange kjerner og tråder CPU-en din har

På Windows-systemer, hvis du åpner Oppgavebehandling og går til Ytelse-fanen, vil du se en spesifikk seksjon for CPU-en . Der finner du informasjon om både antall fysiske kjerner og antall logiske prosessorer (tråder) som er tilgjengelige.

Det er viktig å merke seg at noen systemverktøy eller klassiske verktøy ikke alltid skiller mellom fysiske kjerner og logiske tråder, og kan referere til begge ganske enkelt som «prosessorer ». Derfor vises en 6-kjerners prosessor med SMT aktivert ofte som 12 «CPU-er» i visse oppføringer.

I andre operativsystemer er situasjonen lik: Linux tilbyr kommandoer som lscpu eller cat /proc/cpuinfo for å se oversikten over fysiske kjerner og tråder , og i macOS kan du sjekke systeminformasjon eller bruke kommandolinjeverktøy.

Denne forskjellen mellom kjerner og tråder er relevant når du skal forstå hva du kjøper eller hva du kan forvente av datamaskinen din: en prosessor med 4 kjerner og 8 tråder er ikke det samme som en med 8 kjerner og 8 tråder, selv om begge annonseres som "8 tråder ". Sistnevnte vil generelt ha mer rå kraft for svært parallelle arbeidsbelastninger.

GPU-er, mikroprosessorer og andre relaterte komponenter

Selv om vi vanligvis fokuserer på CPU-en når vi tenker på flerkjernearkitektur, finnes det andre spesialiserte prosessorer som også jobber med titalls eller tusenvis av kjerner for å akselerere spesifikke oppgaver . Det mest kjente eksemplet er GPU-en.

En grafikkprosessor (GPU) er en type prosessor som er designet for å utføre et stort antall enkle operasjoner parallelt . Den ble opprinnelig utviklet for å akselerere grafikkgjengivelse på PC-er, konsoller og mobile enheter, men i dag brukes den mye i AI, kryptovalutautvinning og vitenskapelig databehandling.

I likhet med en CPU består en GPU av transistorer og logikkblokker, men den interne arkitekturen er optimalisert for massiv parallellisme, med mange små kjerner organisert i grupper som er i stand til å behandle store datamengder svært konsekvent . Det er derfor de utmerker seg innen grafikk og nevrale nettverk.

Innen tradisjonelle CPU-er har miniatyrisering ført til mikroprosessorer: komplette CPU-er integrert på en enkelt integrert kretsbrikke, med én eller flere fysiske kjerner . I dag er så godt som alle forbruker-CPU-er flerkjernede mikroprosessorer.

I denne mikroprosessoren er hver fysiske kjerne avhengig av et økosystem av hurtigbuffere, interne busser og minne- og input/output-kontrollere, alt pakket på svært liten plass . Dette muliggjør montering av svært kraftige systemer på kompakte hovedkort, noe som er nøkkelen til bærbare datamaskiner, mini-PC-er og innebygde enheter.

Energiforbruk, varme og datasenterdesign

Strømforbruk er en av faktorene som påvirker utviklingen av flerkjernede CPU-er mest. Jo flere kjerner vi legger til og jo høyere klokkehastighet, desto mer strøm avgis som varme . Denne varmen må fjernes fysisk fra brikken for å forhindre at den blir ødelagt.

  Slik installerer du Portainer for å administrere Docker-containerne dine

I en hjemme-PC betyr dette større kjøleribber, kraftigere vifter eller til og med væskekjølesystemer . I et datasenter, hvor tusenvis av servere jobber med full kapasitet, blir ligningen kritisk: kostnadene for kjøling kan være enorme.

Derfor designer store skyleverandører og hyperskala datasentre infrastrukturer med omhyggelig planlagt klimakontroll, varme og kalde ganger, og i noen tilfeller direkte væskekjøling av komponentene . Til syvende og sist multipliseres hver watt som spares per prosessor på tvers av tusenvis av maskiner.

Hjemme spiller bærekraft også en rolle: en veldig kraftig datamaskin kan bruke mye energi hvis den er konstant under tung belastning . Dette er akseptabelt for sporadiske krevende oppgaver, men det gir ikke mye mening hvis du bare skal surfe på internett, se på videoer og gjøre grunnleggende kontorarbeid.

Derfor fokuserer produsenter stadig mer på effektivitet: hybridarkitekturer med høyytelseskjerner og høyeffektive kjerner, dynamisk frekvens- og spenningsskalering og dyp søvnmodus bidrar til å redusere strømforbruket når full effekt ikke er nødvendig.

Spesialiserte brikker og rollen til AI

Den nylige eksplosjonen innen kunstig intelligens har ført til fremveksten av prosessorer og akseleratorer som er spesielt utviklet for maskinlæring og arbeidsbelastninger i nevrale nettverk . Her snakker vi ikke lenger bare om CPUer og GPUer, men også enheter som Tensor Processing Units (TPUer) eller Tensor Streaming Processors (TSPer).

Disse brikkene fokuserer på å levere eksepsjonell ytelse i matrise- og vektoroperasjoner, typisk for AI-modelltrening og inferens . De inkluderer vanligvis hundrevis eller tusenvis av enkle, men svært organiserte dataenheter for å maksimere dataparallellitet.

Innen generelle CPU-er finnes det også modeller som er spesielt utviklet for disse arbeidsbelastningene. For eksempel er prosessorer med dusinvis av kjerner, som visse AMD Threadripper-prosessorer eller avanserte Intel Core- og Intel Xeon-modeller, høyt verdsatt for videoredigering, rendering og blandede AI- og kreative oppgaver.

Avhengig av hvordan du har tenkt å bruke datamaskinen, er det fornuftig å prioritere visse funksjoner fremfor andre: for profesjonell videoredigering trenger du mange CPU-kjerner og et godt GPU; for spilling er latens og ytelse per kjerne svært viktig; og for generelle oppgaver vil nesten hvilken som helst moderne CPU i mellomklassen være tilstrekkelig.

Alt dette sameksisterer med den konstante forbedringen i transistortetthet: hver ny generasjon av produksjonsprosesser tillater at mer logikk pakkes inn i samme rom eller reduserer strømforbruket for lignende ytelse . Dette forklarer hvorfor vi ser nyere CPU-er som langt overgår modeller fra bare noen få år siden i både ytelse og effektivitet.

Transistorer: grunnlaget for hele denne arkitekturen

Under all sjargongen med kjerner, tråder, hurtigbuffere og GPU-er ligger en ydmyk, men grunnleggende komponent: transistoren, den lille halvlederenheten som styrer strømflyten i en krets . Navnet kommer fra «overføringsmotstand».

Innen databehandling brukes transistorer til å bygge logiske porter, registre, minner og alle slags digitale blokker. De er ansvarlige for fysisk implementering av det binære språket med 0-er og 1-er som datamaskiner bruker til å representere informasjon og boolsk logikk.

Utviklingen av moderne elektronikk kan oppsummeres som et kappløp om å få plass til flere og flere transistorer på mindre plass, samtidig som strømforbruket per transistor reduseres . Det er essensen av påfølgende generasjoner av produksjonsprosesser: fra mikrometer (µm) til nanometer (nm), og skalaen fortsetter å krympe.

I en moderne flerkjerne-CPU jobber milliarder av disse små elektroniske bryterne på full hastighet. Deres pålitelighet, størrelse og effektivitet bestemmer til syvende og sist ytelsen og begrensningene til enhver prosessorarkitektur.

Hvis vi tenker på det i perspektiv, er all magien med å kjøre flere tråder, koordinere flere kjerner, dele hurtigbuffer eller flytte data mellom CPUer, GPUer og spesialiserte akseleratorer ikke noe mer enn en gigantisk koreografi av transistorer som slås av og på etter svært veldefinerte mønstre.

Etter å ha vurdert alt det ovennevnte, kan vi få en mye klarere idé om hva som egentlig ligger bak en "flerkjerneprosessor" utover bare antall kjerner. Antall kjerner og frekvensen deres er viktig, ja, men det er også den interne arkitekturen, støtte for teknologier som HyperThreading eller SMT, energieffektivitet, designet til programvaren som utnytter dem, og hvordan de fungerer med andre prosessorer som GPU-en . Å forstå disse komponentene lar deg velge maskinvare mer effektivt og, fremfor alt, sette i kontekst hva spesifikasjonene du ser i de tekniske databladene egentlig betyr.

parallell prosessering datamaskinarkitektur
Relatert artikkel:
Parallell prosessering: Dataarkitektur