Articulo de referencia

Procesador multinúcleo

Diagrama de un procesador genérico de doble núcleo con cachés de nivel 1 locales en la CPU y una caché de nivel 2 compartida en el chip. El Intel Core 2 Duo E6750 fue uno de los...

Página semiprotegida

Diagrama de un procesador genérico de doble núcleo con cachés de nivel 1 locales en la CPU y una caché de nivel 2 compartida en el chip.
El Intel Core 2 Duo E6750 fue uno de los primeros procesadores de doble núcleo.
Un procesador AMD Athlon X2 6400+ de doble núcleo

Un procesador multinúcleo ( MCP ) es un microprocesador en un único circuito integrado (CI) con dos o más unidades centrales de procesamiento (CPU) separadas, llamadas núcleos para enfatizar su multiplicidad (por ejemplo, doble núcleo o cuádruple núcleo ). Cada núcleo lee y ejecuta instrucciones de programa , [ 1 ] específicamente instrucciones de CPU ordinarias (como sumar, mover datos y bifurcar). Sin embargo, el MCP puede ejecutar instrucciones en núcleos separados al mismo tiempo, lo que aumenta la velocidad general para programas que admiten multihilo u otras técnicas de computación paralela . [ 2 ] Los fabricantes suelen integrar los núcleos en un único chip CI , conocido como multiprocesador de chip ( CMP ), o en varios chips en un único paquete de chip . A partir de 2024, los microprocesadores utilizados en casi todas las nuevas computadoras personales son multinúcleo.

Un procesador multinúcleo implementa el multiprocesamiento en un único paquete físico. Los diseñadores pueden acoplar los núcleos en un dispositivo multinúcleo de forma estrecha o flexible. Por ejemplo, los núcleos pueden o no compartir cachés , y pueden implementar métodos de comunicación entre núcleos mediante paso de mensajes o memoria compartida . Las topologías de red comunes utilizadas para interconectar núcleos incluyen bus , anillo , malla bidimensional y barra transversal . Los sistemas multinúcleo homogéneos incluyen solo núcleos idénticos; los sistemas multinúcleo heterogéneos tienen núcleos que no son idénticos (por ejemplo , big.LITTLE tiene núcleos heterogéneos que comparten el mismo conjunto de instrucciones , mientras que las Unidades de Procesamiento Acelerado de AMD tienen núcleos que no comparten el mismo conjunto de instrucciones). Al igual que con los sistemas de un solo procesador, los núcleos en los sistemas multinúcleo pueden implementar arquitecturas como VLIW , superescalar , vectorial o multihilo .

Los procesadores multinúcleo se utilizan ampliamente en numerosos dominios de aplicación, incluyendo aplicaciones de propósito general , sistemas embebidos , redes , procesamiento digital de señales (DSP) y gráficos (GPU). El número de núcleos puede llegar incluso a decenas, y en chips especializados supera los 10 000, [ 3 ] y en supercomputadoras (es decir, clústeres de chips) puede superar los 10 millones (y en un caso, hasta 20 millones de elementos de procesamiento en total, además de los procesadores anfitriones). [ 4 ]

La mejora en el rendimiento que se obtiene al usar un procesador multinúcleo depende en gran medida de los algoritmos de software utilizados y su implementación. En particular, las posibles ganancias están limitadas por la fracción del software que puede ejecutarse en paralelo simultáneamente en múltiples núcleos; este efecto se describe mediante la ley de Amdahl . En el mejor de los casos, los llamados problemas fácilmente paralelizable pueden lograr factores de aceleración cercanos al número de núcleos, o incluso mayores si el problema se divide lo suficiente como para caber dentro de la caché de cada núcleo, evitando así el uso de la memoria principal del sistema, que es mucho más lenta. Sin embargo, la mayoría de las aplicaciones no se aceleran tanto a menos que los programadores inviertan tiempo en la refactorización . [ 5 ]

La paralelización del software es un tema de investigación actual de gran relevancia. La cointegración de aplicaciones multiprocesador proporciona flexibilidad en el diseño de la arquitectura de red. La adaptabilidad dentro de los modelos paralelos es una característica adicional de los sistemas que utilizan estos protocolos. [ 6 ]

En el mercado de consumo, los procesadores de doble núcleo (es decir, microprocesadores con dos unidades) comenzaron a ser comunes en las computadoras personales a finales de la década de 2000. [ 7 ] A principios de la década de 2010, los procesadores de cuatro núcleos también se adoptaron en esa época para sistemas de gama alta antes de convertirse en el estándar a mediados de la década de 2010. A finales de la década de 2010, los procesadores de seis núcleos (hexa-core) comenzaron a entrar en el mercado general [ 8 ] y desde principios de la década de 2020 han superado a los de cuatro núcleos en muchos ámbitos. [ 9 ]

Terminología

