stringtranslate.com

Procesador multinúcleo

Diagrama de un procesador genérico de doble núcleo con cachés de nivel 1 local de la CPU y un caché de nivel 2 compartido en el chip
Un procesador Intel Core 2 Duo E6750 de doble núcleo
Un procesador AMD Athlon X2 6400+ de doble núcleo

Un procesador multinúcleo es un microprocesador en un único circuito integrado con dos o más unidades de procesamiento separadas , llamadas núcleos (por ejemplo, de doble núcleo o de cuatro núcleos ), cada una de las cuales lee y ejecuta instrucciones de programa . [1] Las instrucciones son instrucciones ordinarias de la CPU (como agregar, mover datos y bifurcar), pero un único procesador puede ejecutar instrucciones en núcleos separados al mismo tiempo, lo que aumenta la velocidad general de los programas que admiten subprocesos múltiples u otras técnicas de computación paralela . [2] Los fabricantes suelen integrar los núcleos en un único chip de circuito integrado (conocido como multiprocesador de chip o CMP) o en varios troqueles en un solo paquete de chip . Los microprocesadores que se utilizan actualmente en casi todos los ordenadores personales son multinúcleo.

Un procesador multinúcleo implementa el multiprocesamiento en un único paquete físico. Los diseñadores pueden acoplar núcleos en un dispositivo de múltiples núcleos de manera firme o suelta. Por ejemplo, los núcleos pueden compartir o no cachés y pueden implementar métodos de comunicación entre núcleos de memoria compartida o de paso de mensajes . 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 sólo 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 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 de los sistemas multinúcleo pueden implementar arquitecturas como VLIW , superescalar , vectorial o multiproceso .

Los procesadores multinúcleo se utilizan ampliamente en muchos dominios de aplicaciones, incluidos los de uso general , integrados , de red , de procesamiento de señales digitales (DSP) y de gráficos (GPU). El recuento de núcleos llega incluso a docenas, y para chips especializados superiores a 10.000, [3] y en supercomputadoras (es decir, grupos de chips) el recuento puede superar los 10 millones (y en un caso hasta 20 millones de elementos de procesamiento en total, además del host). procesadores). [4]

La mejora del rendimiento obtenida mediante el uso de un procesador multinúcleo depende en gran medida de los algoritmos de software utilizados y de 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 vergonzosamente paralelos pueden generar factores de aceleración cercanos al número de núcleos, o incluso más si el problema se divide lo suficiente como para caber en el caché de cada núcleo, evitando el uso de una memoria del sistema principal mucho más lenta. . Sin embargo, la mayoría de las aplicaciones no se aceleran tanto a menos que los programadores inviertan esfuerzos en refactorizarlas . [5]

La paralelización del software es un importante tema de investigación en curso. La cointegración de aplicaciones multiprocesador proporciona flexibilidad en el diseño de la arquitectura de red. La adaptabilidad dentro de 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 convertirse en algo común a finales de la década de 2000. [7] También se estaban adoptando procesadores de cuatro núcleos para sistemas de gama alta. A finales de la década de 2010, el hexa-core (seis núcleos) comenzó a entrar en la corriente principal. [8]

Terminología

Los términos multinúcleo y doble núcleo se refieren más comúnmente a algún tipo de unidad central de procesamiento (CPU), pero a veces también se aplican a procesadores de señales digitales (DSP) y sistemas en un chip (SoC). Los términos se utilizan generalmente sólo para referirse a microprocesadores multinúcleo que se fabrican en el mismo circuito integrado ; Los microprocesadores separados en el mismo paquete generalmente reciben otro nombre, como módulo de múltiples chips . Este artículo utiliza los términos "multinúcleo" y "doble núcleo" para las CPU fabricadas en el mismo circuito integrado, a menos 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 sí).

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

Algunos sistemas utilizan muchos núcleos de microprocesador blandos colocados en una única FPGA . Cada "núcleo" puede considerarse un " núcleo de propiedad intelectual de semiconductores ", así como un núcleo de CPU. [ cita necesaria ]

