domingo, 15 de febrero de 2009

Dual Core

Dual-core
Equivalente de núcleo dual ó doble núcleo. Término relacionado con el hallazgo de dos núcleos ó CPUs en un mismo chip de procesador, tanto en el mismo encapsulado de silício como en silícios separados aunque dentro del mismo chip.

Dual core en la historia
La nomenclatura Dual-Core, así como la creación de dichos procesadores, fue originalmente desarrollada y demostrada por AMD en Agosto del 2004 a partir de una gama concreta de procesadores Opteron de 64 bits, en servidores HP Proliant DL585, cual primer modelo ya se fabricó pensando en una futura ampliación. Estos procesadores saldrían al mercado en Abril del 2005 junto a la gama de procesadores de escritorio Athlon 64. IBM anunció la existencia en Julio del 2005 de su gama G5, el Powerpc 970MP Antares, basado en un RISC Dual, aunque el consumo de estos procesadores es elevado y no se plantearán pasarlo de 2 GHz por núcleo. Los rumores de un doble núcleo del PowerPC ya corrieron el año anterior sobre la aparición de dicho modelo. Intel, por su parte, hizo un Dual Core con el modelo Pentium-D (su primer Dual Core), que eran básicamente 2 Pentium 4 dentro del encapsulado de cerámica aunque no en el mismo silício, por lo que debían unirse por FSB. Más tarde, Intel remodelaría con Core Duo y después con Core 2 Duo. Ésta no utiliza el término "Dual Core" en los nuevos procesadores, ya que el cambio entre un modelo y el otro es sustancial energética y eficientemente.

Funcionamiento de un Dual Core

Cómo está diseñado
Existen dos núcleos idénticos en un mismo circuito integrado o chip, trabajando a la misma velocidad, aunque pudiendo ajustarse cada una según la carga y controlador que lo gobierne. Por defecto, si no se le indica bajo un kernel de UNIX/Linux o no se le instalan controladores bajo Windows, trabajan al máximo rendimiento. En el caso de Linux, el demonio ACPID puede ajustar automáticamente el ratio de la CPU para bajar el consumo/calor generado, pero esto puede deshabilitarse tanto por un nuevo kernel como por el uso de cpufreq-select.
La aparición del doble núcleo redujo la velocidad punta en cada uno de ellos, (por ejemplo, un núcleo sencillo de 3GHz reemplazado por un núcleo dual de 2,2GHz x2), pero esta reducción podría no verse afectada directamente en el rendimiento, ya que depende del tipo de núcleo de CPU que tenga instalado, así como el nivel de caché y velocidad de FSB. También importa, como se comenta en el siguiente punto, si la aplicación soporta el trabajo conjunto (en paralelo) con varias CPU y si el sistema operativo reparte bien la faena.
AMD, desde sus inicios con Opteron ya diseñó los núcleos para poder ampliarlos, sin que los chips de silicio estén separados y, por lo tanto, que trabajen conjuntamente a la velocidad del procesador.
La siguiente etapa en la evolución de las CPU para equipos domésticos se conoce como Quad Core o núcleo cuádruple, unidades centrales de proceso con cuatro núcleos interconectados, aunque AMD posee una versión en su gama Phenom de 3 núcleos, más económico que el de 4. Y, para variar, poco a poco van sacando procesadores con más núcleos. AMD en estas fechas ya comercializa procesadores (Opteron, para servidores) de 6 y 12 núcleos, y se plantea para el 2012 procesadores con 16 núcleos.

Carga
Las CPUs de doble núcleo, dependiendo del sistema operativo que los gobierne, reparten la carga de transacciones aumentando la velocidad de proceso y el rendimiento. También y según la aplicación, pueden trabajar ambos núcelos (o los que tenga un procesador) para desarrollar cálculos paralelamente, ya que se trata de un clúster de núcleos (véase: PVM, MPI). A diferencia de la tecnología HyperThreading, que no es más que una simulación de dos núcleos virtuales sobre uno real, Dual Core son dos núcleos reales.