¿Cuál es la diferencia entre cpu y core?

10

La salida de lscpumi PC se ve así:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 69
Stepping:              1
CPU MHz:               1200.093
BogoMIPS:              3392.08
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

¿Significa que tengo 4 cpus y 2 núcleos?

alhelal
fuente
3
Un chip (zócalo) con dos núcleos que se muestra como un total de cuatro CPU en el sistema debido a la hiperprocesamiento.
Kusalananda
2
@Kusalananda, El CPU(s)en el lscpuda el número de unidades de procesamiento central lógico (número de cores) en una CPU física. ¿No es así?
ss_iwe
@saisasanka Sí. Pregunta relacionada: unix.stackexchange.com/questions/88283/…
dr_
1
@saisasanka En este caso, hay 4 CPU y 2 núcleos en 1 zócalo. El zócalo es físico, al igual que los núcleos. Cada núcleo se muestra como 2 CPU ("Subprocesos por núcleo").
Kusalananda
CPU (s) = Core (s) por socket * Thread (s) por core
Amit24x7

Respuestas:

9

De man lscpu:

CPU
El número lógico de CPU de una CPU como lo usa el kernel de Linux.

CORE
El número de núcleo lógico. Un núcleo puede contener varias CPU.

SOCKET
El número de socket lógico. Un zócalo puede contener varios núcleos.

Entonces, sí, tiene 4 CPU, contenidas en 2 núcleos físicos, contenidos en un socket físico.

Puede obtener la misma información de cat /proc/cpuinfo.

Pregunta relacionada: Entonces, ¿qué son los núcleos de CPU lógicos (a diferencia de los núcleos de CPU físicos)?

Dr_
fuente
¿significa que puedo ejecutar 4 instrucciones a la vez?
alhelal
1
Más o menos. Significa que puede ejecutar 4 tareas en paralelo. Ver HyperThreading: en.wikipedia.org/wiki/Hyper-threading
dr_
4

Para evitar confusiones entre procesadores lógicos y físicos,

Intel se refiere a un procesador físico como un zócalo .


La tecnología Hyperthreading permite que un solo núcleo de procesador ejecute dos subprocesos independientes simultáneamente.

Si bien el hyperthreading no duplica el rendimiento de un sistema, puede aumentar el rendimiento al utilizar mejor los recursos inactivos que conducen a un mayor rendimiento para ciertos tipos de cargas de trabajo importantes. Una aplicación que se ejecuta en un procesador lógico de un núcleo ocupado puede esperar un poco más de la mitad del rendimiento que obtiene mientras se ejecuta solo en un procesador no hiperprocesado.

Resumen

  • Su sistema tiene una CPU física (vamos a nombrarlo como X)
  • Hyperthreading hace que la CPU X se comporte como dos CPU (CPU - X1 y CPU - X2) pero físicamente no.
  • Cada X1 y X2 puede ejecutar dos hilos a la vez, simultáneamente

Para resumir, tiene un procesador físico que puede ejecutar 4 subprocesos simultáneamente.

Johnny Blaze
fuente
"Una aplicación que se ejecuta en un procesador lógico de un núcleo ocupado puede esperar un poco más de la mitad del rendimiento que obtiene mientras se ejecuta solo en un procesador no hiperprocesado". ¿Significa esto que hyperthreading hace que un núcleo funcione a un poco más de la mitad de su capacidad?
Waldir Leoncio