Los términos multinúcleo y doble núcleo se refieren comúnmente a las unidades centrales de procesamiento (CPU), pero a veces también se aplican a los procesadores de señales digitales (DSP) y a los sistemas en chip (SoC). Generalmente, estos términos se utilizan solo para referirse a microprocesadores multinúcleo fabricados en el mismo chip de circuito integrado ; los chips de microprocesador separados en el mismo paquete suelen denominarse de otra manera, como módulo multichip . En este artículo, se utilizan los términos "multinúcleo" y "doble núcleo" para las CPU fabricadas en el mismo circuito integrado, salvo que se indique lo contrario.

A diferencia de los sistemas multinúcleo, el término multi-CPU se refiere a múltiples unidades de procesamiento físicamente separadas (que a menudo contienen circuitos especiales para facilitar la comunicación entre ellas).

Los términos multinúcleo y multinúcleo masivo se utilizan a veces para describir arquitecturas multinúcleo con un número especialmente alto de núcleos (decenas a miles [ 10 ] ). [ 11 ]

Algunos sistemas utilizan varios núcleos de microprocesador programable ubicados en un único FPGA . Cada "núcleo" puede considerarse un " núcleo de propiedad intelectual de semiconductores " además de un núcleo de CPU.

Desarrollo

Si bien la tecnología de fabricación mejora, reduciendo el tamaño de las compuertas individuales, los límites físicos de la microelectrónica basada en semiconductores se han convertido en una preocupación importante en el diseño. Estas limitaciones físicas pueden causar problemas significativos de disipación de calor y sincronización de datos. Se utilizan otros métodos para mejorar el rendimiento de la CPU. Algunos métodos de paralelismo a nivel de instrucción (ILP), como el pipeline superscalar , son adecuados para muchas aplicaciones, pero resultan ineficientes para otras que contienen código difícil de predecir. Muchas aplicaciones se adaptan mejor a los métodos de paralelismo a nivel de subprocesos (TLP), y es común el uso de múltiples CPU independientes para aumentar el TLP general de un sistema. La combinación de un mayor espacio disponible (debido a procesos de fabricación más refinados) y la demanda de un mayor TLP condujo al desarrollo de las CPU multinúcleo.

CPU Scorpius de Apple

En 1985, el ingeniero de Apple, Sam Holland, convenció a Apple de desarrollar su propio chip de CPU de 4 procesadores para alimentar las futuras Mac [ 12 ], llamado Scorpius. [ 13 ] El conjunto de características propuesto para el procesador era muy ambicioso, incluyendo cuatro núcleos y soporte SIMD (vectorial) con funciones de comunicación entre procesadores. [ 14 ] Debido a que el diseño superaba las capacidades de fabricación de la época, el proyecto se dio por terminado en 1989. [ 15 ]

Primeras innovaciones: el proyecto Hydra de Stanford

En la década de 1990, Kunle Olukotun lideró el proyecto de investigación del multiprocesador en chip (CMP) Hydra de Stanford. Esta iniciativa fue una de las primeras en demostrar la viabilidad de integrar múltiples procesadores en un solo chip, un concepto que sentó las bases de los procesadores multinúcleo actuales. El proyecto Hydra introdujo la compatibilidad con la especulación a nivel de hilos (TLS), lo que permitió una ejecución paralela de programas más eficiente.

incentivos comerciales

Diversos motivos comerciales impulsan el desarrollo de arquitecturas multinúcleo. Durante décadas, fue posible mejorar el rendimiento de una CPU reduciendo el área del circuito integrado (CI), lo que disminuyó el costo por componente. Alternativamente, para la misma área de circuito, se podían utilizar más transistores en el diseño, lo que incrementó la funcionalidad, especialmente en arquitecturas de computación con conjuntos de instrucciones complejos (CISC). Las frecuencias de reloj también aumentaron exponencialmente en las últimas décadas del siglo XX, pasando de varios megahercios en la década de 1980 a varios gigahercios a principios de la década de 2000.

A medida que disminuía el ritmo de mejora de la velocidad de reloj, se ha buscado un mayor uso de la computación paralela mediante procesadores multinúcleo para mejorar el rendimiento general del procesamiento. Se utilizaron varios núcleos en el mismo chip de CPU, lo que podría conducir a mejores ventas de chips de CPU con dos o más núcleos. Por ejemplo, Intel ha producido un procesador de 48 núcleos para la investigación en computación en la nube; cada núcleo tiene una arquitectura x86 . [ 16 ] [ 17 ]

Factores técnicos

Dado que los fabricantes de ordenadores llevan mucho tiempo implementando diseños de multiprocesamiento simétrico (SMP) utilizando CPU discretas, los problemas relacionados con la implementación de la arquitectura de procesadores multinúcleo y su soporte mediante software son bien conocidos.

