Processador Multinucli

microprocessador amb més d'una unitat de processament

Un processador multinucli és aquell que combina dos o més unitats de processament independents, anomenades cores o nuclis. Cadascuna d'aquestes unitats llegeix i executa instruccions CPU ordinàries —com ara add, move o branch—, amb l'avantatge que el processador multinucli permet executar-ne diverses alhora, en nuclis separats, augmentant així la velocitat dels programes que fan ús del multithreading o d'altres tècniques de computació en paral·lel.

Interior d'un microprocessador de quatre nuclis.

Els fabricants solen integrar els nuclis en un únic dau de circuit integrat, conegut com a xip multiprocessador, o bé en múltiples daus d'un mateix encapsulat. Actualment, en la majoria d'equips personals, s'usen microprocessadors multinucli.

Un processador multinucli implementa el multiprocessament en un sol paquet físic. Els nuclis poden tenir més o menys grau d'acoblament; per exemple, poden compartir o no compartir la memòria cau, i poden implementar mètodes de comunicació entre nuclis o de memòria compartida.

Els busos, els anells, les malles i els commutadors de barres creuades són algunes de les tipologies de xarxa usades per a la interconnexió de nuclis.

Els sistemes multinucli homogenis estan formats per nuclis idèntics entre ells, mentre que els heterogenis estan formats per nuclis no idèntics —per exemple, big.LITTLE té nuclis heterogenis que comparteixen el mateix repertori d'instruccions, mentre que els AMD Fusion no el comparteixen—. Igual que els processadors d'un sol nucli, els processadors multinucli poden implementar arquitectures de tipus vectorial, superescalar, VLIW o multithreading. Els processadors multinucli tenen aplicacions molt diverses: s'usen en equips d'ús general, en sistemes incrustats, en GPUs, o com a processadors de xarxa o de senyals digitals.

La millora en el rendiment fruit de la utilització d'un processador multinucli depèn en gran manera dels algoritmes de software utilitzats, així com de la implementació que se'n fa. Com descriu la llei d'Ambdahl, els guanys estan limitats per la fracció del software que es pot executar simultàniament en paral·lel en diferents nuclis del processador. En el millor dels casos, els problemes perfectament paral·lels poden experimentar millores en el rendiment amb factors propers al nombre de nuclis, o fins i tot més si podem separar el problema en suficients parts com perquè càpiga a la caché de cada nucli, evitant així l'ús de la memòria ordinària, molt més lenta. Tanmateix, en la majoria de casos, l'acceleració no és tan alta tret que els programadors inverteixin un volum de temps prohibitiu a reformular tot el problema.

A dia d'avui, la paral·lelització de programari és un important tema d'investigació en procés.

Aparició Processador Multinucli modifica

Incentius comercials

Fins al començament del segle xxi, la manera d'incrementar el rendiment dels processadors d'un sol core era augmentar la densitat de transistors. Tanmateix, encara que la velocitat del transistor incrementava, el seu consum també ho feia. La major part d'aquesta potència es dissipa com a calor provocant així un augment de la capacitat dels ventiladors de refrigeració i per tant un augment dels costos. Per aquest motiu, els fabricants de processadors van iniciar una investigació per trobar una alternativa de processament diferent.

En la cerca d'una potència de processament addicional per ordinadors personals, la millora en l'àmbit dels supercomputadors va generar una bona pregunta: en lloc d'experimentar únicament el rendiment d'un sol nucli de processament, per què no posar més d'un en un ordinador personal? D'aquesta manera, els ordinadors personals podrien continuar millorant el rendiment sense necessitat d'augmentar la velocitat del rellotge del processador. En 2005 a causa de l'augment del mercat competitiu i les poques alternatives, els principals fabricants de CPUs van començar a oferir processadors amb dues cores en comptes d'un sol core. Durant els anys següents, van seguir aquest desenvolupament amb l'alliberament de tres, quatre, sis i vuit nuclis de processador central. A vegades es coneix com a revolució multicèntrica, aquesta tendència ha marcat un gran canvi en l'evolució del mercat de la informàtica de consum.

