Diferencia entre núcleo y procesador [cerrado]

Resuelto Saad Achemlal asked hace 11 años • 7 respuestas

¿Cuál es la diferencia entre un núcleo y un procesador?

Ya lo busqué en Google, pero solo obtengo definiciones de multinúcleo y multiprocesador, que no es lo que estoy buscando.

Saad Achemlal avatar Oct 07 '13 20:10 Saad Achemlal
Aceptado

Un núcleo suele ser la unidad de cálculo básica de la CPU: puede ejecutar un único contexto de programa (o varios si admite subprocesos de hardware como el hyperthreading en las CPU Intel), manteniendo el estado correcto del programa, los registros y el orden de ejecución correcto, y realizar las operaciones a través de ALU . Para fines de optimización, un núcleo también puede contener cachés internos con copias de fragmentos de memoria utilizados con frecuencia.

Una CPU puede tener uno o más núcleos para realizar tareas en un momento determinado. Estas tareas suelen ser procesos e hilos de software que programa el sistema operativo. Tenga en cuenta que el sistema operativo puede tener muchos subprocesos para ejecutar, pero la CPU solo puede ejecutar X tareas de este tipo en un momento dado, donde X = número de núcleos * número de subprocesos de hardware por núcleo. El resto tendría que esperar a que el sistema operativo los programe, ya sea adelantándose a las tareas que se están ejecutando actualmente o por cualquier otro medio.

Además de uno o varios núcleos, la CPU incluirá alguna interconexión que conecte los núcleos con el mundo exterior y, por lo general, también una gran caché compartida de "último nivel". Hay muchos otros elementos clave necesarios para que una CPU funcione, pero sus ubicaciones exactas pueden diferir según el diseño. Necesitará un controlador de memoria para comunicarse con la memoria, controladores de E/S (pantalla, PCIe, USB, etc.). En el pasado estos elementos estaban fuera de la CPU, en el "chipset" complementario, pero la mayoría de los diseños modernos los han integrado en la CPU.

Además, la CPU puede tener una GPU integrada y prácticamente todo lo demás que el diseñador quería mantener cerca por consideraciones de rendimiento, potencia y fabricación. El diseño de la CPU tiende principalmente hacia lo que se llama sistema en chip (SoC).

Se trata de un diseño "clásico", utilizado por la mayoría de los dispositivos modernos de uso general (PC cliente, servidores y también tabletas y teléfonos inteligentes). Puedes encontrar diseños más elaborados, generalmente en la academia, donde los cálculos no se realizan en unidades básicas "similares a un núcleo".

Leeor avatar Oct 11 '2013 09:10 Leeor

Una imagen puede decir más que mil palabras:

Una imagen puede decir más que mil palabras.

* Figura que describe la complejidad de un sistema moderno multiprocesador y multinúcleo.

Fuente:

https://software.intel.com/en-us/articles/intel-performance-counter-monitor-a-better-way-to-measure-cpu-utilization

JohnTortugo avatar May 21 '2014 23:05 JohnTortugo

Aclaremos primero qué es una CPU y qué es un núcleo, una unidad central de procesamiento CPU, puede tener múltiples unidades centrales, esos núcleos son un procesador en sí mismos, capaces de ejecutar un programa pero están contenidos en el mismo chip.

Antiguamente una CPU se distribuía entre bastantes chips, pero a medida que fue avanzando la Ley de Moore se hizo tener una CPU completa dentro de un chip (die), desde los años 90 los fabricantes empezaron a meter más núcleos en un mismo die, así que esa es la concepto de multinúcleo.

Hoy en día es posible tener cientos de núcleos en la misma CPU (chip o matriz) GPU, Intel Xeon. Otra técnica desarrollada en los años 90 fue el multihilo simultáneo, básicamente descubrieron que era posible tener otro hilo en la misma CPU de un solo núcleo, ya que la mayoría de los recursos ya estaban duplicados como ALU, múltiples registros.

Entonces, básicamente, una CPU puede tener múltiples núcleos, cada uno de ellos capaz de ejecutar un hilo o más al mismo tiempo, podemos esperar tener más núcleos en el futuro, pero con más dificultad para poder programar de manera eficiente.

Germán Alfaro avatar May 19 '2014 10:05 Germán Alfaro

La CPU es una unidad central de procesamiento. Desde 2002 solo tenemos un procesador de un solo núcleo, es decir, solo realizamos una tarea o un programa a la vez.

Para ejecutar múltiples programas a la vez, tenemos que usar el procesador múltiple para ejecutar múltiples procesos a la vez, por lo que necesitábamos otra placa base para eso y eso es muy costoso.

Entonces, Intel introdujo el concepto de hyper threading, es decir, convertirá una única CPU en dos CPU virtuales, es decir, tenemos dos núcleos para nuestra tarea. Ahora la CPU es única, pero solo finge (enmascarada) que tiene una CPU dual y realiza múltiples tareas. Pero tener múltiples núcleos reales será mejor que eso, por lo que la gente desarrolla procesadores de múltiples núcleos, es decir, múltiples procesadores en una sola caja, es decir, tomando múltiples CPU en una sola CPU grande. Es decir, múltiples núcleos.

Himanshu Gupta avatar Mar 27 '2015 14:03 Himanshu Gupta