Además:

  • Utilizar un diseño de núcleo de procesamiento probado sin cambios arquitectónicos reduce significativamente el riesgo de diseño.
  • Para los procesadores de propósito general, gran parte de la motivación para los procesadores multinúcleo proviene de las ganancias en rendimiento del procesador considerablemente reducidas al aumentar la frecuencia de operación . Esto se debe a tres factores principales: [ 18 ]
    1. El límite de la memoria : la creciente brecha entre la velocidad del procesador y la de la memoria. Esto, en efecto, obliga a aumentar el tamaño de la caché para disimular la latencia de la memoria. Sin embargo, esto solo resulta útil en la medida en que el ancho de banda de la memoria no sea el cuello de botella del rendimiento.
    2. El muro del paralelismo a nivel de instrucción (ILP, por sus siglas en inglés) : la creciente dificultad de encontrar suficiente paralelismo en un único flujo de instrucciones para mantener ocupado un procesador de un solo núcleo de alto rendimiento.
    3. El límite de potencia : la tendencia a consumir energía de forma exponencial (y, por lo tanto, a generar calor de forma exponencial) con cada incremento factorial de la frecuencia de funcionamiento. Este incremento puede mitigarse reduciendo el tamaño del procesador mediante el uso de pistas más pequeñas para la misma lógica. El límite de potencia plantea problemas de fabricación, diseño de sistemas e implementación que no se han justificado ante la disminución de las ganancias de rendimiento debidas al límite de memoria y al límite de paralelismo a nivel de instrucción (ILP) .

Para seguir ofreciendo mejoras de rendimiento constantes en los procesadores de propósito general, fabricantes como Intel y AMD han optado por diseños multinúcleo, sacrificando costes de fabricación en aras de un mayor rendimiento en ciertas aplicaciones y sistemas. Si bien se están desarrollando arquitecturas multinúcleo, también se están explorando alternativas. Una opción especialmente atractiva para los mercados ya establecidos es la mayor integración de las funciones periféricas en el chip.

Ventajas

La proximidad de múltiples núcleos de CPU en el mismo chip permite que el circuito de coherencia de caché opere a una frecuencia mucho mayor que si las señales tuvieran que viajar fuera del chip. La combinación de CPU equivalentes en un solo chip mejora significativamente el rendimiento de las operaciones de inspección de caché (o inspección de bus ). En resumen, esto significa que las señales entre diferentes CPU recorren distancias más cortas y, por lo tanto, se degradan menos. Estas señales de mayor calidad permiten enviar más datos en un período de tiempo determinado, ya que las señales individuales pueden ser más cortas y no necesitan repetirse con tanta frecuencia.

Suponiendo que el chip quepa físicamente en el paquete, los diseños de CPU multinúcleo requieren mucho menos espacio en la placa de circuito impreso (PCB) que los diseños SMP multichip . Además, un procesador de doble núcleo consume un poco menos de energía que dos procesadores de un solo núcleo acoplados, principalmente debido a la menor potencia necesaria para controlar las señales externas al chip. Asimismo, los núcleos comparten algunos circuitos, como la caché L2 y la interfaz con el bus frontal (FSB). En cuanto a las tecnologías que compiten por el área disponible del chip de silicio, el diseño multinúcleo puede utilizar diseños de bibliotecas de núcleos de CPU ya probadas y producir un producto con menor riesgo de errores de diseño que si se diseñara un nuevo diseño con más núcleos. Además, añadir más caché presenta rendimientos decrecientes.

Los chips multinúcleo también permiten un mayor rendimiento con menor consumo de energía. Esto puede ser un factor importante en dispositivos móviles que funcionan con baterías. Dado que cada núcleo en una CPU multinúcleo suele ser más eficiente energéticamente, el chip resulta más eficiente que si tuviera un único núcleo monolítico grande. Esto permite un mayor rendimiento con menos energía. Sin embargo, un desafío en este sentido es la sobrecarga adicional que supone escribir código paralelo. [ 19 ]

Desventajas

Para aprovechar al máximo los recursos informáticos que ofrecen los procesadores multinúcleo, es necesario realizar ajustes tanto en el sistema operativo como en el software de aplicación existente. Asimismo, la capacidad de los procesadores multinúcleo para mejorar el rendimiento de las aplicaciones depende del uso de múltiples hilos dentro de las mismas.

La integración de un chip multinúcleo puede reducir el rendimiento de producción de chips. También son más difíciles de gestionar térmicamente que los diseños de un solo núcleo de menor densidad. Intel ha contrarrestado parcialmente este primer problema creando sus diseños de cuatro núcleos mediante la combinación de dos chips de doble núcleo en un solo chip con una caché unificada, por lo que se pueden usar dos chips de doble núcleo que funcionen, en lugar de producir cuatro núcleos en un solo chip y requerir que los cuatro funcionen para producir una CPU de cuatro núcleos. Desde un punto de vista arquitectónico, en última instancia, los diseños de CPU de un solo núcleo pueden aprovechar mejor la superficie de silicio que los núcleos de procesamiento múltiple, por lo que un compromiso de desarrollo con esta arquitectura puede conllevar el riesgo de obsolescencia. Finalmente, la potencia de procesamiento bruta no es la única limitación del rendimiento del sistema. Dos núcleos de procesamiento que comparten el mismo bus del sistema y ancho de banda de memoria limitan la ventaja de rendimiento en el mundo real.

