Procesor multi-core

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 31 mai 2018; verificările necesită 20 de modificări .

Un procesor multi-core  este o unitate centrală de procesare care conține două sau mai multe nuclee de procesare pe un cip de procesor sau într-un pachet .

Terminologie

În engleză, există doi termeni folosiți în mod obișnuit pentru procesoarele cu mai multe nuclee: multi-core și many-core .

Termenul multi -core ( în engleză  multi-core [1] ) se aplică de obicei procesoarelor centrale care conțin două sau mai multe nuclee de uz general , dar uneori este folosit și pentru procesoarele de semnal digital (DSP) și sistemele cu un singur cip (SoC, SoC). ). Sub procesorul cu mai multe nuclee înțelegeți că mai multe nuclee sunt integrate într-un circuit integrat (realizat pe același cip de siliciu). Dacă mai multe cristale semiconductoare au fost combinate într-un singur pachet , atunci designul se numește modul cu mai multe cipuri ( modul multi-cip în engleză  , MCM).

Termenul multiprocesor se referă la computere care au mai multe procesoare separate fizic (de exemplu, plăcile de bază de server au adesea 2 sau 4 socluri pentru conectarea mai multor cipuri), dar sunt controlate de o singură instanță de sistem de operare (OS).

Conceptul de multi-core [1] ( engleză  many-core [2] sau engleză  massively multi-core ) poate fi folosit pentru a descrie sisteme multi-core care au un număr mare de nuclee, de la zeci la sute sau mai mult. De exemplu, numele „multi-core” („multi-core”) a fost folosit de Intel pentru calculatoarele Intel MIC [3] .

Multiprocesor pe cip (multiprocesor cu un singur cip, multiprocesor pe cip, cip multiprocesare, CMP) - așa și-au numit primii cercetători proiectele de plasare a mai multor procesoare pe un singur substrat [4] [5] [6] .

Arhitectura sistemelor multi-core

Arhitectura procesoarelor multi-core repetă în mare măsură arhitectura multiprocesoarelor simetrice ( mașini SMP ), doar la o scară mai mică și cu propriile caracteristici.

Primele procesoare multi-core ( prima generație CMP ) au fost cele mai simple scheme: două nuclee de procesor plasate pe același cip fără a partaja alte resurse decât magistrala de memorie (de exemplu, Sun UltraSPARC IV și Intel Pentium D ). Un procesor „adevărat multi-core” ( a doua generație CMP ) este atunci când nucleele sale de procesare au un cache de nivel al treilea sau al doilea: de exemplu, Sun UltraSPARC IV+, Intel Core Duo și toate procesoarele moderne multi-core.

În procesoarele cu mai multe nuclee, frecvența de ceas este de obicei redusă în mod deliberat. Acest lucru vă permite să reduceți consumul de energie al procesorului fără a pierde performanța: consumul de energie crește ca un cub din creșterea frecvenței procesorului. Dubland numărul de nuclee de procesor și înjumătățind viteza de ceas, puteți obține aproape aceeași performanță, în timp ce consumul de energie al unui astfel de procesor va scădea de 4 ori.

La unele procesoare, viteza de ceas a fiecărui nucleu poate varia în funcție de volumul de lucru individual. Nucleul este un microprocesor cu drepturi depline care folosește toate realizările tehnologiei microprocesorului: conducte , execuție de cod în afara ordinului , cache pe mai multe niveluri , suport pentru instrucțiuni vectoriale .

Superscalaritatea nu este întotdeauna prezentă în nucleu, dacă, de exemplu, producătorul procesorului încearcă să simplifice nucleul cât mai mult posibil.

Fiecare nucleu poate folosi tehnologia multithreading tranzitorie sau, dacă este superscalar, tehnologia SMT pentru a executa mai multe fire simultan , creând iluzia de „procesoare logice” multiple bazate pe fiecare nucleu. Pe procesoarele Intel, această tehnologie se numește Hyper-threading și dublează numărul de procesoare logice față de cele fizice. Pe procesoarele Sun UltraSPARC T2 (2007), această creștere poate fi de până la 8 fire de execuție per nucleu.

Procesoarele cu mai multe nuclee pot fi clasificate în funcție de suportul lor pentru coerența cache (partajată) între nuclee. Există procesoare cu și fără astfel de suport. Metoda de comunicare între nuclee:

Cache: În toate procesoarele multi-core care există astăzi , fiecare nucleu are un cache de nivel 1 individual și există mai multe opțiuni pentru cache de nivel 2:

Procesoarele multi-core au, de asemenea, o arhitectură omogenă sau eterogenă:

Performanță

