Los núcleos físicos son solo eso, núcleos físicos dentro de la CPU. Los núcleos lógicos son las habilidades de un solo núcleo para hacer 2 o más cosas simultáneamente. Esto surgió de la capacidad inicial de las CPU Pentium 4 para hacer lo que se denominó Hyper Threading (HTT) .
Era un juego que se jugaba donde los subcomponentes del núcleo no se usaban para ciertos tipos de instrucciones, mientras que podría haberse ejecutado otra instrucción de larga duración. Por lo tanto, la CPU podría funcionar en 2 cosas simultáneamente.
Los núcleos más nuevos son CPU más completas, por lo que están trabajando en varias cosas simultáneamente, pero no son verdaderas CPU como lo son los núcleos físicos. Puede leer más sobre las limitaciones de la funcionalidad de hyperthreading frente a las capacidades físicas del núcleo aquí en tomshardware en este artículo titulado: Intel Core i5 y Core i7: Mainstream Magnum Opus de Intel .
Puedes ver el desglose de tu caja usando el lscpu
comando:
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 4
Thread(s) per core: 2
Core(s) per socket: 2
CPU socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 37
Stepping: 5
CPU MHz: 2667.000
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0-3
En lo anterior, mi computadora portátil Intel i5 tiene 4 "CPU" en total
CPU (s): 4
de los cuales hay 2 núcleos físicos
Núcleo (s) por zócalo: 2
de los cuales cada uno puede ejecutar hasta 2 hilos
Hilo (s) por núcleo: 2
al mismo tiempo. Estos hilos son las capacidades lógicas del núcleo.
lscpu
. ¿Hay alguna herramienta alternativa?lscpu
usa está expuesta aquí:cat /proc/cpuinfo
. ¿Cuál es tu sistema operativo?Core(s) per socket
vecesThread(s) per core: 2
=CPU(s): 4
? ¿Correcto?Los núcleos físicos son una cantidad de núcleos físicos, componentes de hardware reales.
Los núcleos lógicos son el número de núcleos físicos multiplicado por el número de subprocesos que pueden ejecutarse en cada núcleo mediante el uso de hyperthreading.
por ejemplo, mi procesador de 4 núcleos ejecuta dos subprocesos por núcleo, por lo que tengo 8 procesadores lógicos.
fuente
Entonces, un solo núcleo de procesador puede ejecutar dos subprocesos independientes simultáneamente .
Intel se refiere a un procesador físico como un zócalo.
Hyperthreading hace que un procesador físico se comporte como si tuviera dos procesadores físicos, que se denominan procesador lógico. ¿por qué?
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
Procesador físico es que podemos ver y caer.
Procesador lógico es como un núcleo físico que actúa como dos núcleos físicos
fuente
Dos enchufes Cada zócalo tiene 14 núcleos físicos. Cada núcleo tiene dos hilos (28/14). El número total de "cpus" lógicos o unidades de procesamiento lógico es 56 (eso es lo que "top" y algunos otros comandos le mostrarían como número de "cpus").
fuente
lscpu shows CPUs 4 and threads per 2 (=8) but
lshw -C cpu` muestra 16 CPU lógicas numeradas del 0 al 15lscpu
salida y en realidad son 4 hilos en total, pero "lshw -C cpu` muestra 16 CPU lógicas" No estoy seguro de qué hacer con eso.