Hardware

La tendencia en el desarrollo de procesadores ha sido hacia un número cada vez mayor de núcleos, a medida que los procesadores con cientos o incluso miles de núcleos se vuelven teóricamente posibles. [ 20 ] Además, los chips multinúcleo combinados con multihilo simultáneo , memoria en chip y núcleos "heterogéneos" (o asimétricos) de propósito especial prometen mayores ganancias de rendimiento y eficiencia, especialmente en el procesamiento de aplicaciones multimedia, de reconocimiento y de redes. Por ejemplo, un núcleo big.LITTLE incluye un núcleo de alto rendimiento (llamado 'big') y un núcleo de bajo consumo (llamado 'LITTLE'). También hay una tendencia hacia la mejora de la eficiencia energética al centrarse en el rendimiento por vatio con una gestión de energía avanzada de grano fino o ultrafino y escalado dinámico de voltaje y frecuencia (es decir, computadoras portátiles y reproductores multimedia portátiles ).

Los chips diseñados desde el principio para un gran número de núcleos (en lugar de haber evolucionado a partir de diseños de un solo núcleo) a veces se denominan diseños multinúcleo , lo que enfatiza las diferencias cualitativas.

Arquitectura

La composición y el equilibrio de los núcleos en la arquitectura multinúcleo muestran una gran variedad. Algunas arquitecturas utilizan un diseño de núcleo repetido de forma consistente ("homogénea"), mientras que otras utilizan una mezcla de diferentes núcleos, cada uno optimizado para una función diferente, " heterogénea ".

La forma en que se implementan e integran los múltiples núcleos afecta significativamente tanto las habilidades de programación del desarrollador como las expectativas del consumidor respecto a las aplicaciones y la interactividad del dispositivo. [ 21 ] Un dispositivo anunciado como de ocho núcleos solo tendrá núcleos independientes si se anuncia como True Octa-core , o con un estilo similar, en lugar de ser simplemente dos conjuntos de cuatro núcleos cada uno con velocidades de reloj fijas. [ 22 ] [ 23 ]

El artículo "Diseñadores de CPU debaten el futuro multinúcleo" de Rick Merritt, EE Times 2008, [ 24 ] incluye estos comentarios:

Chuck Moore [...] sugirió que las computadoras deberían ser como los teléfonos celulares, utilizando una variedad de núcleos especializados para ejecutar software modular programado por una interfaz de programación de aplicaciones de alto nivel.

[...] Atsushi Hasegawa, ingeniero jefe sénior de Renesas , coincidió en general. Sugirió que el uso de múltiples núcleos especializados que trabajan en conjunto en los teléfonos móviles es un buen modelo para futuros diseños multinúcleo.

[...] Anant Agarwal , fundador y director ejecutivo de la startup Tilera , adoptó una postura contraria. Afirmó que los chips multinúcleo deben ser conjuntos homogéneos de núcleos de propósito general para mantener la simplicidad del modelo de software.

Efectos de software

Una versión obsoleta de una aplicación antivirus puede crear un nuevo hilo para el proceso de escaneo, mientras que su hilo de interfaz gráfica espera comandos del usuario (por ejemplo, cancelar el escaneo). En estos casos, una arquitectura multinúcleo ofrece pocas ventajas para la aplicación, ya que un solo hilo realiza todo el trabajo pesado y resulta imposible distribuir la carga de trabajo uniformemente entre varios núcleos. Programar código verdaderamente multihilo suele requerir una coordinación compleja de hilos y puede introducir fácilmente errores sutiles y difíciles de detectar debido a la interconexión del procesamiento de datos compartidos entre hilos (véase seguridad de hilos ). En consecuencia, este tipo de código es mucho más difícil de depurar que el código monohilo cuando falla. Se ha percibido una falta de motivación para desarrollar aplicaciones multihilo para el consumidor debido a la relativa escasez de demanda por parte de este sector para un uso máximo del hardware informático. Además, las tareas en serie, como la decodificación de los algoritmos de codificación de entropía utilizados en los códecs de vídeo, son imposibles de paralelizar, ya que cada resultado generado se utiliza para ayudar a crear el siguiente resultado del algoritmo de decodificación de entropía.

Dado el creciente énfasis en el diseño de chips multinúcleo, derivado de los graves problemas térmicos y de consumo energético que plantea cualquier aumento significativo en la velocidad de reloj de los procesadores, la capacidad del software para aprovechar estos nuevos chips mediante multihilo probablemente será la principal limitación del rendimiento informático en el futuro. Si los desarrolladores no logran diseñar software que explote plenamente los recursos que ofrecen los múltiples núcleos, alcanzarán un límite de rendimiento insuperable.

El mercado de las telecomunicaciones fue uno de los primeros en necesitar un nuevo diseño de procesamiento de paquetes de ruta de datos paralelo debido a la rápida adopción de estos procesadores multinúcleo para la ruta de datos y el plano de control. Estas MPU van a reemplazar [ 25 ] a los procesadores de red tradicionales que se basaban en microcódigo o picocódigo propietario .