Avui, seria relativament difícil comprar un ordinador de sobretaula amb una CPU que contingui un únic nucli. Fins i tot els processadors centrals de baix nivell i de baixa potència tenen dos o més nuclis. L'any 2008, Intel va llançar dos processadors verds de quatre nuclis (L5420, L5410) per a servidors i estacions de treball que corrien més ràpid que els processadors anteriors de quatre nuclis sense consumir més potència. Aquests tipus de processadors són molt recomanables per al desenvolupament sostenible.

Factors tècnics

Atès que els fabricants d'ordinadors han implementat durant molt de temps dissenys de multiprocessament simètric (SMP) utilitzant CPUs discretes, els problemes relacionats amb la implementació de l'arquitectura de processadors multi-nucli i el seu suport amb programari són ben coneguts. A més:

• L'ús d'un disseny de nucli de processament provat sense canvis arquitectònics redueix significativament el risc del disseny.

• Per a processadors d'usos generals, gran part de la motivació per als processadors de múltiples nuclis prové d'un gran nombre de millores en el rendiment del processador a partir de l'augment de la freqüència de funcionament. Això es deu a tres factors principals:

  1. La paret de memòria; la creixent bretxa entre processadors i velocitats de memòria. Això, de fet, empeny a què les mides de memòria cau siguin més grans per emmascarar la latència de la memòria. Això només ajuda en la mesura que l'amplada de banda de la memòria no és el coll d'ampolla en el rendiment.
  1. La paret de l'ILP; la creixent dificultat de trobar suficient paral·lelisme en un sol flux d'instruccions per mantenir un processador d'un sol nucli d'alt rendiment.
  1. La paret elèctrica; la tendència de consumir una potència creixent exponencialment (i generar així un augment de calor exponencialment) amb cada increment factorial de freqüència de funcionament. Aquest increment es pot mitigar "reduint" el processador mitjançant empremtes més petites per a la mateixa lògica. La paret elèctrica planteja problemes de fabricació, disseny de sistemes i desplegament que no s'han justificat davant la disminució dels guanys de rendiment a causa de la paret de memòria i la paret ILP.

Per tal de continuar oferint millores regulars en el rendiment per a processadors de propòsit general, els fabricants com Intel i AMD han recorregut a dissenys multi-nucli, sacrificant els costos de fabricació més baixos per a un major rendiment en algunes aplicacions i sistemes. S'estan desenvolupant arquitectures multicèntriques, però també ho són les alternatives. Un candidat especialment fort per als mercats establerts és la major integració de funcions perifèriques al xip.

Avantatges modifica

Els processadors multinucli ofereixen avantatges com els següents:

Eficiència energètica: L'ús de processadors multinucli redueix el consum d'energia (es perd menys energia com a calor), la qual cosa augmenta la durada de la bateria.

Concurrencia: Al assignar aplicacions a diferents nuclis el processament multinucli augmenta el suport intrínsec per al processament en paralel dins de les aplicacions software individuals a través de múltiples aplicacions.

Rendiment: El processament multinuclii pot augmentar el rendiment executant diverses aplicacions simultàniament. La disminució de la distància entre nuclis d'un xip integrat permanentment una latència d'accés als recursos més curta i majors velocitats de caché. No obstant això, l'augment de rendiment depèn del nombre de nuclis, el nivell de concurrència real i l'ús de recursos compartits.

Aïllament: Els processadors multinucli poden millorar (però no garantir) l'aïllament espacial i temporal(segregació) en comparació amb les arquitectures d'un sol nucli. El programari(software) que s'executa en un nucli té menys probabilitats d'afectar al programari d'un altre nucli que si s'executen amb el mateix únic nucli. Això es deu tant a l'aïllament espacial com al temporal. ja que els fils(threads) d'un nucli no son retrassats per als fils d'un altre nucli.

Costos Hardware: Mitjançant l'ús de processadors multinucli, els arquitectes poden produir sistemes amb menys ordinadors i processadors.

Desavantatges modifica

A més del suport del sistema operatiu (SO), calen ajustaments al programari existent per maximitzar la utilització dels recursos informàtics proporcionats pels processadors multi-nucli. A més, la capacitat dels processadors multi-nucli per augmentar el rendiment de les aplicacions depèn de l'ús de múltiples subprocessos dins de les aplicacions.