Desarrollo

Mientras la tecnología de fabricación mejora, reduciendo el tamaño de las puertas individuales, los límites físicos de la microelectrónica basada en semiconductores se han convertido en una importante preocupación de diseño. Estas limitaciones físicas pueden causar importantes problemas de disipación de calor y sincronización de datos. Se utilizan varios otros métodos para mejorar el rendimiento de la CPU. Algunos métodos de paralelismo a nivel de instrucción (ILP), como la canalización superescalar , son adecuados para muchas aplicaciones, pero son 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 comúnmente se utilizan varias CPU independientes para aumentar el TLP general de un sistema. Una combinación de mayor espacio disponible (debido a procesos de fabricación refinados) y la demanda de un mayor TLP llevaron al desarrollo de CPU multinúcleo.

Incentivos comerciales

Varios 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 (IC), lo que redujo el costo por dispositivo en el IC. Alternativamente, para la misma área del circuito, se podrían usar más transistores en el diseño, lo que aumentaría la funcionalidad, especialmente para arquitecturas de computación con conjuntos de instrucciones complejas (CISC). Las velocidades de reloj también aumentaron en órdenes de magnitud en las décadas de finales del siglo XX, desde varios megahercios en los años 1980 a varios gigahercios a principios de los años 2000.

A medida que el ritmo de mejora de la velocidad del reloj disminuyó, se ha buscado un mayor uso de la computación paralela en forma de 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 . [11] [12]

Factores técnicos

Dado que los fabricantes de computadoras han implementado durante mucho tiempo diseños de multiprocesamiento simétrico (SMP) utilizando CPU discretas, los problemas relacionados con la implementación de una arquitectura de procesador multinúcleo y su soporte con software son bien conocidos.

Además:

Para seguir ofreciendo mejoras regulares de rendimiento para los procesadores de uso general, fabricantes como Intel y AMD han recurrido a diseños multinúcleo, sacrificando costos de fabricación más bajos por un mayor rendimiento en algunas aplicaciones y sistemas. Se están desarrollando arquitecturas multinúcleo, pero también las alternativas. Un competidor especialmente fuerte para los mercados establecidos es la mayor integración de 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 la caché funcione a una velocidad de reloj mucho más alta de lo que es posible si las señales tienen que viajar fuera del chip. La combinación de CPU equivalentes en un solo chip mejora significativamente el rendimiento de las operaciones de espionaje de caché (alternativa: espionaje de bus ). En pocas palabras, esto significa que las señales entre diferentes CPU viajan distancias más cortas y, por lo tanto, esas señales 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 es necesario repetirlas con tanta frecuencia.

Suponiendo que la matriz pueda caber físicamente en el paquete, los diseños de CPU de múltiples núcleos requieren mucho menos espacio en la placa de circuito impreso (PCB) que los diseños SMP de múltiples chips . Además, un procesador de doble núcleo utiliza un poco menos de energía que dos procesadores de un solo núcleo acoplados, principalmente debido a la menor energía requerida para controlar señales externas al chip. Además, los núcleos comparten algunos circuitos, como la caché L2 y la interfaz con el bus frontal (FSB). En términos de tecnologías competitivas para el área de matriz de silicio disponible, el diseño multinúcleo puede hacer uso de diseños probados de bibliotecas de núcleos de CPU y producir un producto con menor riesgo de error de diseño que idear un nuevo diseño de núcleo más ancho. Además, agregar más caché genera rendimientos decrecientes.

Los chips multinúcleo también permiten un mayor rendimiento con menor energía. Este puede ser un factor importante en los dispositivos móviles que funcionan con baterías. Dado que cada núcleo en una CPU multinúcleo es generalmente más eficiente energéticamente, el chip se vuelve más eficiente que tener un único núcleo monolítico grande. Esto permite un mayor rendimiento con menos energía. Sin embargo, un desafío en esto es la sobrecarga adicional de escribir código paralelo. [14]

