Un procesador multinúcleo es una unidad de procesamiento central que contiene dos o más núcleos de procesamiento en un chip de procesador o en un paquete .
En inglés, existen dos términos comúnmente utilizados para los procesadores con múltiples núcleos: multi-core y many-core .
El término multinúcleo ( en inglés multi-core [1] ) se suele aplicar a los procesadores centrales que contienen dos o más núcleos de uso general , pero a veces también se utiliza para procesadores de señal digital (DSP) y sistemas de un solo chip (SoC, SoC ). Bajo el procesador multinúcleo, comprenda que varios núcleos están integrados en un circuito integrado (hecho en el mismo chip de silicio). Si se combinaron varios cristales semiconductores en un solo paquete , entonces el diseño se denomina módulo de chips múltiples ( Módulo de chips múltiples en inglés , MCM).
El término multiprocesador hace referencia a equipos que tienen varios procesadores separados físicamente (por ejemplo, las placas base de los servidores suelen tener 2 o 4 zócalos para conectar varios chips), pero están controlados por una sola instancia de sistema operativo (SO).
El concepto de multinúcleo [1] ( en inglés many-core [2] o en inglés massly multi-core ) se puede utilizar para describir sistemas multinúcleo que tienen una gran cantidad de núcleos, desde decenas hasta cientos o más. Por ejemplo, Intel utilizó el nombre "multinúcleo" ("varios núcleos") para las calculadoras Intel MIC [3] .
Multiprocesador en un chip (multiprocesador de chip único, multiprocesador en chip, multiprocesamiento de chip, CMP): así es como los primeros investigadores llamaron a sus proyectos de colocar varios procesadores en un solo sustrato [4] [5] [6] .
La arquitectura de los procesadores multinúcleo repite en gran medida la arquitectura de los multiprocesadores simétricos ( máquinas SMP ), solo que en menor escala y con características propias.
Los primeros procesadores multinúcleo ( CMP de primera generación ) eran los esquemas más simples: dos núcleos de procesador colocados en el mismo chip sin compartir ningún recurso más que el bus de memoria (por ejemplo, Sun UltraSPARC IV e Intel Pentium D ). Un procesador "verdadero multinúcleo" ( CMP de segunda generación ) es cuando sus núcleos de procesamiento comparten un caché de tercer o segundo nivel: por ejemplo, Sun UltraSPARC IV+, Intel Core Duo y todos los procesadores multinúcleo modernos.
En los procesadores multinúcleo, la frecuencia del reloj suele reducirse deliberadamente. Esto le permite reducir el consumo de energía del procesador sin perder rendimiento: el consumo de energía crece como un cubo a partir del aumento de la frecuencia del procesador. Al duplicar la cantidad de núcleos del procesador y reducir a la mitad su velocidad de reloj, puede obtener casi el mismo rendimiento, mientras que el consumo de energía de dicho procesador se reducirá 4 veces.
En algunos procesadores, la velocidad del reloj de cada núcleo puede variar según su carga de trabajo individual. El núcleo es un microprocesador completo que utiliza todos los logros de la tecnología de microprocesadores: canalizaciones , ejecución de código fuera de orden , caché de varios niveles , soporte para instrucciones vectoriales .
La superescalaridad no siempre está presente en el núcleo, si, por ejemplo, el fabricante del procesador busca simplificar el núcleo tanto como sea posible.
Cada núcleo puede usar tecnología transitoria de subprocesos múltiples o, si es superescalar, tecnología SMT para ejecutar múltiples subprocesos simultáneamente , creando la ilusión de múltiples "procesadores lógicos" basados en cada núcleo. En los procesadores Intel, esta tecnología se denomina Hyper-threading y duplica la cantidad de procesadores lógicos en comparación con los físicos. En los procesadores Sun UltraSPARC T2 (2007), este aumento puede ser de hasta 8 subprocesos por núcleo.
Los procesadores multinúcleo se pueden clasificar por su compatibilidad con la coherencia de caché (compartida) entre núcleos. Hay procesadores con y sin dicho soporte. Método de comunicación entre núcleos:
Caché: En todos los procesadores multinúcleo que existen en la actualidad , cada núcleo tiene una caché de nivel 1 de forma individual, y existen varias opciones de caché de nivel 2:
Los procesadores multinúcleo también tienen una arquitectura homogénea o heterogénea:
Las aplicaciones que están optimizadas para subprocesos múltiples experimentan ganancias de rendimiento en un procesador multinúcleo. Sin embargo, si la aplicación no está optimizada, no se beneficiará mucho de los núcleos adicionales e incluso puede funcionar más lentamente que en un procesador con menos núcleos pero con una velocidad de reloj más alta . En su mayoría, se trata de aplicaciones desarrolladas antes de la llegada de los procesadores multinúcleo o aplicaciones que, en principio, no utilizan subprocesos múltiples.
La mayoría de los sistemas operativos le permiten ejecutar múltiples aplicaciones al mismo tiempo . Esto logra un beneficio de rendimiento, incluso si las aplicaciones son de un solo subproceso.
Hoy en día, muchos fabricantes de procesadores, en particular Intel , AMD , IBM , ARM , reconocen que aumentar aún más el número de núcleos de procesadores es una de las áreas prioritarias para aumentar el rendimiento.
El primer procesador destinado al uso general, en lugar de a los sistemas integrados , fue el POWER4 , con dos núcleos PowerPC en un solo chip, lanzado por IBM en 2001.
El IBM PowerPC-970MP ( G5 ) de 2 núcleos se introdujo en 2005. Los últimos Power Mac G5 estaban equipados con este procesador .
SPARCEn marzo de 2004, Sun Microsystems presentó el primer procesador de 2 núcleos de la arquitectura SPARC: el UltraSPARC IV , el CMP de primera generación. El procesador CMP de segunda generación fue el UltraSPARC IV+ (mediados de 2005), donde los dos núcleos del procesador compartían una caché fuera del chip de nivel 3 y una caché en el chip de nivel 2.
Fujitsu introdujo el procesador SPARC64 VI de 2 núcleos en su línea SPARC64 solo en 2007.
x86En abril de 2005, AMD lanzó el procesador Opteron de 2 núcleos con arquitectura AMD64 para servidores .
En mayo de 2005, Intel lanzó el procesador Pentium D de arquitectura x86-64 , el primer procesador de 2 núcleos diseñado para computadoras personales. Esta fue la respuesta "rápida" de Intel al desafío de AMD. En esencia, el Pentium D, basado en la arquitectura NetBurst líder de Intel , consistía en dos procesadores separados colocados en el mismo sustrato, sin elementos comunes. Desde que Intel abandonó la arquitectura NetBurst a finales de 2005, el Pentium D no se desarrolló. Intel lanzó un verdadero procesador Core Duo multinúcleo basado en una arquitectura Core más económica en enero de 2006.
En marzo de 2010 aparecieron los primeros procesadores serie de 12 núcleos, que se convirtieron en los procesadores de servidor Opteron 6100 de AMD ( arquitectura x86 / x86-64 ). [7]
En 2011, AMD dominó la producción de procesadores de 8 núcleos para computadoras domésticas [8] y procesadores de 16 núcleos para sistemas de servidores [9] .
En agosto de 2011, AMD lanzó los primeros procesadores de servidor de la serie Opteron 6200 serie de 16 núcleos (nombre en código Interlagos ). El procesador Interlagos combina dos chips de 8 núcleos (4 módulos) en un solo paquete y es totalmente compatible con la plataforma existente de la serie AMD Opteron 6100 ( Socket G34 ). [diez]
A partir de 2016, Intel lanza procesadores para servidores Xeon E7 , con una cantidad de núcleos de 4 a 24. [11] [12] (E5: hasta 22 núcleos).
En febrero de 2020, AMD lanzó el primer procesador de 64 núcleos para computadoras domésticas AMD Ryzen Threadripper 3990X [13] .
Un resumen de la historia de los microprocesadores y sus parámetros se presenta en el artículo actualizado en inglés: Cronología de los microprocesadores , 2010s . Para obtener el número de núcleos del procesador, multiplique los campos "Cores per die" y "Dies per module"; para obtener el número de hilos de hardware, multiplique el número de núcleos por el número de "hilos por núcleo". Por ejemplo, para Xeon E7, Intel: "4, 6, 8, 10" núcleos por 1 dado por 1-2 subprocesos de hardware = máximo 10 núcleos y 20 subprocesos de hardware, AMD FX "Bulldozer" Interlagos "4-8" por 2 por 1 = máximo 16 núcleos y 16 subprocesos.
El 27 de septiembre de 2006, en el foro de desarrolladores "IDF Fall", Intel demostró un chip experimental de 80 núcleos con un rendimiento de hasta 1 TFLOPS. Cada núcleo trabajaba a una frecuencia de reloj de 3,16 GHz, el consumo de energía del chip alcanzaba unos 100 W [14] .
El 20 de agosto de 2007, Tilera anunció el chip TILE64con 64 núcleos de procesador y una red integrada de alto rendimiento a través de la cual se puede producir el intercambio de datos entre diferentes núcleos a velocidades de hasta 32 Tbps. [15] [16]
El 26 de octubre de 2009, Tilera anunció [ 17 ] un procesador de propósito general de la serie TILE-Gx de 100 núcleos . Cada núcleo de procesador es un procesador independiente con cachés de Nivel 1 y Nivel 2 . Los núcleos, la memoria y el bus del sistema están conectados a través de una topología de red en malla . Los procesadores se fabrican con una tecnología de proceso de 40 nm y funcionan a una frecuencia de reloj de 1,5 GHz. El lanzamiento de los procesadores de 100 núcleos está programado para principios de 2011.
El 2 de diciembre de 2009, Intel presentó una computadora en la nube de un solo chip (SCC), que es un chip de 48 núcleos. La " nubosidad " del procesador es que los 48 núcleos se comunican entre sí como nodos de red. SCC es parte de un proyecto cuyo objetivo es crear un procesador de 100 núcleos [18] .
En junio de 2011, Intel reveló los detalles de la arquitectura Many Integrated Core (MIC) que se estaba desarrollando; esta tecnología surgió del proyecto Larrabee . Los microprocesadores basados en esta arquitectura recibirán más de 50 micronúcleos x86 y se producirán en 2012 utilizando la tecnología de proceso de 22 nm. Estos microprocesadores no se pueden usar como unidad central de procesamiento , pero los aceleradores de computación se construirán a partir de varios chips de esta arquitectura en forma de una tarjeta de expansión separada y competirán en los mercados de GPGPU y computación de alto rendimiento con soluciones como Nvidia Tesla y AMD FireStream. . [19] Según la descripción de la arquitectura publicada en 2012, son posibles chips con hasta 60 núcleos.
En octubre de 2011 , Adaptevaintrodujo los microprocesadores Epiphany IV de 64 núcleos, que muestran un rendimiento de hasta 70 gigaflops (SP), mientras consumen menos de 1 vatio de electricidad. Los microprocesadores están diseñados utilizando una arquitectura RISC y se planeó producir muestras de prueba en 2012 utilizando la tecnología de proceso de 28 nm de GlobalFoundries. Estos procesadores no se pueden utilizar como unidad central de procesamiento , pero Adaptevapropone usarlos como coprocesador para tareas complejas como el reconocimiento facial o los gestos del usuario. Adapteva afirma que el número de núcleos de este microprocesador se puede aumentar en el futuro a 4096. Está previsto que el procesador de 4096 núcleos en la versión principal (700 MHz) alcance 5,6 TFLOPS, consumiendo solo 80 vatios.
En enero de 2012 , ZiiLabs(una subsidiaria de Creative Technology ) anunció un sistema de 100 núcleos basado en el chip ZMS-40 . Este sistema combina un procesador ARM Cortex-A9 de 4 núcleos a 1,5 GHz (con bloques multimedia Neon) y un arreglo de 96 núcleos de computación StemCell más simples y menos versátiles . Los núcleos StemCell son una arquitectura SIMD de bajo consumo con 50 gigaflops de rendimiento máximo de punto flotante (32 bits) , cuyos núcleos funcionan más como una GPU en otros sistemas en un chip, y se pueden usar para procesamiento de video, imagen y audio, para aceleración 3D - y gráficos 2D y otras tareas multimedia (compatible con OpenGL ES 2.0 y OpenCL 1.1) [22] .
En agosto de 2019, Cerebras Systems presentó el superprocesador multinúcleo más grande del mundo , el Cerebras Wafer Scale Engine ; tiene más de 1,2 billones de transistores en 400.000 núcleos y ocupa casi toda el área de una oblea de semiconductores de 300 mm de diámetro. [23] . En 2020, también crearon el procesador más grande en la historia de la informática; en las pruebas, superó a una supercomputadora de las 100 mejores clasificaciones mundiales [24] .
También hay una tendencia a introducir microcontroladores multinúcleo en dispositivos móviles .
Por ejemplo:
Tecnologías de procesadores digitales | |||||||||
---|---|---|---|---|---|---|---|---|---|
Arquitectura | |||||||||
Set de instrucciones arquitectura | |||||||||
palabra maquina | |||||||||
Paralelismo |
| ||||||||
Implementaciones | |||||||||
Componentes | |||||||||
Administración de energía |