La integració d'un xip multicèntric redueix els rendiments de la producció i és més difícil gestionar tèrmicament que els dissenys d'un xip de baixa densitat. Intel ha contrarestat parcialment aquest primer problema mitjançant la creació dels seus dissenys de quatre nuclis combinant dos de doble nucli en un únic xip amb una memòria cau unificada, per la qual cosa es poden utilitzar dos matrius de doble nucli de treball, en lloc de produir quatre nuclis en un únic xip i requereix que els quatre treballin per produir un quad-core. Des del punt de vista arquitectònic, en definitiva, els dissenys de CPU individuals poden utilitzar millor la superfície de silici que els nuclis multiprocessadors, de manera que un compromís de desenvolupament amb aquesta arquitectura pot comportar el risc d'obsolescència. Finalment, el poder de processament en brut no és l'única restricció del rendiment del sistema. Dos nuclis de processament que comparteixen el mateix bus de sistema i amplada de banda de memòria limiten l'avantatge del rendiment del món real. Seria possible que una aplicació que utilitzava dues CPU acabés funcionant amb més rapidesa en un nucli dual si la comunicació entre les CPU era el factor limitant, que suposaria una millora de més del 100%.

Desafiaments multinucli modifica

El fet de tenir múltiples nuclis en un sol xip dona lloc a alguns desafiaments. Potència i la gestió de la temperatura són dues desafiaments que poden augmentar exponencialment amb l'addició de nuclis. La coherència de memòria cau és un altre desafiament, ja que la distribució de memòria cau porta a problemes de coordinació.

Si els programadors no escriuen aplicacions que aprofiten els múltiples nuclis no hi ha guany, i en alguns casos hi ha una pèrdua d'actuació. L'aplicació ha d'escriure perquè es puguin executar diferents parts alhora en diferents nuclis.

Potència i temperatura modifica

Si es col·locaran dos nuclis en un sol xip sense cap modificació, el xip, en teoria, consumeix el doble d'energia i genera una gran quantitat de calor. En el cas extrem, si un el processador es sobreescalfa i l'ordinador pot fins i tot cremar-se. Per donar compte d'això, cada disseny de dalt executa els múltiples nuclis a una freqüència més baixa per reduir el consum d'energia.

Per combatre el consum innecessari d'energia, molts dissenys també incorporen una unitat de control d'energia. que té l'autoritat per apagar els nuclis no utilitzats o limitar la quantitat d'energia.

Coherència de memòria cau modifica

La coherència de la memòria cau és una preocupació en un entorn multicore a causa de L1 i L2 distribuïts memòria cau. Com que cada nucli té la seva memòria cau, és possible que la còpia de les dades en aquesta memòria cau no sigui sempre la versió més actualitzada.

Per exemple, un processador de doble nucli on cada nucli es va portar un bloc de memòria a la seva memòria cau privada. Un nucli escriu un valor a una ubicació específica, quan el segon nucli intenta llegir aquest valor des de la seva memòria cau no tindrà la còpia actualitzada tret que la seva entrada de memòria cau no estigui invalidada i que es produeixi un error de memòria cau. Aquesta memòria cau falla la segona l'entrada de la memòria cau del nucli per a ser actualitzada. Si aquesta política de coherència no estigués al seu lloc, es tracta de dades sobre les escombraries es produirien resultats de lectura i no vàlids, possiblement estalviant el programa o l'ordinador sencer.

En general hi ha dos esquemes per a la coherència de la memòria cau, un protocol de snooping i un directori basat en protocol. El protocol de snooping només funciona amb un sistema basat en busos i utilitza diversos estats per determinar si necessita o no actualitzar entrades de memòria cau i si té control sobre l'escriptura al bloc.

El protocol basat en directoris es pot utilitzar en una xarxa arbitrària i, per tant, és escalable per a molts processadors o nuclis, a diferència del snooping que no és escalable. En aquest es fa servir un directori que conté informació sobre les ubicacions de memòria compartits en múltiples cachés i que s'utilitzen exclusivament per la memòria cau d'un nucli. El directori sap quan s'ha d'actualitzar o invalidar un bloc.