Las técnicas de programación paralela pueden beneficiarse directamente de los múltiples núcleos. Algunos modelos de programación paralela existentes , como Cilk Plus , OpenMP , OpenHMPP , FastFlow , Skandium, MPI y Erlang , pueden utilizarse en plataformas multinúcleo. Intel introdujo una nueva abstracción para el paralelismo en C++ llamada TBB . Otros proyectos de investigación incluyen Codeplay Sieve System , Chapel de Cray , Fortress de Sun y X10 de IBM .

El procesamiento multinúcleo también ha afectado la capacidad del desarrollo de software computacional moderno. Los desarrolladores que programan en lenguajes más recientes pueden descubrir que estos no admiten la funcionalidad multinúcleo. Esto requiere el uso de bibliotecas numéricas para acceder al código escrito en lenguajes como C y Fortran , que realizan cálculos matemáticos más rápido que lenguajes más recientes como C# . MKL de Intel y ACML de AMD están escritas en estos lenguajes nativos y aprovechan el procesamiento multinúcleo. Equilibrar la carga de trabajo de la aplicación entre procesadores puede ser problemático, especialmente si tienen características de rendimiento diferentes. Existen diferentes modelos conceptuales para abordar el problema, por ejemplo, utilizando un lenguaje de coordinación y bloques de construcción de programas (bibliotecas de programación o funciones de orden superior). Cada bloque puede tener una implementación nativa diferente para cada tipo de procesador. Los usuarios simplemente programan utilizando estas abstracciones y un compilador inteligente elige la mejor implementación en función del contexto. [ 26 ]

La gestión de la concurrencia adquiere un papel central en el desarrollo de aplicaciones paralelas. Los pasos básicos para diseñar aplicaciones paralelas son:

Particionamiento
La etapa de particionamiento de un diseño tiene como objetivo revelar oportunidades para la ejecución en paralelo. Por lo tanto, se centra en definir un gran número de tareas pequeñas para lograr lo que se denomina una descomposición detallada del problema.
Comunicación
Las tareas generadas por una partición están diseñadas para ejecutarse simultáneamente, pero, por lo general, no pueden ejecutarse de forma independiente. El cálculo que se realiza en una tarea normalmente requiere datos asociados a otra tarea. Por lo tanto, es necesario transferir datos entre las tareas para que el cálculo pueda continuar. Este flujo de información se especifica en la fase de comunicación del diseño.
Aglomeración
En la tercera etapa, el desarrollo pasa de lo abstracto a lo concreto. Los desarrolladores revisan las decisiones tomadas en las fases de particionamiento y comunicación con el fin de obtener un algoritmo que se ejecute de manera eficiente en algún tipo de computadora paralela. En particular, consideran si es útil combinar o agrupar las tareas identificadas en la fase de particionamiento, para así obtener un menor número de tareas, cada una de mayor tamaño. También determinan si vale la pena replicar datos y cálculos.
Cartografía
En la cuarta y última etapa del diseño de algoritmos paralelos, los desarrolladores especifican dónde se ejecutará cada tarea. Este problema de asignación no se presenta en sistemas monoprocesadores ni en computadoras con memoria compartida que ofrecen planificación automática de tareas.

Por otro lado, en el lado del servidor , los procesadores multinúcleo son ideales porque permiten que muchos usuarios se conecten a un sitio simultáneamente y tengan hilos de ejecución independientes. Esto permite que los servidores web y de aplicaciones tengan un rendimiento mucho mejor .

Licencias

Los proveedores pueden licenciar algunos programas "por procesador". Esto puede generar ambigüedad, ya que un "procesador" puede constar de un solo núcleo o de una combinación de núcleos.

  • Inicialmente, para algunos de sus programas empresariales, Microsoft continuó utilizando un sistema de licencias por socket . Sin embargo, para algunos programas como BizTalk Server 2013 , SQL Server 2014 y Windows Server 2016 , Microsoft ha cambiado a licencias por núcleo. [ 27 ]
  • Oracle Corporation considera un procesador AMD X2 o una CPU Intel de doble núcleo como un solo procesador , pero utiliza otras métricas para otros tipos, especialmente para procesadores con más de dos núcleos. [ 28 ]

Aplicaciones integradas

Un sistema embebido en una tarjeta enchufable con procesador, memoria, fuente de alimentación e interfaces externas.

La informática embebida opera en un ámbito de la tecnología de procesadores distinto al de los ordenadores personales convencionales. Las mismas tendencias tecnológicas hacia los procesadores multinúcleo también se aplican aquí. De hecho, en muchos casos, la aplicación se adapta de forma natural a las tecnologías multinúcleo, siempre que la tarea pueda distribuirse fácilmente entre los distintos procesadores.

Además, el software embebido suele desarrollarse para una versión específica de hardware, lo que hace que los problemas de portabilidad , código heredado o soporte para desarrolladores independientes sean menos críticos que en el caso de los PC o la informática empresarial. Como resultado, a los desarrolladores les resulta más fácil adoptar nuevas tecnologías y, por consiguiente, existe una mayor variedad de arquitecturas y proveedores de procesamiento multinúcleo.