Desventajas

Maximizar el uso de los recursos informáticos proporcionados por los procesadores multinúcleo requiere ajustes tanto en el soporte del sistema operativo (SO) como en el software de aplicación existente. Además, la capacidad de los procesadores multinúcleo para aumentar el rendimiento de las aplicaciones depende del uso de múltiples subprocesos dentro de las aplicaciones.

La integración de un chip multinúcleo puede reducir el rendimiento de la producción del chip. 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 combinando dos de doble núcleo en un solo chip con un caché unificado, por lo que se pueden usar dos troqueles de doble núcleo que funcionen cualesquiera, en lugar de producir cuatro núcleos en un mismo chip. un solo troquel y requiere 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 única pueden hacer un mejor uso de la superficie de silicio que los núcleos multiprocesamiento, por lo que un compromiso de desarrollo con esta arquitectura puede conllevar el riesgo de obsolescencia. Por último, la potencia bruta de procesamiento 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. En un informe de 2009, el Dr. Jun Ni demostró que si un solo núcleo está cerca de tener un ancho de banda de memoria limitado, entonces pasar a un doble núcleo podría proporcionar una mejora del 30% al 70%; si el ancho de banda de la memoria no es un problema, se puede esperar una mejora del 90%; sin embargo, la ley de Amdahl hace que esta afirmación sea dudosa. [15] Sería posible que una aplicación que usara dos CPU terminara ejecutándose más rápido en una de un solo núcleo si la comunicación entre las CPU fuera el factor limitante, lo que contaría como una mejora de más del 100%.

Hardware

Tendencias

La tendencia en el desarrollo de procesadores ha sido hacia un número cada vez mayor de núcleos, a medida que teóricamente son posibles procesadores con cientos o incluso miles de núcleos. [16] Además, los chips multinúcleo combinados con múltiples subprocesos simultáneos , 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 'grande') y un núcleo de bajo consumo (llamado 'LITTLE'). También existe una tendencia a mejorar la eficiencia energética centrándose en el rendimiento por vatio con una gestión avanzada de la energía de grano fino o ultrafino y escalamiento dinámico de voltaje y frecuencia (es decir, computadoras portátiles y reproductores multimedia portátiles ).

Los chips diseñados desde el principio para una gran cantidad de núcleos (en lugar de haber evolucionado a partir de diseños de un solo núcleo) a veces se denominan diseños de muchos núcleos , 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 consistentemente ("homogéneo"), mientras que otras usan una mezcla de diferentes núcleos, cada uno optimizado para una función diferente y " heterogénea ".

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

El artículo "Los diseñadores de CPU debaten el futuro de los núcleos múltiples" de Rick Merritt, EE Times 2008, [20] incluye estos comentarios:

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

[...] Atsushi Hasegawa, ingeniero jefe senior de Renesas , estuvo de acuerdo en general. Sugirió que el uso por parte del teléfono móvil de muchos núcleos especiales trabajando en conjunto es un buen modelo para futuros diseños de múltiples núcleos.

[...] Anant Agarwal , fundador y director ejecutivo de la startup Tilera , adoptó la opinión contraria. Dijo que los chips multinúcleo deben ser colecciones homogéneas de núcleos de uso general para mantener simple el modelo de software.

efectos de software

