¿Cuál es la diferencia entre un núcleo y un procesador?
Ya lo he buscado en Google, pero solo tengo una definición de múltiples núcleos y multiprocesadores, pero no coincide con lo que estoy buscando.
¿Cuál es la diferencia entre un núcleo y un procesador?
Ya lo he buscado en Google, pero solo tengo una definición de múltiples núcleos y multiprocesadores, pero no coincide con lo que estoy buscando.
Respuestas:
Un núcleo suele ser la unidad de cálculo básica de la CPU: puede ejecutar un solo contexto de programa (o varios si admite subprocesos de hardware como hyperthreading en CPU de Intel), mantener el estado correcto del programa, los registros y el orden correcto de ejecución, y realizando las operaciones a través de ALU . Para fines de optimización, un núcleo también puede contener cachés en el núcleo con copias de fragmentos de memoria de uso frecuente.
Una CPU puede tener uno o más núcleos para realizar tareas en un momento dado. Estas tareas suelen ser procesos de software y subprocesos que el sistema operativo programa. Tenga en cuenta que el sistema operativo puede tener muchos subprocesos para ejecutar, pero la CPU solo puede ejecutar X tales tareas 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 al adelantarse a las tareas que se ejecutan actualmente o por cualquier otro medio.
Además del uno o varios núcleos, la CPU incluirá cierta interconexión que conecta 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 "conjunto de chips" complementario, pero el diseño más moderno los ha 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 motivos de rendimiento, potencia y fabricación. El diseño de la CPU tiende principalmente a lo que se llama sistema en chip (SoC).
Este es 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). Puede encontrar diseños más elaborados, generalmente en la academia, donde los cálculos no se realizan en unidades básicas "centrales".
/proc/cpuinfo
, veo dieciséis processor:
líneas, aunque dice model: AMD Ryzen 7 2700X Eight-Core Processor
. Entonces, al menos en este caso, cada uno de los 8 "núcleos" tiene dos "procesadores", lo que está en desacuerdo con algunas otras respuestas aquí.
Una imagen puede decir más de mil palabras:
* Figura que describe la complejidad de un moderno sistema multiprocesador y multiprocesador.
Fuente:
Open images in new tab
luego acercar usando cltr
++
Aclaremos primero qué es una CPU y qué es un núcleo, una CPU de unidad de procesamiento central, puede tener múltiples unidades de núcleo, esos núcleos son un procesador por sí mismos, capaces de ejecutar un programa pero están autocontenidos en el mismo chip.
En el pasado, una CPU se distribuía entre bastantes chips, pero a medida que avanzaba la Ley de Moore lograron tener una CPU completa dentro de un chip (dado), desde los años 90 el fabricante comenzó a colocar más núcleos en el mismo dado, así que ese es el concepto de multi-core.
En estos días 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 subprocesamiento múltiple simultáneo, básicamente descubrieron que era posible tener otro subproceso en la misma CPU de núcleo único, ya que la mayoría de los recursos ya estaban duplicados como ALU, registros múltiples.
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 dificultades para poder programar de manera eficiente.
La CPU es una unidad central de procesamiento. Desde 2002 solo tenemos un procesador de un solo núcleo, es decir, solo realizaremos una sola 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 requerimos otra placa base para eso y eso es muy costoso.
Entonces, Intel introdujo el concepto de hiperprocesamiento, es decir, convertirá la CPU individual 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 núcleos múltiples reales será mejor que eso, de modo que las personas se desarrollen haciendo procesadores de múltiples núcleos, es decir, procesadores múltiples en una sola caja, es decir, tomando una CPU múltiple en una sola CPU grande. Es decir, múltiples núcleos.
En los primeros días ... como antes de los 90 ... los procesadores no podían realizar múltiples tareas de manera eficiente ... porque un solo procesador podía manejar una sola tarea ... así que cuando solíamos decir que mi antivirus, microsoft word, vlc, etc. todos los softwares se ejecutan al mismo tiempo ... eso no es realmente cierto. Cuando dije que un procesador podía manejar un solo proceso a la vez ... lo dije en serio. En realidad, procesaría una sola tarea ... luego solía pausar esa tarea ... tomar otra tarea ... completarla si es corta o pausarla nuevamente y agregarla a la cola ... luego la siguiente. Pero esta 'pausa' que mencioné fue tan pequeña (aprox. 1ns) que no entendiste que la tarea se detuvo. P.ej. En vlc mientras escucho música, hay otras aplicaciones ejecutándose simultáneamente, pero como te dije ... un programa a la vez ...
Pero esto era sobre los viejos procesadores ...
Los procesadores de hoy en día, es decir, las PC de tercera generación tienen procesadores de múltiples núcleos. Ahora los 'núcleos' se pueden comparar con los procesadores de primera o segunda generación en sí ... integrados en un solo chip, un único procesador. Así que ahora entendemos qué son núcleos, es decir, son mini procesadores que se combinan para convertirse en un procesador. Y cada núcleo puede manejar un solo proceso a la vez o múltiples subprocesos según lo diseñado para el sistema operativo. Y siguen los mismos pasos que mencioné anteriormente sobre el procesador único.
P.ej. Un procesador i7 6gen tiene 8 núcleos ... es decir, 8 mini procesadores en 1 i7 ... es decir, su velocidad es 8 veces mayor que los procesadores antiguos. Y así es como se pueden realizar múltiples tareas.
Podría haber cientos de núcleos en un solo procesador, por ejemplo. Intel i128.
Espero haberlo explicado bien.
La imagen de Intel es útil, como lo muestra la mejor respuesta de Tortuga. Aquí hay un título para ello.
Procesador : un chip semiconductor, la CPU (unidad central de procesamiento) asentada en un zócalo, alrededor de los años 1950 y 2010. Con el tiempo, se han incluido más funciones en el chip de la CPU. Antes de los lanzamientos de los procesadores de un solo chip en la década de 1950, un procesador podría haberse extendido a varios chips. A mediados de la década de 2010, los chips de sistema en un chip hicieron un poco más incompleto equiparar un procesador a un chip, aunque eso es lo que generalmente se entiende por procesador, como en "esta computadora tiene un procesador i7" o "este sistema informático tiene cuatro procesadores ".
Núcleo : un bloque de una CPU, ejecutando una instrucción a la vez. (Verá que la gente dice una instrucción por ciclo de reloj, pero algunas CPU usan varios ciclos de reloj para algunas instrucciones).