Procesador multinúcleo

El término procesador multinúcleo (derivado del término Inglés también multinúcleo procesador o de múltiples núcleos de procesador ) describe un microprocesador con más de una completa núcleo de procesador en un solo chip de . Los componentes del núcleo del procesador con la excepción del bus y posiblemente algunas cachés están presentes varias veces. Por lo tanto, hay varios núcleos de CPU (en gran parte) completos y en gran parte independientes que incluyen sus propios conjuntos de registros y unidades aritmético-lógicas  (ALU).

Un procesador de doble núcleo (también conocido como procesador de doble núcleo ) es un procesador de múltiples núcleos con dos núcleos de procesador. Los microprocesadores con un núcleo de CPU se denominan procesadores de un solo núcleo (también procesadores de un solo núcleo ). Los microprocesadores con tres núcleos se denominan procesadores de tres núcleos o procesadores de tres núcleos. Esta terminología puede continuarse en consecuencia. Con cuatro núcleos se habla de un procesador de cuatro núcleos (también procesador de cuatro núcleos ), por lo que un procesador de cuatro núcleos puede constar de dos procesadores de doble núcleo o cuatro núcleos independientes.

Las CPU multiproceso son núcleos de procesador multifilamento (engl. Multiproceso ) con una pluralidad de registros de registros y contadores de programa, pero inician sesión en el sistema como una pluralidad de núcleos. Esta tecnología se puede implementar con diversos grados de eficiencia según la complejidad del diseño del procesador. Intel los llama Hyper-Threading , IBM SMT (multiproceso simétrico) en algunas líneas de procesadores . El procesador IBM Power5 es, por ejemplo, B. un procesador de doble núcleo con dos subprocesos por núcleo, el procesador Sun UltraSPARC-T1 un procesador de ocho núcleos con cuatro subprocesos por núcleo. A diferencia de los procesadores multinúcleo reales, los "núcleos" comparten algunas unidades de ejecución, como la unidad aritmética de coma flotante o incluso la ALU. Entonces, un "núcleo" puede tener que esperar cuando el otro ocupa actualmente esta unidad.

No se define con precisión qué recursos debe tener un núcleo como "privados" para ser considerado "independiente" y "completo".

Introducción

Hasta 2005, los procesadores de un solo núcleo dominaban el área de las PC. Anteriormente, rara vez se intentaba aumentar el rendimiento utilizando dos o más procesadores individuales. En cambio, además de los nuevos conjuntos de instrucciones como MMX, la atención se centró en aumentar la frecuencia del reloj . Sin embargo, a partir de frecuencias de alrededor de 4 GHz, el calor residual resultante ya no podía manejarse con sensatez. Una posibilidad para un mayor desarrollo fue la introducción de procesadores de múltiples núcleos. En el segundo semestre de 2006, la oferta en la mitad superior del espectro de rendimiento de los procesadores de PC estuvo dominada por la variante de doble núcleo. Esto marcó la desviación de un principio que había sido válido desde el nacimiento de los procesadores. Por lo tanto, los núcleos únicos solo se instalan en unos pocos casos, ya que los núcleos múltiples correspondientes son insignificantemente más caros.

Sentido y propósito

Los procesadores multinúcleo se desarrollaron porque un aumento en la potencia informática a través de frecuencias de reloj más altas causó problemas técnicos importantes. También es más económico implementar varios núcleos en un chip que tener varios sockets de procesador en la placa base . Visto de manera diferente, el mismo número de sockets de chip y chips puede, en teoría, lograr una potencia de cálculo multiplicada ( n- veces con n núcleos). En realidad, sin embargo, este aumento difícilmente se puede lograr. El aumento real en el rendimiento depende principalmente de qué tan bien se paraleliza el software . El acceso de varios núcleos activos a la memoria principal común puede generar cuellos de botella y límites de rendimiento; sin embargo, se utilizan estrategias de caché altamente desarrolladas .