Una versión desactualizada de una aplicación antivirus puede crear un nuevo hilo para un proceso de análisis, mientras su hilo GUI espera comandos del usuario (por ejemplo, cancelar el análisis). En tales casos, una arquitectura multinúcleo es de poco beneficio para la aplicación en sí debido a que un solo subproceso hace todo el trabajo pesado y la incapacidad de equilibrar el trabajo de manera uniforme entre múltiples núcleos. La programación de código verdaderamente multiproceso a menudo requiere una coordinación compleja de los subprocesos y puede introducir fácilmente errores sutiles y difíciles de encontrar debido al entrelazamiento del procesamiento de datos compartidos entre subprocesos (consulte seguridad de subprocesos ). En consecuencia, dicho código es mucho más difícil de depurar que el código de un solo subproceso cuando falla. Se ha percibido una falta de motivación para escribir aplicaciones con subprocesos a nivel de consumidor debido a la relativa rareza de la demanda por parte de los consumidores de 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 porque cada resultado generado se utiliza para ayudar a crear el siguiente resultado del algoritmo de decodificación de entropía.

Dado el énfasis cada vez mayor en el diseño de chips multinúcleo, derivado de los graves problemas térmicos y de consumo de energía que plantea cualquier aumento significativo adicional en las velocidades de reloj del procesador, es probable que se determine hasta qué punto el software puede ser multiproceso para aprovechar estos nuevos chips. la mayor limitación para el rendimiento de los ordenadores en el futuro. Si los desarrolladores no pueden diseñar software para explotar plenamente los recursos proporcionados por múltiples núcleos, en última instancia alcanzarán un techo de rendimiento insuperable.

El mercado de las telecomunicaciones fue uno de los primeros que necesitó un nuevo diseño de procesamiento de paquetes de rutas de datos en paralelo porque hubo una adopción muy rápida de estos procesadores de múltiples núcleos para la ruta de datos y el plano de control. Estas MPU van a sustituir [21] 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 múltiples núcleos. Algunos modelos de programación paralela existentes , como Cilk Plus , OpenMP , OpenHMPP , FastFlow , Skandium, MPI y Erlang , se pueden utilizar en plataformas multinúcleo. Intel introdujo una nueva abstracción para el paralelismo de C++ llamada TBB . Otros esfuerzos de investigación incluyen Codeplay Sieve System , Cray's Chapel , Sun's Fortress y IBM's X10 .

El procesamiento multinúcleo también ha afectado la capacidad del desarrollo de software computacional moderno. Los desarrolladores que programan en lenguajes más nuevos pueden encontrar que sus lenguajes modernos no admiten la funcionalidad multinúcleo. Esto requiere entonces 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 [ cita requerida ] que lenguajes más nuevos como C# . MKL de Intel y ACML de AMD están escritos en estos lenguajes nativos y aprovechan el procesamiento multinúcleo. Equilibrar la carga de trabajo de la aplicación entre procesadores puede resultar problemático, especialmente si tienen diferentes características de rendimiento. 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 usando estas abstracciones y un compilador inteligente elige la mejor implementación según el contexto. [22]

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

Fraccionamiento
La etapa de partición de un diseño tiene como objetivo exponer oportunidades para la ejecución paralela. Por lo tanto, la atención se centra en definir un gran número de pequeñas tareas para producir lo que se denomina descomposición detallada de un problema.
Comunicación
Las tareas generadas por una partición están destinadas a ejecutarse simultáneamente pero, en general, no pueden ejecutarse de forma independiente. El cálculo que se realizará en una tarea normalmente requerirá datos asociados con otra tarea. Luego, los datos deben transferirse entre tareas para permitir que continúe el cálculo. Este flujo de información se especifica en la fase de comunicación de un 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 partición y comunicación con miras a obtener un algoritmo que se ejecutará de manera eficiente en algún tipo de computadora paralela. En particular, los desarrolladores consideran si es útil combinar o aglomerar las tareas identificadas en la fase de partición, para proporcionar un número menor de tareas, cada una de ellas 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 surge en monoprocesadores ni en computadoras con memoria compartida que proporcionan programació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 los servidores de aplicaciones tengan un rendimiento mucho mejor .

Licencia

Los proveedores pueden licenciar algún software "por procesador". Esto puede dar lugar a ambigüedad, porque un "procesador" puede consistir en un único núcleo o en una combinación de núcleos.

Aplicaciones integradas

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

