1. Alberto Perojo Parás
Procesadores Multicore o Multinúcleo
Un procesador multinúcleo es aquel que combina dos o más núcleos independientes trabajando a
una misma frecuencia en un solo paquete, a menudo un solo circuito integrado. Un dispositivo
doble núcleo contiene solamente dos microprocesadores independientes. En general, los
microprocesadores multinúcleo permiten que un dispositivo computacional exhiba una cierta forma
del paralelismo a nivel de thread(Thread-level parallelism) (TLP) sin incluir múltiples
microprocesadores en paquetes físicos separados. Esta forma de TLP se conoce a menudo como
multiprocesamiento a nivel de chip (Chip-level multiprocessing), o CMP.
Diagrama genérico de un procesador de doble nucleo.
El multiprocesamiento es un procesamiento simultáneo con dos o más procesadores en un
computador, o dos o más computadores que están procesando juntos. Cuando se usa dos o más
computadores, se unen con un canal de alta velocidad y comparten la carga de trabajo general
entre ellos. En caso de que uno falle el otro se hace cargo. El multiprocesamiento también se
efectúa en computadores de propósitos especiales, como procesadores vectoriales, los cuales
proveen procesamiento simultáneo de conjunto de datos. Aunque los computadores se construyen
con diversas características que se superponen, como ejecutar instrucciones mientras se ingresan
y se sacan datos, el multiprocesamiento se refiere específicamente a la ejecución de instrucciones
simultáneas.
La ganancia de los resultados obtenidos por el uso de un procesador de varios núcleos depende
en gran medida de los algoritmos de software y aplicación. En particular, los posibles beneficios se
ven limitados por la fracción del software que puede ser paralelizado para ejecutarse de forma
simultánea en múltiples núcleos; este efecto es descrito por la ley de Amdahl.
2. Los beneficios del software de las arquitecturas multinúcleo es que el código puede ser ejecutado
en paralelo. La mayoría de sistemas operativos utilizan diferentes hilos o procesos en la ejecución
de su código. Cada aplicación se ejecuta en su propio proceso de forma las arquitecturas
multinúcleo tienen sentido para la ejecución de múltiples aplicaciones. Cada aplicación puede
tener múltiples hilos. El software del sistema operativo también tiende a ejecutar varios
subprocesos, como parte de su funcionamiento normal.
La mayoría de software de aplicación no está escrito para el uso concurrente de múltiples hilos.
Un patrón frecuente en el diseño de las aplicaciones multihilo es en un solo hilo cargar todo el
grueso del trabajo (“hilo trabajador"), mientras que otros hilos hacer mucho menos (como por
ejemplo la actualización de la interfaz gráfica para mostrar los progresos ...).
Dentro del quad core de Intel
La tendencia actual en el desarrollo de los procesadores ha sido de varios núcleos a muchos
núcleos: doble, triple, cuádruple, incluso decenas de ellos. Ademas los procesadores de varios
núcleos mezclados con las técnicas actuales y los procesadores heterogéneos de propósito
especial, prometen más rendimiento y un aumento de la eficiencia en temas de procesamiento
multimedia, reconocimiento de redes y aplicaciones.
Uno de los campos más interesantes en su arquitectura es la composición y el equilibrio de los
núcleos. Algunas arquitecturas utilizando un diseño básico que se repite constantemente
(“homogéneos”), mientras que otros utilizan una mezcla de diferentes núcleos, cada uno
optimizado para una función diferente (“heterogéneos”).
3. La principal ventaja de los procesadores multinúcleo, a parte de sus características ya
comentadas, es que dada la proximidad de los núcleos, las señales entre las diferentes CPUs
realizan viajes cortos y por consiguiente, se degradan menos. Estas señales de más calidad
permiten enviar mas datos por unidad de tiempo.
Por el contrario, hacen falta sistemas operativos específicos que los soporten, ademas de ajustes
necesarios para maximizar la utilización de los recursos de computación suministrados por el
multicore.
Futuro próximo: MultiCore en los móviles
El ARM SMP (symmetric multi-processor) ahora es compatible con los sistemas operativos para
móviles Symbian, y parece ser que el primer procesador dual-core que entrará en los móviles será
el ARM Cortex A9 MPCore, que fue anunciado recientemente.
Este nuevo procesador permite un ahorro considerable de batería en los móviles, ya que el
procesador es usado cuando el sistema lo necesite, además de darle más rendimiento a los
dispositivos móviles en comunicaciones y en la ejecución de las aplicaciones.