En multi-core processor er en central behandlingsenhed, der indeholder to eller flere behandlingskerner på én processorchip eller i én pakke .
På engelsk er der to almindeligt anvendte udtryk for processorer med flere kerner: multi-core og mange-core .
Udtrykket multi -core ( engelsk multi-core [1] ) bruges normalt om centrale processorer, der indeholder to eller flere generelle kerner , men bruges nogle gange også om digitale signalprocessorer (DSP) og single-chip systemer (SoC, SoC) ). Under multi-core-processoren forstå, at flere kerner er integreret i et integreret kredsløb (lavet på den samme siliciumchip). Hvis flere halvlederkrystaller blev kombineret i en pakke , kaldes designet et multi-chip- modul ( engelsk multi-chip-modul , MCM).
Udtrykket multiprocessor refererer til computere, der har flere fysisk adskilte processorer ( for eksempel har serverbundkort ofte 2 eller 4 sokler til at forbinde flere chips), men styres af en enkelt operativsystem (OS) instans.
Begrebet multi-core [1] ( engelsk many-core [2] eller engelsk massively multi-core ) kan bruges til at beskrive multi-core systemer, der har et stort antal kerner, fra tiere til hundredvis eller mere. For eksempel var det navnet "multi-core" ("mange kerner"), der blev brugt af Intel til Intel MIC -beregnere [3] .
Multiprocessor på en chip (single-chip multiprocessor, on-chip multiprocessor, chip multiprocessing, CMP) - sådan kaldte tidlige forskere deres projekter med at placere flere processorer på et enkelt substrat [4] [5] [6] .
Arkitekturen af multi-core processorer gentager stort set arkitekturen for symmetriske multiprocessorer ( SMP-maskiner ), kun i mindre skala og med sine egne funktioner.
De første multi-core processorer ( første generation af CMP ) var de enkleste ordninger: to processorkerner placeret på den samme chip uden at dele andre ressourcer end hukommelsesbussen (for eksempel Sun UltraSPARC IV og Intel Pentium D ). En "ægte multi-core" ( anden generation af CMP ) processor er, når dens behandlingskerner deler en cache på tredje eller andet niveau: for eksempel Sun UltraSPARC IV+, Intel Core Duo og alle moderne multi-core processorer.
I multi-core processorer er clockfrekvensen normalt bevidst reduceret. Dette giver dig mulighed for at reducere processorens strømforbrug uden at miste ydeevnen: Strømforbruget vokser som en terning fra stigningen i processorens frekvens. Ved at fordoble antallet af processorkerner og halvere deres clock-hastighed kan du få næsten samme ydeevne, mens strømforbruget på en sådan processor vil falde 4 gange.
I nogle processorer kan clockhastigheden for hver kerne variere afhængigt af dens individuelle arbejdsbyrde. Kernen er en fuldgyldig mikroprocessor, der bruger alle resultaterne af mikroprocessorteknologi: pipelines , udelukket kodeudførelse, multi-level cache , understøttelse af vektorinstruktioner .
Superskalaritet er ikke altid til stede i kernen, hvis for eksempel processorproducenten søger at forenkle kernen så meget som muligt.
Hver kerne kan bruge transient multithreading -teknologi eller, hvis superskalar, SMT -teknologi til at udføre flere tråde samtidigt , hvilket skaber illusionen af flere "logiske processorer" baseret på hver kerne. På Intel-processorer kaldes denne teknologi Hyper-threading og fordobler antallet af logiske processorer i forhold til fysiske. På Sun UltraSPARC T2 (2007)-processorer kan denne stigning være op til 8 tråde pr. kerne.
Multi-core-processorer kan kategoriseres efter deres understøttelse af (delt) cache - kohærens mellem kerner. Der er processorer med og uden sådan support. Kommunikationsmetode mellem kerner:
Cache: I alle multi-core processorer, der findes i dag , har hver kerne en niveau 1 cache individuelt, og der er flere muligheder for niveau 2 cache:
Multi-core processorer har også en homogen eller heterogen arkitektur:
Applikationer, der er optimeret til multithreading , oplever ydeevnegevinster på en multi-core processor. Men hvis applikationen ikke er optimeret, så vil den ikke have meget gavn af de ekstra kerner, og kan endda køre langsommere end på en processor med færre kerner, men en højere clockhastighed . Disse er for det meste applikationer udviklet før fremkomsten af multi-core processorer, eller applikationer, der i princippet ikke bruger multithreading.
De fleste operativsystemer giver dig mulighed for at køre flere programmer på samme tid . Dette opnår en ydeevnefordel, selvom applikationerne er enkelttrådede.
I dag anerkendes mange processorproducenter, især Intel , AMD , IBM , ARM , yderligere stigning i antallet af processorkerner som et af de prioriterede områder for at øge ydeevnen.
Den første processor beregnet til almindelig brug, snarere end til indlejrede systemer , var POWER4 , med to PowerPC -kerner på en enkelt chip, udgivet af IBM i 2001.
Den 2-kernede IBM PowerPC-970MP ( G5 ) blev introduceret i 2005. De seneste Power Mac G5'ere var udstyret med denne processor .
SPARCI marts 2004 introducerede Sun Microsystems den første 2-core processor i SPARC-arkitekturen: UltraSPARC IV , den første generation af CMP. Anden generation af CMP-processor var UltraSPARC IV+ (midten af 2005), hvor de to processorkerner delte en niveau 3 off-chip cache og en niveau 2 on-chip cache.
Fujitsu introducerede den 2-core SPARC64 VI processor i sin SPARC64 linje først i 2007.
x86I april 2005 frigav AMD AMD64 - arkitekturen 2-core Opteron-processor til servere .
I maj 2005 frigav Intel x86-64 - arkitekturen Pentium D- processor , den første 2-core processor designet til personlige computere. Dette var Intels "hurtige" svar på AMD's udfordring. I det væsentlige bestod Pentium D, baseret på Intels førende NetBurst -arkitektur , af to separate processorer placeret på det samme substrat uden nogen fælles elementer. Siden Intel forlod NetBurst-arkitekturen i slutningen af 2005, blev Pentium D ikke udviklet. En ægte multi-core Core Duo-processor baseret på en mere økonomisk Core -arkitektur blev frigivet af Intel i januar 2006.
I marts 2010 dukkede de første 12-core serielle processorer op, som blev AMDs Opteron 6100 serverprocessorer ( x86 / x86-64 arkitektur ). [7]
I 2011 mestrede AMD produktionen af 8-core processorer til hjemmecomputere [8] og 16-core processorer til serversystemer [9] .
I august 2011 udgav AMD de første 16-core serielle Opteron 6200-seriens serverprocessorer (kodenavnet Interlagos ). Interlagos - processoren kombinerer to 8-core (4-modul) chips i én pakke og er fuldt ud kompatibel med den eksisterende AMD Opteron 6100-serie ( Socket G34 ) platform. [ti]
Fra 2016 frigiver Intel processorer til Xeon E7 -servere - med antallet af kerner fra 4 til 24. [11] [12] (E5 - op til 22 kerner).
I februar 2020 lancerede AMD den første 64-core processor til hjemmecomputere AMD Ryzen Threadripper 3990X [13] .
En oversigt over mikroprocessorernes historie og deres parametre præsenteres i den opdaterede engelske artikel: Timeline of microprocessors , 2010s . For at få antallet af processorkerner skal du gange felterne "Cores per die" og "Dies per modul"; for at få antallet af hardwaretråde skal du gange antallet af kerner med antallet "threads per core". For eksempel for Xeon E7, Intel: "4, 6, 8, 10" kerner pr. 1 matrice pr. 1-2 hardwaretråde = maksimalt 10 kerner og 20 hardwaretråde, AMD FX "Bulldozer" Interlagos "4-8" pr. pr. 1 = maksimalt 16 kerner og 16 gevind.
Den 27. september 2006 på "IDF Fall" udviklerforum demonstrerede Intel en eksperimentel 80-core chip med en ydeevne på op til 1 TFLOPS. Hver kerne arbejdede ved en clockfrekvens på 3,16 GHz, chippens strømforbrug nåede omkring 100 W [14] .
Den 20. august 2007 annoncerede Tilera TILE64- chippenmed 64 processorkerner og et indbygget højtydende netværk, hvorigennem dataudveksling mellem forskellige kerner kan ske med hastigheder op til 32 Tbps. [15] [16]
Den 26. oktober 2009 annoncerede Tilera [ 17] en 100- kernet TILE-Gx- serie til generel processor . Hver processorkerne er en separat processor med niveau 1 og niveau 2 caches . Kernerne, hukommelsen og systembussen er forbundet via en mesh-netværkstopologi . Processorerne er fremstillet ved hjælp af en 40nm procesteknologi og arbejder ved en clockfrekvens på 1,5GHz. Frigivelsen af 100-kerne-processorer er planlagt til begyndelsen af 2011.
Den 2. december 2009 introducerede Intel en single-chip " cloud " Single-chip Cloud Computer (SCC) computer, som er en 48-core chip. Processorens " uklarhed " er, at alle 48 kerner kommunikerer med hinanden som netværksknuder. SCC er en del af et projekt, hvis mål er at skabe en 100-core processor [18] .
I juni 2011 afslørede Intel detaljerne om Many Integrated Core (MIC)-arkitekturen, der udvikles - denne teknologi voksede ud af Larrabee -projektet . Mikroprocessorer baseret på denne arkitektur vil modtage mere end 50 x86 mikrokerner og vil blive produceret i 2012 ved hjælp af 22nm procesteknologi. Disse mikroprocessorer kan ikke bruges som en central behandlingsenhed , men computeracceleratorer vil blive bygget af flere chips af denne arkitektur i form af et separat udvidelseskort og konkurrere på GPGPU og højtydende computermarkeder med løsninger som Nvidia Tesla og AMD FireStream . [19] Ifølge arkitekturbeskrivelsen offentliggjort i 2012 er chips med op til 60 kerner mulige.
I oktober 2011 , Adaptevaintroducerede 64-kerne Epiphany IV mikroprocessorer , som viser ydeevne op til 70 gigaflops (SP), mens de bruger mindre end 1 watt strøm. Mikroprocessorerne er designet ved hjælp af en RISC -arkitektur, og prøveeksempler var planlagt til at blive produceret i 2012 ved hjælp af GlobalFoundries' 28nm procesteknologi. Disse processorer kan ikke bruges som en central behandlingsenhed , men Adaptevaforeslår at bruge dem som en coprocessor til komplekse opgaver såsom ansigtsgenkendelse eller brugerbevægelser. Adapteva hævder, at antallet af kerner i denne mikroprocessor i fremtiden kan øges til 4096. Det er planlagt, at processoren med 4096 kerner i hovedversionen (700 MHz) anslås at opnå 5,6 TFLOPS, der kun bruger 80 watt.
I januar 2012 , ZiiLabs(et datterselskab af Creative Technology ) annoncerede et 100-kernesystem baseret på ZMS-40- chippen . Dette system kombinerer en 4-kernet ARM Cortex-A9 1,5 GHz-processor (med neon multimedieblokke) og en række af 96 enklere og mindre alsidige StemCell -computerkerner . StemCell-kerner er en strømbesparende SIMD -arkitektur med 50 gigaflops peak floating point (32 bit) ydeevne , hvilke kerner fungerer mere som en GPU i andre systemer på en chip og kan bruges til video-, billed- og lydbehandling til 3D -acceleration - og 2D-grafik og andre multimedieopgaver (understøttet af OpenGL ES 2.0 og OpenCL 1.1) [22] .
I august 2019 introducerede Cerebras Systems verdens største multi-core superprocessor , Cerebras Wafer Scale Engine ; den har over 1,2 billioner transistorer på 400.000 kerner og optager næsten hele arealet af en halvlederwafer med en diameter på 300 mm. [23] . I 2020 skabte de også den største processor i computerhistorien; i test klarede den sig bedre end en supercomputer fra top 100 globale ranglister [24] .
Der er også en tendens til at introducere multi-core mikrocontrollere i mobile enheder .
For eksempel:
processorteknologier | Digitale|||||||||
---|---|---|---|---|---|---|---|---|---|
Arkitektur | |||||||||
Instruktionssæt arkitektur | |||||||||
maskinord | |||||||||
Parallelisme |
| ||||||||
Implementeringer | |||||||||
Komponenter | |||||||||
Strømstyring |