La informática integrada opera en un área de tecnología de procesador distinta de la de las PC "convencionales". Aquí también se aplican los mismos impulsos tecnológicos hacia el multinúcleo. De hecho, en muchos casos la aplicación es una opción "natural" para tecnologías multinúcleo, si la tarea puede dividirse fácilmente entre los diferentes procesadores.

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

Procesadores de red

A partir de 2010 , los procesadores de red multinúcleo se han convertido en algo común, 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 explotar todos los núcleos de estos dispositivos para lograr el máximo rendimiento de red a nivel del sistema, a pesar de las limitaciones de rendimiento inherentes a un sistema operativo de multiprocesamiento simétrico (SMP). Empresas como 6WIND proporcionan software de procesamiento de paquetes portátil diseñado para que el plano de datos de la red se ejecute en un entorno de ruta rápida fuera del sistema operativo del dispositivo de red. [25]

Procesamiento de señales digitales

En el procesamiento de señales digitales se aplica la misma tendencia: Texas Instruments tiene el TMS320C6488 de tres núcleos y el TMS320C5441 de cuatro núcleos, Freescale el MSC8144 de cuatro núcleos y el MSC8156 de seis núcleos (y ambos han declarado que están trabajando en sucesores de ocho núcleos). Las entradas más recientes incluyen la familia Storm-1 de Stream Processors, Inc con 40 y 80 ALU de uso general por chip, todas programables en C como motor SIMD y Picochip con 300 procesadores en un solo troquel, enfocados en aplicaciones de comunicación.

Sistemas heterogéneos

En la informática heterogénea , donde un sistema utiliza más de un tipo de procesador o núcleos, las soluciones multinúcleo se están volviendo más comunes: Xilinx Zynq UltraScale+ MPSoC tiene un ARM Cortex-A53 de cuatro núcleos y un ARM Cortex-R5 de doble núcleo. Se están utilizando soluciones de software como OpenAMP para ayudar con 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 puntos de referencia para ayudar en dichas evaluaciones. Los puntos de referencia existentes incluyen SPLASH-2, PARSEC y COSMIC para sistemas heterogéneos. [49]

Ver 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 uso general de alta gama. Un ejemplo típico de una implementación específica de DSP sería una combinación de una CPU RISC y una MPU DSP . Esto permite el diseño de productos que requieren un procesador de propósito general para interfaces de usuario y un DSP para procesamiento de datos en tiempo real; Este tipo de diseño es común en los teléfonos móviles . En otras aplicaciones, un número creciente de empresas ha desarrollado DSP multinúcleo con una gran cantidad de procesadores.
  2. ^ Dos tipos de sistemas operativos pueden utilizar un multiprocesador de CPU dual: multiprocesamiento particionado y 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 subprocesos dentro del sistema operativo de forma independiente.