Aplicațiile care sunt optimizate pentru creșterea performanței experienței multithreading pe un procesor cu mai multe nuclee. Cu toate acestea, dacă aplicația nu este optimizată, atunci nu va beneficia prea mult de nucleele suplimentare și poate chiar să ruleze mai lent decât pe un procesor cu mai puține nuclee, dar cu o viteză de ceas mai mare . Acestea sunt în mare parte aplicații dezvoltate înainte de apariția procesoarelor multi-core sau aplicații care, în principiu, nu folosesc multithreading.

Majoritatea sistemelor de operare vă permit să rulați mai multe aplicații în același timp . Acest lucru realizează un beneficiu de performanță, chiar dacă aplicațiile sunt cu un singur thread.

Creșterea numărului de nuclee

Astăzi , mulți producători de procesoare , în special Intel , AMD , IBM , ARM , creșterea în continuare a numărului de nuclee de procesor este recunoscută ca una dintre domeniile prioritare pentru creșterea performanței.

Istoria procesoarelor multi-core mainstream

PUTEREA

Primul procesor destinat utilizării principale, mai degrabă decât sistemelor încorporate , a fost POWER4 , cu două nuclee PowerPC pe un singur cip, lansat de IBM în 2001.

IBM PowerPC-970MP ( G5 ) cu 2 nuclee a fost introdus în 2005. Cele mai recente Power Mac G5 au fost echipate cu acest procesor .

SPARC

În martie 2004, Sun Microsystems a introdus primul procesor cu 2 nuclee al arhitecturii SPARC: UltraSPARC IV  , prima generație CMP. Procesorul CMP de a doua generație a fost UltraSPARC IV+ (mijlocul anului 2005), unde cele două nuclee de procesor împărtășeau un cache off-chip de nivel 3 și un cache de nivel 2 on-chip.

Fujitsu a introdus procesorul SPARC64 VI cu 2 nuclee în linia sa SPARC64 abia în 2007.

x86

În aprilie 2005, AMD a lansat procesorul Opteron cu 2 nuclee cu arhitectură AMD64 pentru servere .

În mai 2005, Intel a lansat procesorul Pentium D cu arhitectură x86-64 , primul procesor cu 2 nuclee conceput pentru computere personale. Acesta a fost răspunsul „rapid” al Intel la provocarea AMD. În esență, Pentium D, bazat pe arhitectura NetBurst lider de la Intel , a constat din două procesoare separate plasate pe același substrat, fără elemente comune. De când Intel a abandonat arhitectura NetBurst la sfârșitul anului 2005, Pentium D nu a fost dezvoltat. Un adevărat procesor Core Duo multi-core bazat pe o arhitectură Core mai economică a fost lansat de Intel în ianuarie 2006.

În martie 2010, au apărut primele procesoare seriale cu 12 nuclee, care au devenit procesoarele de server AMD Opteron 6100 ( arhitectura x86 / x86-64 ). [7]

În 2011, AMD a stăpânit producția de procesoare cu 8 nuclee pentru computerele de acasă [8] și procesoare cu 16 nuclee pentru sistemele server [9] .

În august 2011, AMD a lansat primele procesoare de server seriale Opteron 6200 cu 16 nuclee (denumite de cod Interlagos ). Procesorul Interlagos combină două cipuri cu 8 nuclee (4 module) într-un singur pachet și este pe deplin compatibil cu platforma existentă din seria AMD Opteron 6100 ( Socket G34 ). [zece]

Începând cu 2016, Intel lansează procesoare pentru serverele Xeon E7  - cu un număr de nuclee de la 4 la 24. [11] [12] (E5 - până la 22 de nuclee).

În februarie 2020, AMD a lansat primul procesor cu 64 de nuclee pentru computerele de acasă AMD Ryzen Threadripper 3990X [13] .

Un rezumat al istoriei microprocesoarelor și al parametrilor acestora este prezentat în articolul actualizat în limba engleză: Timeline of microprocessors , 2010s . Pentru a obține numărul de nuclee de procesor, înmulțiți câmpurile „Core per die” și „Dies per module”; pentru a obține numărul de fire hardware, înmulțiți numărul de nuclee cu numărul „threads per core”. De exemplu, pentru Xeon E7, Intel: „4, 6, 8, 10” nuclee per 1 matriță la 1-2 fire hardware = maxim 10 nuclee și 20 fire hardware, AMD FX „Bulldozer” Interlagos „4-8” per 2 per 1 = maxim 16 miezuri și 16 fire.

Istoria procesoarelor experimentale multi-core

Pe 27 septembrie 2006, la forumul pentru dezvoltatori „IDF Fall”, Intel a demonstrat un cip experimental cu 80 de nuclee cu o performanță de până la 1 TFLOPS. Fiecare nucleu a funcționat la o frecvență de ceas de 3,16 GHz, consumul de energie al cipului a ajuns la aproximativ 100 W [14] .