Procesadores de red

A partir de 2010Los procesadores de red multinúcleo se han generalizado, y empresas como Freescale Semiconductor , Cavium Networks , Wintegra y Broadcom fabrican productos con ocho procesadores. Para el desarrollador de sistemas, un desafío clave es cómo aprovechar todos los núcleos de estos dispositivos para lograr el máximo rendimiento de red a nivel de sistema, a pesar de las limitaciones de rendimiento inherentes a un sistema operativo de multiprocesamiento simétrico (SMP). Empresas como 6WIND proporcionan software portátil de procesamiento de paquetes diseñado para que el plano de datos de red se ejecute en un entorno de ruta rápida fuera del sistema operativo del dispositivo de red. [ 29 ]

Procesamiento digital de señales

En el procesamiento de señales digitales se observa la misma tendencia: Texas Instruments cuenta con el TMS320C6488 de tres núcleos y el TMS320C5441 de cuatro núcleos; Freescale , con el MSC8144 de cuatro núcleos y el MSC8156 de seis núcleos (y ambas compañías han declarado que están trabajando en sucesores de ocho núcleos). Entre las novedades más recientes se encuentran la familia Storm-1 de Stream Processors, Inc., con 40 y 80 unidades aritmético-lógicas (ALU) de propósito general por chip, todas programables en C como motor SIMD, y Picochip, con 300 procesadores en un solo chip, enfocado en aplicaciones de comunicación.

Sistemas heterogéneos

En la computación heterogénea , donde un sistema utiliza más de un tipo de procesador o núcleos, las soluciones multinúcleo son cada vez más comunes: Xilinx Zynq UltraScale+ MPSoC cuenta con un procesador ARM Cortex-A53 de cuatro núcleos y un procesador ARM Cortex-R5 de doble núcleo. Se utilizan soluciones de software como OpenAMP para facilitar la comunicación entre procesadores.

Los dispositivos móviles pueden utilizar la arquitectura ARM big.LITTLE .

Ejemplos de hardware

Comercial

Gratis

Académico

Puntos de referencia

La investigación y el desarrollo de procesadores multinúcleo a menudo comparan muchas opciones, y se desarrollan pruebas de rendimiento para ayudar en dichas evaluaciones. Entre las pruebas de rendimiento existentes se incluyen SPLASH-2, PARSEC y COSMIC para sistemas heterogéneos. [ 53 ]

Véase también

Notas

  1. Los procesadores de señales digitales ( DSP ) han utilizado arquitecturas multinúcleo durante mucho más tiempo que los procesadores de propósito general de gama alta. Un ejemplo típico de una implementación específica de DSP sería la combinación de unaCPURISCMPU. Esto permite el diseño de productos que requieren un procesador de propósito general para las interfaces de usuario y un DSP para el procesamiento de datos en tiempo real; este tipo de diseño es común enlos teléfonos móviles. En otras aplicaciones, un número creciente de empresas ha desarrollado DSP multinúcleo con un número muy elevado de procesadores.
  2. Dos tipos desistemas operativospueden utilizar un multiprocesador de doble CPU: el multiprocesamiento particionado y el multiprocesamiento simétrico(SMP). En una arquitectura particionada, cada CPU arranca en segmentos separados de memoria física y opera de forma independiente; en un sistema operativo SMP, los procesadores trabajan en un espacio compartido, ejecutando hilos dentro del sistema operativo de forma independiente.