Referencias

  1. ^ Rouse, Margaret (27 de marzo de 2007). "Definición: procesador multinúcleo". Objetivo tecnológico. Archivado desde el original el 5 de agosto de 2010 . Consultado el 6 de marzo de 2013 .
  2. ^ Schauer, Bryan. "Procesadores multinúcleo: una necesidad" (PDF) . Archivado desde el original (PDF) el 25 de noviembre de 2011.
  3. ^ ab Smith, Ryan. "NVIDIA anuncia la serie GeForce RTX 30: Ampere para juegos, comenzando con RTX 3080 y RTX 3090". www.anandtech.com . Consultado el 15 de septiembre de 2020 .
  4. ^ "Sunway TaihuLight - Sunway MPP, Sunway SW26010 260C 1,45 GHz, Sunway | TOP500". www.top500.org . Consultado el 15 de septiembre de 2020 .
  5. ^ Suleman, Aater (20 de mayo de 2011). "¿Qué dificulta la programación paralela?". Chips futuros. Archivado desde el original el 29 de mayo de 2011 . Consultado el 6 de marzo de 2013 .
  6. ^ Durán, A (2011). "Ompss: una propuesta para programar arquitecturas heterogéneas multinúcleo". Cartas de procesamiento paralelo . 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 incorporará sus procesadores de seis núcleos en 2018 con la familia Coffee Lake". ZDNET . Consultado el 27 de octubre de 2023 .
  9. ^ Schor, David (noviembre de 2017). "El PEZY-SC2 de 2048 núcleos establece un récord Green500". WikiChip.
  10. ^ 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.
  11. ^ Shrout, Ryan (2 de diciembre de 2009). "Intel muestra un procesador x86 de 48 núcleos como una computadora en la nube de un solo chip". Archivado desde el original el 5 de enero de 2016 . Consultado el 17 de mayo de 2015 .
  12. ^ "Intel presenta un chip de silicio para computación en la nube de 48 núcleos". BBC. 3 de diciembre de 2009. Archivado desde el original el 6 de diciembre de 2012 . Consultado el 6 de marzo de 2013 .
  13. ^ Patterson, David A. "Futuro de la arquitectura informática". Simposio Anual de Investigación Berkeley EECS (BEARS), Facultad de Ingeniería, UC Berkeley, EE. UU. 2006.
  14. ^ Suleman, Aater (19 de mayo de 2011). "Preguntas y respuestas: ¿Los núcleos múltiples ahorran energía? En realidad, no". Archivado desde el original el 16 de diciembre de 2012 . Consultado el 6 de marzo de 2013 .
  15. ^ Ni, Jun. "Habilitación de la tecnología de informática multinúcleo para imágenes médicas" (PDF) . Archivado desde el original (PDF) el 5 de julio de 2010 . Consultado el 17 de febrero de 2013 .
  16. ^ Clark, Jack. "Intel: Por qué es factible un chip de 1000 núcleos". ZDNet . Archivado desde el original el 6 de agosto de 2015 . Consultado el 6 de agosto de 2015 .
  17. ^ Kudikala, Chakri (27 de agosto de 2016). "Estos cinco mitos sobre los teléfonos Octa-Core son realmente ciertos". Gizbot .
  18. ^ "MediaTek lanza la plataforma móvil MT6592 True Octa-Core" (Presione soltar). MediaTek. 20 de noviembre de 2013. Archivado desde el original el 29 de octubre de 2020.
  19. ^ "¿Qué es un procesador Octa-core?". Samsung. Los teléfonos inteligentes Galaxy funcionan con procesadores Octa-core (2,3 GHz Quad + 1,6 GHz Quad) o Quad-core (2,15 GHz + 1,6 GHz Dual)
  20. ^ Merritt, Rick (6 de febrero de 2008). "Los diseñadores de CPU debaten el futuro de los núcleos múltiples". Tiempos EE.UU. Consultado el 21 de octubre de 2023 .
  21. ^ "Foro de procesamiento de paquetes multinúcleo". Archivado desde el original el 21 de diciembre de 2009.
  22. ^ John Darlinton; Moustafa Ghanem; Vaya Guo; Hing ala a (1996). "Organización de recursos guiada en computación paralela heterogénea". Revista de informática de alto rendimiento . 4 (1): 13–23. CiteSeerX 10.1.1.37.4309 . 
  23. ^ Bright, Peter (4 de diciembre de 2015). "Windows Server 2016 pasa a licencias por núcleo, no por socket". Ars Técnica . Conde Nast . Archivado desde el original el 4 de diciembre de 2015 . Consultado el 5 de diciembre de 2015 .
  24. ^ Comparar: "La concesión de licencias de productos de tecnología Oracle". OMT-CO Gestión de Operaciones Technology Consulting GmbH. Archivado desde el original el 21 de marzo de 2014 . Consultado el 4 de marzo de 2014 .
  25. ^ "Software 6WINDGATE: Software de optimización de red - Software SDN - Software de plano de control | 6WIND".
  26. ^ "APU Sempron™ 3850 con serie Radeon™ R3 | AMD". AMD . Archivado desde el original el 4 de mayo de 2019 . Consultado el 5 de mayo de 2019 .
  27. ^ "Especificaciones del producto del procesador Intel® Atom™ serie C". ark.intel.com . Consultado el 4 de mayo de 2019 .
  28. ^ "Especificaciones del producto del procesador Intel® Atom™ serie Z". ark.intel.com . Consultado el 4 de mayo de 2019 .
  29. ^ "Intel prepara procesadores Celeron de doble núcleo". 11 de octubre de 2007. Archivado desde el original el 4 de noviembre de 2007 . Consultado el 12 de noviembre de 2007 .
  30. ^ "Especificaciones del producto del procesador Intel® Celeron® serie J". ark.intel.com . Consultado el 4 de mayo de 2019 .
  31. ^ "Productos anteriormente Yonah". ark.intel.com . Consultado el 4 de mayo de 2019 .
  32. ^ "Productos anteriormente Conroe". ark.intel.com . Consultado el 4 de mayo de 2019 .
  33. ^ "Productos anteriormente Kentsfield". ark.intel.com . Consultado el 4 de mayo de 2019 .
  34. ^ "Especificaciones del producto de los procesadores Intel® Core™ serie X". ark.intel.com . Consultado el 4 de mayo de 2019 .
  35. ^ "Especificaciones del producto del procesador Intel® Itanium®". ark.intel.com . Consultado el 4 de mayo de 2019 .
  36. ^ "Especificaciones del producto del procesador Intel® Pentium® serie D". ark.intel.com . Consultado el 4 de mayo de 2019 .
  37. ^ Zazaian, Mike (26 de septiembre de 2006). "Intel: 80 núcleos para 2011". Archivado desde el original el 9 de noviembre de 2006 . Consultado el 28 de septiembre de 2006 .
  38. ^ Kowaliski, Cyril (18 de febrero de 2014). "Intel lanza el procesador Xeon E7 v2 de 15 núcleos". Archivado desde el original el 11 de octubre de 2014.
  39. ^ "Familia de procesadores Intel Xeon E7 v3". Intel . Archivado desde el original el 7 de julio de 2015.
  40. ^ "Familia de procesadores Intel Xeon E7 v2". Intel. Archivado desde el original el 7 de julio de 2015.
  41. ^ "Familia de procesadores Intel Xeon E3 v2". Intel. Archivado desde el original el 7 de julio de 2015.
  42. ^ "Intel muestra la CPU Xeon Platinum con hasta 56 núcleos y 112 subprocesos". Punto tecnológico . 2 de abril de 2019 . Consultado el 4 de mayo de 2019 .
  43. ^ PDF, Descargar. "Resumen de los procesadores escalables Intel® Xeon® de segunda generación". Intel . Consultado el 4 de mayo de 2019 .
  44. ^ "Especificaciones de productos de la familia de productos Intel® Xeon Phi™ x100". ark.intel.com . Consultado el 4 de mayo de 2019 .
  45. ^ "Especificaciones de productos de la familia de procesadores Intel® Xeon Phi ™ 72x5". ark.intel.com . Consultado el 4 de mayo de 2019 .
  46. ^ Cole, Bernard (24 de septiembre de 2008). "Se presenta el procesador de 40 núcleos con herramientas IDE basadas en Forth".
  47. ^ Hammond, lanza; et al. (1999). El CMP de Stanford Hydra (PDF) . Patatas fritas calientes . Consultado el 27 de junio de 2023 .
  48. ^ Chacos, Brad (20 de junio de 2016). "Conozca KiloCore, un procesador de 1000 núcleos tan eficiente que podría funcionar con una batería AA". Mundo PC . Archivado desde el original el 23 de junio de 2016.
  49. ^ "Suite de referencia de multiprocesador heterogéneo COSMIC". Archivado desde el original el 3 de julio de 2015.

Otras lecturas

enlaces externos