Multifil modifica

L'ús de subprocessos múltiples o altres tècniques de processament paral·lel per obtenir el màxim rendiment del processador multinucli. La reconstrucció d'aplicacions per a ser multiprocés significa un retreball complet per part dels programadors en la majoria dels casos.

Els programadors han d'escriure aplicacions amb subrutines capaços d'executar-se en diferents nuclis, el que significa que les dependències de les dades s'han de resoldre o comptabilitzar (per exemple, latència en la comunicació o mitjançant l'ús d'un cau compartit).

Les aplicacions han de ser equilibrades. Si un nuclins s'està utilitzant molt més que un altre, el programador no està aprofitant al màxim el sistema multinucli.

Tendències de futur modifica

En el futur, els ordinadors contindran milers d'unitats d'execució per xip, homogènies o especialitzades per a propòsits particulars. La paral·lelització de la càrrega de treball de l'aplicació està a punt de convertir-se en la més significativa estratègia d'acceleració i ampliació en qualsevol mena d'aplicació. La futura investigació per a múltiples nuclis habilita que les aplicacions s'han de determinar a partir de dos costats: una millor expressió de maquinari i un millor disseny de programari.

La creixent varietat d'arquitectures de processadors de múltiples nivells ha d'ésser extreta en millors models per tal de permetre-la un disseny de programari adequat. El programari de l'altre costat ha de ser analitzable i dissenyable segons el treball paral·lel que produeix. Això inclou la formulació de patrons de disseny i algoritmes equipats per a execució paral·lela. Algunes aplicacions seran escalables per defecte, gràfics en 3D, computació científica o informàtica de servidors d'alta potència.

Exemples Hardware modifica

Comercial modifica

Free modifica

Academic modifica

Referències modifica

  1. «Sempron™ 3850 APU with Radeon™ R3 Series | AMD». Arxivat de l'original el 4 de maig 2019.
  2. «Intel® Atom™ Processor C Series Product Specifications» (en anglès).
  3. «Intel® Atom™ Processor Z Series Product Specifications» (en anglès).
  4. «Intel Preps Dual-Core Celeron Processors». , 11-10-2007 [Consulta: 12 novembre 2007]. Arxivat 4 de novembre 2007 a Wayback Machine. «Còpia arxivada». Arxivat de l'original el 2007-11-04. [Consulta: 28 maig 2019].
  5. «Intel® Celeron® Processor J Series Product Specifications» (en anglès).
  6. «Products formerly Yonah».
  7. «Products formerly Conroe».
  8. «Products formerly Kentsfield».
  9. «Intel® Core™ X-series Processors Product Specifications» (en anglès).
  10. «Intel® Itanium® Processor Product Specifications» (en anglès).
  11. «Intel® Pentium® Processor D Series Product Specifications» (en anglès).
  12. Zazaian, Mike. «Intel: 80 Cores by 2011», 26-09-2006. Arxivat de l'original el 2006-11-09.
  13. Kowaliski, Cyril. «Intel releases 15-core Xeon E7 v2 processor», 18-02-2014. Arxivat de l'original el 2014-10-11.
  14. «Intel Xeon Processor E7 v3 Family». Intel. Arxivat de l'original el 2015-07-07.
  15. «Intel Xeon Processor E7 v2 Family». Intel. Arxivat de l'original el 2015-07-07.
  16. «Intel Xeon Processor E3 v2 Family». Intel. Arxivat de l'original el 2015-07-07.
  17. «Intel shows off Xeon Platinum CPU with up to 56 cores and 112 threads» (en anglès).
  18. PDF, Download. «2nd Gen Intel® Xeon® Scalable Processors Brief» (en anglès).
  19. «Intel® Xeon Phi™ x100 Product Family Product Specifications» (en anglès).
  20. «Intel® Xeon Phi™ 72x5 Processor Family Product Specifications» (en anglès).
  21. Cole, Bernard. «40-core processor with Forth-based IDE tools unveiled», 24-09-2008.
  22. Chacos, Brad. «Meet KiloCore, a 1,000-core processor so efficient it could run on a AA battery», 20-06-2016. Arxivat de l'original el 23 juny 2016.

Enllaços externs modifica