Referencias

  1. Rouse, Margaret (27 de marzo de 2007). "Definición: procesador multinúcleo" . TechTarget. Archivado del original el 5 de agosto de 2010. Recuperado el 6 de marzo de 2013 .
  2. Schauer, Bryan. "Procesadores multinúcleo: una necesidad" (PDF) . Archivado del original (PDF) el 25 de noviembre de 2011.
  3. 1 2 Smith, Ryan. "NVIDIA anuncia la serie GeForce RTX 30: Ampere para juegos, comenzando con RTX 3080 y RTX 3090" . www.anandtech.com . Archivado del original el 1 de septiembre de 2020. Recuperado el 15 de septiembre de 2020 .
  4. "Sunway TaihuLight - Sunway MPP, Sunway SW26010 260C 1.45GHz, Sunway | TOP500" . www.top500.org . Consultado el 15 de septiembre de 2020 .
  5. Suleman, Aater (20 de mayo de 2011). "¿Qué hace que la programación paralela sea difícil?" . FutureChips. Archivado del original el 29 de mayo de 2011. Recuperado el 6 de marzo de 2013 .
  6. Duran, A (2011). "Ompss: una propuesta para la programación de arquitecturas multinúcleo heterogéneas". Parallel Processing Letters . 21 (2): 173– 193. doi : 10.1142/S0129626411000151 .
  7. "Definición de doble núcleo" . PCMAG . Consultado el 27 de octubre de 2023 .
  8. "Intel populariza sus procesadores de seis núcleos en 2018 con la familia Coffee Lake" . ZDNET . Consultado el 27 de octubre de 2023 .
  9. Alan Dexter (5 de abril de 2022). "Las CPU de seis núcleos son ahora más populares que los chips de cuatro núcleos en Steam" . PC Gamer . Consultado el 22 de mayo de 2024 .
  10. Schor, David (noviembre de 2017). "El PEZY-SC2 de 2048 núcleos establece un récord en Green500" . WikiChip.
  11. ^ Vajda, András (10 de junio de 2011). Programación de chips de muchos núcleos . Saltador. pag. 3.ISBN  978-1-4419-9739-5.
  12. Gassée, Jean-Louis (21 de diciembre de 2020). "Incorporándome a Apple hace 40 años" . Medium . Archivado del original el 15 de julio de 2025. Consultado el 10 de noviembre de 2025 .
  13. Apple Computer (29 de enero de 1989). CPU Scorpius de Apple (proyecto Aquarius) - 1989 .
  14. Classichasclass (29-12-2019). "TenFourFox Development: Y ahora algo completamente diferente: El amanecer de la era de Apple Aquarius" . TenFourFox Development . Recuperado el 10-11-2025 .
  15. Babbage (28 de mayo de 2023). "El primer 'Apple Silicon': el proyecto del procesador Aquarius" . The Chip Letter . Consultado el 10 de noviembre de 2025 .
  16. Shrout, Ryan (2 de diciembre de 2009). "Intel presenta un procesador x86 de 48 núcleos como una computadora en la nube de un solo chip" . Archivado del original el 5 de enero de 2016. Consultado el 17 de mayo de 2015 .
  17. "Intel presenta un chip de silicio de 48 núcleos para computación en la nube" . BBC. 3 de diciembre de 2009. Archivado del original el 6 de diciembre de 2012. Consultado el 6 de marzo de 2013 .
  18. Patterson, David A. "El futuro de la arquitectura de computadoras". Simposio Anual de Investigación de Ingeniería Eléctrica y Ciencias de la Computación de Berkeley (BEARS), Facultad de Ingeniería, UC Berkeley, EE. UU. 2006.
  19. Suleman, Aater (19 de mayo de 2011). "Preguntas y respuestas: ¿Los procesadores multinúcleo ahorran energía? En realidad no" . Archivado del original el 16 de diciembre de 2012. Consultado el 6 de marzo de 2013 .
  20. Clark, Jack. "Intel: Por qué es factible un chip de 1000 núcleos" . ZDNet . Archivado del original el 6 de agosto de 2015. Consultado el 6 de agosto de 2015 .
  21. Kudikala, Chakri (27 de agosto de 2016). "Estos 5 mitos sobre los teléfonos de ocho núcleos son realmente ciertos" . Giz Bot .
  22. «MediaTek lanza la plataforma móvil MT6592 True Octa-Core» (Comunicado de prensa). MediaTek. 20 de noviembre de 2013. Archivado del original el 29 de octubre de 2020.
  23. "¿Qué es un procesador de ocho núcleos?" . Samsung. Archivado del original el 17 de enero de 2022. Los smartphones Galaxy funcionan con procesadores de ocho núcleos (cuatro núcleos a 2,3 GHz + cuatro núcleos a 1,6 GHz) o de cuatro núcleos (dos núcleos a 2,15 GHz + dos núcleos a 1,6 GHz).
  24. Merritt, Rick (6 de febrero de 2008). "Diseñadores de CPU debaten el futuro multinúcleo" . EE Times . Consultado el 21 de octubre de 2023 .
  25. "Foro de procesamiento de paquetes multinúcleo" . Archivado del original el 21 de diciembre de 2009.
  26. John Darlinton; Moustafa Ghanem; Yike Guo; Hing Wing To (1996). "Organización guiada de recursos en computación paralela heterogénea". Journal of High Performance Computing . 4 (1): 13– 23. CiteSeerX 10.1.1.37.4309 . 
  27. Bright, Peter (4 de diciembre de 2015). "Windows Server 2016 pasará a un sistema de licencias por núcleo, no por socket" . Ars Technica . Condé Nast . Archivado del original el 4 de diciembre de 2015. Recuperado el 5 de diciembre de 2015 .
  28. Comparar: "Licenciamiento de productos de tecnología Oracle" . OMT-CO Operations Management Technology Consulting GmbH. Archivado del original el 21 de marzo de 2014. Consultado el 4 de marzo de 2014 .
  29. "Software 6WINDGATE: Software de optimización de red – Software SDN – Software de plano de control | 6WIND" .
  30. "APU Sempron™ 3850 con Radeon™ R3 Series | AMD" . AMD . Archivado del original el 4 de mayo de 2019. Consultado el 5 de mayo de 2019 .
  31. "Especificaciones del producto del procesador Intel® Atom™ Serie C" . ark.intel.com . Consultado el 4 de mayo de 2019 .
  32. "Especificaciones del producto del procesador Intel® Atom™ Serie Z" . ark.intel.com . Consultado el 4 de mayo de 2019 .
  33. "Intel prepara procesadores Celeron de doble núcleo" . 11 de octubre de 2007. Archivado del original el 4 de noviembre de 2007. Consultado el 12 de noviembre de 2007 .
  34. "Especificaciones del producto del procesador Intel® Celeron® Serie J" . ark.intel.com . Consultado el 4 de mayo de 2019 .
  35. "Productos anteriormente Yonah" . ark.intel.com . Consultado el 4 de mayo de 2019 .
  36. "Productos anteriormente Conroe" . ark.intel.com . Consultado el 4 de mayo de 2019 .
  37. "Productos anteriormente Kentsfield" . ark.intel.com . Consultado el 4 de mayo de 2019 .
  38. "Especificaciones del producto de los procesadores Intel® Core™ X-series" . ark.intel.com . Consultado el 4 de mayo de 2019 .
  39. "Especificaciones del producto del procesador Intel® Itanium®" . ark.intel.com . Consultado el 4 de mayo de 2019 .
  40. "Especificaciones del producto del procesador Intel® Pentium® Serie D" . ark.intel.com . Consultado el 4 de mayo de 2019 .
  41. Zazaian, Mike (26 de septiembre de 2006). "Intel: 80 núcleos para 2011" . Archivado del original el 9 de noviembre de 2006. Consultado el 28 de septiembre de 2006 .
  42. Kowaliski, Cyril (18 de febrero de 2014). "Intel lanza el procesador Xeon E7 v2 de 15 núcleos" . Archivado del original el 11 de octubre de 2014.
  43. "Familia de procesadores Intel Xeon E7 v3" . Intel . Archivado del original el 7 de julio de 2015.
  44. "Familia de procesadores Intel Xeon E7 v2" . Intel® ARK (Especificaciones del producto) . Intel. Archivado del original el 7 de julio de 2015.
  45. "Familia de procesadores Intel Xeon E3 v2" . Intel® ARK (Especificaciones del producto) . Intel. Archivado del original el 7 de julio de 2015.
  46. "Intel muestra la CPU Xeon Platinum con hasta 56 núcleos y 112 subprocesos" . TechSpot . 2 de abril de 2019. Consultado el 4 de mayo de 2019 .
  47. PDF, Descargar. "Resumen de los procesadores Intel® Xeon® Scalable de segunda generación" . Intel . Consultado el 4 de mayo de 2019 .
  48. "Especificaciones del producto de la familia de productos Intel® Xeon Phi™ x100" . ark.intel.com . Consultado el 4 de mayo de 2019 .
  49. "Especificaciones del producto de la familia de procesadores Intel® Xeon Phi™ 72x5" . ark.intel.com . Consultado el 4 de mayo de 2019 .
  50. Cole, Bernard (24 de septiembre de 2008). "Se presenta un procesador de 40 núcleos con herramientas IDE basadas en Forth" .
  51. Hammond, Lance; et al. (1999). El CMP de Stanford Hydra (PDF) . Hot Chips . Recuperado el 27 de junio de 2023 . 
  52. Chacos, Brad (20 de junio de 2016). «Conoce KiloCore, un procesador de 1000 núcleos tan eficiente que podría funcionar con una pila AA» . PC World . Archivado del original el 23 de junio de 2016.
  53. "COSMIC: Suite de pruebas de rendimiento para multiprocesadores estadísticos" .

