En flerkärnig processor är en central bearbetningsenhet som innehåller två eller flera bearbetningskärnor på ett processorchip eller i ett paket .
På engelska finns det två vanliga termer för processorer med flera kärnor: multi-core och many-core .
Termen multi -core ( engelska multi-core [1] ) används vanligtvis för centralprocessorer som innehåller två eller flera generella kärnor , men används ibland också för digitala signalprocessorer (DSP) och single-chip system (SoC, SoC ) ). Under flerkärnig processor förstå att flera kärnor är integrerade i en integrerad krets (gjord på samma silikonchip). Om flera halvledarkristaller kombinerades till ett paket kallas designen en multichipmodul ( engelsk multichipmodul , MCM).
Termen multiprocessor syftar på datorer som har flera fysiskt separata processorer (till exempel servermoderkort har ofta 2 eller 4 socklar för att ansluta flera chips), men som styrs av en enda operativsystemsinstans (OS).
Begreppet multi-core [1] ( engelska many-core [2] eller engelska massively multi-core ) kan användas för att beskriva multi-core system som har ett stort antal kärnor, från tiotals till hundratals eller fler. Till exempel var det namnet "multi-core" ("många kärnor") som användes av Intel för Intel MIC-räknare [3] .
Multiprocessor på ett chip (single-chip multiprocessor, on-chip multiprocessor, chip multiprocessing, CMP) - så kallade tidiga forskare sina projekt med att placera flera processorer på ett enda substrat [4] [5] [6] .
Arkitekturen för flerkärniga processorer upprepar i stort sett arkitekturen för symmetriska multiprocessorer ( SMP-maskiner ), bara i mindre skala och med sina egna funktioner.
De första flerkärniga processorerna ( första generationens CMP ) var de enklaste systemen: två processorkärnor placerade på samma chip utan att dela några andra resurser än minnesbussen (till exempel Sun UltraSPARC IV och Intel Pentium D ). En "äkta flerkärnig" ( andra generationens CMP )-processor är när dess bearbetningskärnor delar en tredje eller andra nivås cache: till exempel Sun UltraSPARC IV+, Intel Core Duo och alla moderna flerkärniga processorer.
I flerkärniga processorer reduceras klockfrekvensen vanligtvis medvetet. Detta gör att du kan minska strömförbrukningen för processorn utan att förlora prestanda: strömförbrukningen växer som en kub från ökningen av processorns frekvens. Genom att dubbla antalet processorkärnor och halvera deras klockhastighet kan du få nästan samma prestanda, samtidigt som strömförbrukningen för en sådan processor kommer att minska med 4 gånger.
I vissa processorer kan klockhastigheten för varje kärna variera beroende på dess individuella arbetsbelastning. Kärnan är en fullfjädrad mikroprocessor som använder alla prestationer av mikroprocessorteknik: pipelines , kodexekvering i oordning, multi-level cache , stöd för vektorinstruktioner .
Superskalaritet är inte alltid närvarande i kärnan, om till exempel processortillverkaren försöker förenkla kärnan så mycket som möjligt.
Varje kärna kan använda transient multithreading -teknologi eller, om superskalär, SMT -teknik för att exekvera flera trådar samtidigt , vilket skapar en illusion av flera "logiska processorer" baserat på varje kärna. På Intel-processorer kallas denna teknik för Hyper-threading och fördubblar antalet logiska processorer jämfört med fysiska. På Sun UltraSPARC T2 (2007)-processorer kan denna ökning vara upp till 8 trådar per kärna.
Flerkärniga processorer kan kategoriseras efter deras stöd för (delad) cachekoherens mellan kärnor. Det finns processorer med och utan sådant stöd. Kommunikationsmetod mellan kärnor:
Cache: I alla flerkärniga processorer som finns idag har varje kärna en nivå 1- cache individuellt, och det finns flera alternativ för nivå 2-cache:
Flerkärniga processorer har också en homogen eller heterogen arkitektur:
Applikationer som är optimerade för multithreading upplever prestandavinster på en flerkärnig processor. Men om applikationen inte är optimerad kommer den inte att dra mycket nytta av de extra kärnorna, och kan till och med köras långsammare än på en processor med färre kärnor men en högre klockhastighet . Det här är mestadels applikationer som utvecklats före tillkomsten av flerkärniga processorer, eller applikationer som i princip inte använder multithreading.
De flesta operativsystem låter dig köra flera applikationer samtidigt . Detta ger en prestandafördel, även om applikationerna är entrådiga.
Idag är många processortillverkare, särskilt Intel , AMD , IBM , ARM , ytterligare ökning av antalet processorkärnor erkänd som ett av de prioriterade områdena för att öka prestanda.
Den första processorn avsedd för vanlig användning, snarare än för inbyggda system , var POWER4 , med två PowerPC -kärnor på ett enda chip, släppt av IBM 2001.
Den 2-kärniga IBM PowerPC-970MP ( G5 ) introducerades 2005. De senaste Power Mac G5:orna var utrustade med denna processor .
SPARCI mars 2004 introducerade Sun Microsystems den första 2-kärniga processorn i SPARC-arkitekturen: UltraSPARC IV , den första generationens CMP. Den andra generationens CMP-processor var UltraSPARC IV+ (mitten av 2005), där de två processorkärnorna delade en nivå 3 off-chip cache och en nivå 2 on-chip cache.
Fujitsu introducerade den 2-kärniga SPARC64 VI - processorn i sin SPARC64- linje först 2007.
x86I april 2005 släppte AMD AMD64 - arkitekturen 2-kärniga Opteron-processor för servrar .
I maj 2005 släppte Intel x86-64 - arkitekturen Pentium D- processorn , den första 2-kärniga processorn designad för persondatorer. Detta var Intels "snabba" svar på AMD:s utmaning. Pentium D, baserad på Intels ledande NetBurst -arkitektur , bestod i huvudsak av två separata processorer placerade på samma substrat, utan några gemensamma element. Eftersom Intel övergav NetBurst-arkitekturen i slutet av 2005 utvecklades inte Pentium D. En äkta flerkärnig Core Duo-processor baserad på en mer ekonomisk Core -arkitektur släpptes av Intel i januari 2006.
I mars 2010 dök de första 12-kärniga seriella processorerna upp, som blev AMDs Opteron 6100 -serverprocessorer ( x86 / x86-64-arkitektur ). [7]
2011 bemästrade AMD produktionen av 8-kärniga processorer för hemdatorer [8] och 16-kärniga processorer för serversystem [9] .
I augusti 2011 släppte AMD de första 16-kärniga seriella Opteron 6200-seriens serverprocessorer (kodnamnet Interlagos ). Interlagos -processorn kombinerar två 8-kärniga (4- moduler ) chips i ett paket och är helt kompatibel med den befintliga AMD Opteron 6100-serien ( Socket G34 ) plattformen. [tio]
Från och med 2016 släpper Intel processorer för Xeon E7- servrar - med antalet kärnor från 4 till 24. [11] [12] (E5 - upp till 22 kärnor).
I februari 2020 lanserade AMD den första 64-kärniga processorn för hemdatorer AMD Ryzen Threadripper 3990X [13] .
En sammanfattning av mikroprocessorernas historia och deras parametrar presenteras i den uppdaterade engelska artikeln: Timeline of microprocessors , 2010s . För att få antalet processorkärnor, multiplicera fälten "Cores per die" och "Dies per modul"; för att få antalet hårdvarutrådar, multiplicera antalet kärnor med antalet "threads per core". Till exempel, för Xeon E7, Intel: "4, 6, 8, 10" kärnor per 1 dyna per 1-2 hårdvarutrådar = maximalt 10 kärnor och 20 hårdvarutrådar, AMD FX "Bulldozer" Interlagos "4-8" per 2 per 1 = max 16 kärnor och 16 trådar.
Den 27 september 2006, vid utvecklarforumet "IDF Fall", demonstrerade Intel ett experimentellt 80-kärnigt chip med en prestanda på upp till 1 TFLOPS. Varje kärna arbetade med en klockfrekvens på 3,16 GHz, strömförbrukningen för chipet nådde cirka 100 W [14] .
Den 20 augusti 2007 tillkännagav Tilera TILE64- chippetmed 64 processorkärnor och ett inbyggt högpresterande nätverk genom vilket datautbyte mellan olika kärnor kan ske med hastigheter upp till 32 Tbps. [15] [16]
Den 26 oktober 2009 tillkännagav Tilera [ 17] en 100-kärnig TILE-Gx- serie för allmänt bruk . Varje processorkärna är en separat processor med nivå 1- och nivå 2 -cacher . Kärnorna, minnet och systembussen är anslutna via en mesh-nätverkstopologi . Processorerna är tillverkade med en 40nm processteknik och arbetar med en klockfrekvens på 1,5 GHz. Lanseringen av 100-kärniga processorer är planerad till början av 2011.
Den 2 december 2009 introducerade Intel en single-chip " moln " Single-chip Cloud Computer (SCC), som är ett 48-kärnigt chip. Processorns " molnighet " är att alla 48 kärnor kommunicerar med varandra som nätverksnoder. SCC är en del av ett projekt vars mål är att skapa en 100-kärnig processor [18] .
I juni 2011 avslöjade Intel detaljerna om arkitekturen Many Integrated Core (MIC) som utvecklas - denna teknik växte fram ur Larrabee- projektet . Mikroprocessorer baserade på denna arkitektur kommer att få mer än 50 x86 mikrokärnor och kommer att produceras under 2012 med hjälp av 22nm processteknik. Dessa mikroprocessorer kan inte användas som en central processorenhet , men datoracceleratorer kommer att byggas från flera chips av denna arkitektur i form av ett separat expansionskort och konkurrera på GPGPU och högpresterande datormarknader med lösningar som Nvidia Tesla och AMD FireStream . [19] Enligt arkitekturbeskrivningen som publicerades 2012 är chips med upp till 60 kärnor möjliga.
I oktober 2011 , Adaptevaintroducerade 64-kärniga Epiphany IV - mikroprocessorer , som visar prestanda upp till 70 gigaflops (SP), samtidigt som de förbrukar mindre än 1 watt el. Mikroprocessorerna är designade med en RISC- arkitektur och försöksprover planerades att produceras 2012 med hjälp av GlobalFoundries 28nm processteknologi. Dessa processorer kan inte användas som en central processorenhet , men Adaptevaföreslår att de ska användas som medprocessor för komplexa uppgifter som ansiktsigenkänning eller användargester. Adapteva hävdar att antalet kärnor i denna mikroprocessor kan utökas till 4096 i framtiden. Det är planerat att processorn med 4096 kärnor i huvudversionen (700 MHz) beräknas uppnå 5,6 TFLOPS, som endast förbrukar 80 watt.
I januari 2012 , ZiiLabs(ett dotterbolag till Creative Technology ) tillkännagav ett 100-kärnigt system baserat på ZMS-40- chipet . Detta system kombinerar en 4-kärnig ARM Cortex-A9 1,5 GHz-processor (med neon multimediablock) och en uppsättning 96 enklare och mindre mångsidiga StemCell-datorkärnor . StemCell-kärnor är en strömsnål SIMD- arkitektur med 50 gigaflops toppflytande kommas (32 bitars) prestanda , vilka kärnor fungerar mer som en GPU i andra system på ett chip, och kan användas för video-, bild- och ljudbehandling, för 3D- acceleration - och 2D-grafik och andra multimediauppgifter (stöds av OpenGL ES 2.0 och OpenCL 1.1) [22] .
I augusti 2019 introducerade Cerebras Systems världens största multi-core superprocessor , Cerebras Wafer Scale Engine ; den har över 1,2 biljoner transistorer på 400 000 kärnor och upptar nästan hela ytan av en halvledarskiva med en diameter på 300 mm. [23] . År 2020 skapade de också den största processorn i datorns historia; i tester överträffade den en superdator från de 100 bästa globala rankningarna [24] .
Det finns också en trend att introducera mikrokontroller med flera kärnor i mobila enheter .
Till exempel:
Processor Technologies | Digital|||||||||
---|---|---|---|---|---|---|---|---|---|
Arkitektur | |||||||||
Instruktionsuppsättning arkitektur | |||||||||
maskinord | |||||||||
Parallellism |
| ||||||||
Genomföranden | |||||||||
Komponenter | |||||||||
Energihantering |