Además de aumentar la frecuencia de reloj y la canalización, los procesadores de múltiples núcleos representan una de las muchas formas de aumentar el rendimiento de los microprocesadores. El aumento puramente teórico en el rendimiento es comparativamente eficiente y equivale a un máximo del 100% (en comparación con un solo núcleo) por núcleo adicional. En la práctica, el aumento del rendimiento depende en gran medida del grado de paralelización del programa que se está ejecutando y del sistema operativo utilizado. Unix , el SMP : el kernel de Linux y Microsoft Windows XP y versiones posteriores admiten procesadores de varios núcleos (Windows NT y 2000 reconocen un procesador de varios núcleos como varios procesadores de un solo núcleo; esto significa que se pueden usar todos los núcleos, pero el multi-núcleo especial las optimizaciones del procesador no fueron efectivas). El sistema operativo distribuye procesos y aplicaciones a los procesadores individuales, que luego los ejecutan de forma independiente en paralelo. Si, por otro lado, solo se ejecuta una aplicación, se debe paralelizar para los múltiples procesadores. Esto significa que la aplicación se modifica de tal manera que se ejecuta completamente o solo fragmentos de ella al mismo tiempo en varios procesadores como subprocesos .

Así es como se diferencian las diferentes arquitecturas. Si bien algunas arquitecturas admiten componentes que mejoran el rendimiento, como un caché compartido en el chip (como el POWER4 de IBM y el siguiente, Sun UltraSPARC IV + y T1), otras arquitecturas solo colocan varios núcleos únicos con su propio caché en un chip. Las empresas de software de licencias basadas en procesadores han desarrollado varios conceptos para responder a estos desarrollos. Con procesadores de múltiples núcleos, Oracle cuenta cada núcleo de procesador en un chip con 0.25 (Sun UltraSPARC T1), 0.5 (CPU Intel y AMD) o 0.75 (CPU HP, IBM y Sun RISC). Microsoft ha anunciado que ya no utilizará los núcleos, sino los chips como base para la concesión de licencias, lo que significa que solo hay una licencia para un procesador de varios núcleos. Con Windows Server 2016, las licencias basadas en núcleos (por núcleo) aún se aplican.

variantes

Los procesadores multinúcleo se pueden dividir en dos variantes en función de su estructura interna: procesadores multinúcleo simétricos y asimétricos.

En los procesadores simétricos de varios núcleos, los núcleos individuales son los mismos. Un programa traducido para este procesador se puede ejecutar en cualquiera de sus núcleos. Este tipo de procesador de múltiples núcleos es un sistema SMP . Dado que los procesadores multinúcleo son una variante del SMP, el propósito de un procesador multinúcleo SMP es implementarse de manera que ahorre espacio. Un ejemplo de un sistema SMP de 8 vías en un chip es el procesador Sun UltraSPARC-T1.

Una modificación de esto también es el concepto big.LITTLE de ARM , en el que varios núcleos potentes y hambrientos de energía se combinan con un núcleo débil que ahorra energía. Sin embargo, el núcleo débil es un código binario compatible con los fuertes y también puede ejecutar todos los programas. Ejemplos de este concepto son nVidia Tegra 3 y Samsung Exynos 5 Octa.

En los procesadores asimétricos de varios núcleos, hay diferentes núcleos que se controlan de manera diferente y comprenden diferentes lenguajes de máquina . Un programa solo se puede ejecutar en un kernel que corresponda a su traducción. Con este tipo de procesador de múltiples núcleos, algunos de los núcleos funcionan como procesadores principales clásicos , otros como coprocesadores asíncronos . Un ejemplo de tal sistema es el procesador IBM Cell .

Otros grupos

Procesadores multinúcleo

Los procesadores con significativamente más núcleos de lo habitual a menudo se denominan "procesadores de muchos núcleos"; los núcleos se subdividen en varios "mosaicos", cada uno de los cuales tiene tareas definidas, en su mayoría redundantes, y es su propia unidad de procesamiento con acceso a recursos compartidos (RAM, caché, unidades de E / S), por ejemplo

  • IBM / DARPA / UT-Austin TRIPS : dos núcleos con 16 mosaicos de ejecución cada uno, cuatro mosaicos de registro y datos, cinco mosaicos de instrucciones, un control y varios mosaicos de memoria y red
  • Intel Terascale : un núcleo con 80 a 100 mosaicos, algunos de los cuales se especializan en tareas de SoC
  • Intel Many Integrated Core Architecture (MIC) con más de 50 mosaicos

Microcontrolador multinúcleo

Debido a los diferentes requisitos de los sistemas integrados que los de las PC, los núcleos múltiples se están volviendo comunes en los microcontroladores solo lentamente. En 2006 se lanzó un primer microcontrolador de varios núcleos.

Ver también

enlaces web

Evidencia individual

  1. Licensing Windows Server 2016. Microsoft Corporation, 20 de junio de 2016, consultado el 19 de abril de 2017 .
  2. Intel Many Integrated Core Architecture
  3. Arquitectura MIC en heise