Pe 20 august 2007, Tilera a anunțat cipul TILE64cu 64 de nuclee de procesor și o rețea încorporată de înaltă performanță prin care schimbul de date între diferite nuclee poate avea loc la viteze de până la 32 Tbps. [15] [16]

Pe 26 octombrie 2009, Tilera a anunțat [ 17] un procesor de uz general din seria TILE-Gx cu 100 de nuclee . Fiecare nucleu de procesor este un procesor separat cu cache de nivel 1 și de nivel 2 . Miezurile, memoria și magistrala de sistem sunt conectate printr-o topologie de rețea mesh . Procesoarele sunt fabricate folosind o tehnologie de proces de 40 nm și funcționează la o frecvență de ceas de 1,5 GHz. Lansarea procesoarelor cu 100 de nuclee este programată pentru începutul anului 2011.

Pe 2 decembrie 2009, Intel a introdus un computer cu un singur cip „ cloud ” cu un singur cip Cloud Computer (SCC), care este un cip cu 48 de nuclee. „ Nebulozitatea ” procesorului este că toate cele 48 de nuclee comunică între ele ca noduri de rețea. SCC face parte dintr-un proiect al cărui scop este crearea unui procesor cu 100 de nuclee [18] .

În iunie 2011, Intel a dezvăluit detaliile arhitecturii Many Integrated Core (MIC) în curs de dezvoltare - această tehnologie a apărut din proiectul Larrabee . Microprocesoarele bazate pe această arhitectură vor primi mai mult de 50 de microcore x86 și vor fi produse în 2012 folosind tehnologia de proces de 22 nm. Aceste microprocesoare nu pot fi folosite ca unitate centrală de procesare , dar acceleratoarele de calcul vor fi construite din mai multe cipuri ale acestei arhitecturi sub forma unei plăci de expansiune separate și vor concura pe piețele GPGPU și de calcul de înaltă performanță cu soluții precum Nvidia Tesla și AMD FireStream . . [19] Conform descrierii arhitecturii publicate în 2012, sunt posibile cipuri cu până la 60 de nuclee.

În octombrie 2011 , Adaptevaa introdus microprocesoare Epiphany IV cu 64 de nuclee, care arată performanțe de până la 70 gigaflops (SP), consumând în același timp mai puțin de 1 watt de energie electrică. Microprocesoarele sunt proiectate folosind o arhitectură RISC , iar probele de probă au fost planificate să fie produse în 2012, folosind tehnologia de proces de 28 nm a GlobalFoundries. Aceste procesoare nu pot fi folosite ca unitate centrală de procesare , ci Adaptevapropune să le folosească ca coprocesor pentru sarcini complexe precum recunoașterea feței sau gesturile utilizatorului. Adapteva susține că numărul de nuclee ale acestui microprocesor poate fi crescut în viitor la 4096. Este planificat ca procesorul cu 4096 nuclee din versiunea principală (700 MHz) să atingă 5,6 TFLOPS, consumând doar 80 de wați.

[20] [21] .

În ianuarie 2012 , ZiiLabs(o subsidiară a Creative Technology ) a anunțat un sistem cu 100 de nuclee bazat pe cipul ZMS-40 . Acest sistem combină un procesor ARM Cortex-A9 de 1,5 GHz cu 4 nuclee (cu blocuri multimedia Neon) și o serie de 96 de nuclee de calcul StemCell mai simple și mai puțin versatile . Miezurile StemCell sunt o arhitectură SIMD eficientă din punct de vedere energetic, cu 50 gigaflopi de performanță maximă în virgulă mobilă (32 de biți) , nuclee care funcționează mai mult ca un GPU în alte sisteme pe un cip și pot fi utilizate pentru procesarea video, imagini și audio, pentru accelerarea 3D - și grafică 2D și alte sarcini multimedia (suportate de OpenGL ES 2.0 și OpenCL 1.1) [22] .

În august 2019, Cerebras Systems a introdus cel mai mare superprocesor multi-core din lume , Cerebras Wafer Scale Engine ; are peste 1,2 trilioane de tranzistori pe 400.000 de nuclee și ocupă aproape toată suprafața unei plăci semiconductoare cu diametrul de 300 mm. [23] . În 2020, au creat și cel mai mare procesor din istoria computerelor; în teste, a depășit un supercomputer din primele 100 de clasamente globale [24] .

Controlere multi-core

Există, de asemenea, o tendință de a introduce microcontrolere multi-core în dispozitivele mobile .

De exemplu:

Vezi și

