Un procesador de múltiples núcleos es un circuito integrado que utiliza dos o más procesadores individuales, o núcleos, para manejar datos. Los núcleos pueden unirse a un circuito integrado o incorporarse en troqueles separados en un paquete de chips. Cada núcleo tiene su propia caché y cada uno tiene una capacidad independiente para procesar datos.
La ventaja de un procesador de múltiples núcleos es una mayor velocidad. Un procesador tradicional de un solo núcleo almacena algunos datos en su caché, y cuando se requieren datos fuera de la caché, deben recuperarse de otros lugares como la memoria de acceso aleatorio (RAM). Cuando esto sucede, la velocidad del procesador se reduce a la velocidad máxima de la RAM u otro dispositivo de almacenamiento. Esta velocidad suele ser mucho más lenta que la velocidad máxima del procesador.
Los procesadores de múltiples núcleos son más rápidos porque cada núcleo puede manejar su propio flujo de datos. Si bien los procesadores de múltiples núcleos aún almacenan en caché selectivamente datos y recuperan datos no almacenados en caché de otras ubicaciones de almacenamiento, el núcleo o núcleos adicionales pueden continuar ejecutando comandos y recibiendo información a la velocidad normal del procesador mientras otro procesador recupera la información necesaria de dispositivos de almacenamiento lentos. De esta forma, no es necesario que todo el sistema se ralentice mientras se recuperan los datos.
Un procesador de múltiples núcleos es particularmente valioso para la multitarea, donde más de un programa cada uno sirve su propio conjunto de datos para su procesamiento. Los flujos de datos separados pueden ser manejados por diferentes núcleos, aumentando la velocidad de procesamiento general. Para que un solo programa de software aproveche la tecnología de múltiples núcleos, debe tener tecnología de múltiples subprocesos simultáneos (SMT) que le permita enviar conjuntos de instrucciones paralelos para que los utilicen los múltiples núcleos.
El primer procesador multinúcleo disponible comercialmente fue el procesador de doble núcleo. También hay procesadores de varios núcleos con cuatro, seis y ocho núcleos. Sin embargo, muchas placas base son incapaces de manejar tantos núcleos. Los sistemas de varios núcleos pueden ser homogéneos, utilizando todos los núcleos idénticos, o heterogéneos, utilizando núcleos no idénticos.
Aunque los procesadores de múltiples núcleos están destinados a aumentar la velocidad y el rendimiento generales, no todos los programas aprovechan la tecnología de procesamiento de múltiples núcleos. Muchos programas e incluso algunos sistemas operativos carecen del SMT necesario para utilizar más de un núcleo de procesamiento. Los sistemas operativos que utilizan procesamiento de múltiples núcleos no siempre están diseñados para maximizar el potencial de procesamiento de múltiples núcleos, por lo que la capacidad de procesamiento completa a menudo no se realiza.
Un procesador de varios núcleos tiende a producir más calor que un procesador de un solo núcleo, lo que genera desafíos en la gestión del calor. La cantidad de calor producida por un procesador tiende a aumentar exponencialmente con cada núcleo adicional. Las altas temperaturas pueden hacer que los procesadores se sobrecalienten, creando problemas operativos y riesgos de seguridad. Los fabricantes de procesadores han tenido que invertir tiempo y tecnología considerables para crear soluciones a los desafíos térmicos que presentan los procesadores de múltiples núcleos.