Lecturas adicionales

  • Khondker S. Hasan; Nicolas G. Grounds; John K. Antonio (julio de 2011). Predicción de la disponibilidad de la CPU de un procesador multinúcleo que ejecuta hilos Java concurrentes . 17.ª Conferencia Internacional sobre Técnicas y Aplicaciones de Procesamiento Paralelo y Distribuido (PDPTA-11). Las Vegas, Nevada, EE. UU. pp. 551–557 . hdl : 10657.1/2440 . 
  • Khondker S. Hasan; John Antonio; Sridhar Radhakrishnan (febrero de 2014). Un nuevo modelo compuesto de CPU/memoria para predecir la eficiencia del procesamiento multinúcleo . Taller de la 20.ª Conferencia Internacional IEEE sobre Arquitectura de Computadoras de Alto Rendimiento (HPCA-14). Orlando, FL, EE. UU. doi : 10.13140/RG.2.1.3051.9207 .
  • "¿Qué es un núcleo de procesador?" —MakeUseOf
  • "Los sistemas embebidos se orientan hacia los multinúcleo" — Diseño de Computación Embebida
  • "Los procesadores multinúcleo son una mala noticia para las supercomputadoras" — IEEE Spectrum
  • Diseño de soluciones para el futuro de Manycore , publicado el 19 de febrero de 2010 (más de un enlace roto en la diapositiva).
Obtenido de " https://en.wikipedia.org/w/index.php?title=Multi-core_processor&oldid=1359885163 "