Note

  1. 1 2 Parallel World Crisis Arhivat 4 octombrie 2013 la Wayback Machine , Sergey Kuznetsov: Review of the December 2009 issue of Computer Magazine (IEEE Computer Society, V. 42, No 12, December 2009): „multicore architectures and multi -procesoare (cu mai multe nuclee)"
  2. Programarea cipurilor cu mai multe nuclee. De András Vajda Arhivat 21 octombrie 2013 la Wayback Machine , pagina 3
  3. [1] Arhivat 4 octombrie 2013 la Wayback Machine : „pentru care acest nou termen a fost introdus în locul obișnuitului multi-core”,
  4. The Case for a Single-Chip Multiprocessor - Kunle Olukotun, Basem A. Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang - Apare în Proceedings Seventh International Symp. Suport arhitectural pentru limbaje de programare și sisteme de operare (ASPLOS VII), Cambridge, MA, octombrie 1996
  5. Stanford Hydra Single-Chip Multiprocessor (link indisponibil) . Consultat la 4 septembrie 2016. Arhivat din original pe 29 august 2007. 
  6. ChipMultiprocessor Architecture: Techniques to Improve Throughput and Latency - Kunle Olukotun, Lance Hammond, James Laudon - 2007
  7. „AMD da verde la procesoarele din seria Opteron 6100 cu 8 și 12 nuclee” Arhivat la 30 septembrie 2010 la Wayback Machine  - overclockers.ua
  8. Site -ul web 3DNews : „Anunțul oficial al procesoarelor AMD FX” Arhivat 15 octombrie 2011 la Wayback Machine
  9. Site -ul web 3DNews : „AMD a început livrările în masă de buldozere pe server. Desktop amânat? Arhivat pe 5 noiembrie 2011 la Wayback Machine .
  10. Site -ul web 3DNews : „Au apărut date pe serverul AMD Bulldozers: 3 GHz maxim?” Arhivat pe 18 septembrie 2011 la Wayback Machine .
  11. Familia de procesoare Intel® Xeon® E7 . Preluat la 3 august 2016. Arhivat din original la 9 august 2016.
  12. Intel lansează noi procesoare Xeon E7 v4, inclusiv monstru cu 24 de nuclee | techradar . Preluat la 3 august 2016. Arhivat din original la 10 august 2016.
  13. AMD va începe să vândă astăzi Ryzen Threadripper 3990X cu 64 de nuclee . 3DNews - Daily Digital Digest . Preluat la 28 iulie 2020. Arhivat din original la 10 februarie 2020.
  14. Intel prezintă superprocesorul viitorului cu 80 de nuclee . Lenta.ru (27 septembrie 2006). Data accesului: 13 august 2010. Arhivat din original la 3 ianuarie 2012.
  15. Articol de pe site-ul web 3dnews.ru: „Tilera Tile64 - un cip cu 64 de nuclee de procesor” Arhivat 10 septembrie 2010 pe Wayback Machine
  16. „Tilera Now Shipping the TILE64 Processor: the World’s High Performance Embedded Processor” (link nu este disponibil) . Preluat la 19 octombrie 2018. Arhivat din original la 23 martie 2010. 
  17. Modnews
  18. Articol de pe site-ul lenta.ru: „Intel demonstrated a 48-core processor” Copie de arhivă din 26 august 2010 la Wayback Machine
  19. Site -ul web 3DNews : „Intel MIC: 22nm Knights Corner in 2012, ExaScale in 2018” Arhivat 10 noiembrie 2011 la Wayback Machine
  20. Site -ul web 3DNews : „Cipul cu 64 de nuclee al lui Adapteva poate fi utilizat în smartphone-uri și tablete” Arhivat 8 octombrie 2011 la Wayback Machine , 05/10/2011
  21. Adapteva va începe livrarea mostrelor de evaluare a procesoarelor E64G4 de 28 nm cu 64 de nuclee Arhivat în curând 11 august 2016 la Wayback Machine // Ixbt.com, 21 martie 2012
  22. Site -ul web 3DNews : „ZiiLabs unveils '4+96-core' ZMS-40 processor” Arhivat 15 ianuarie 2012 la Wayback Machine
  23. * Primul cip de computer cu un tranzistor trilioane Arhivat 8 decembrie 2019 la Wayback Machine // Articolul de recenzie The Economist , 7 decembrie 2019 
  24. Cel mai mare procesor din lume a depășit o copie de arhivă a supercomputerului din 27 noiembrie 2020 la Wayback Machine // Vesti.ru , 27 noiembrie 2020
  25. Copie arhivată (link nu este disponibil) . Consultat la 15 aprilie 2008. Arhivat din original pe 21 iulie 2011. 
  26. Elice | Parallax Inc. Consultat la 15 aprilie 2008. Arhivat din original pe 29 iulie 2009.

Literatură

Link -uri