qual'è la differenza tra cpu e core?


10

L'output del lscpumio PC sembra:

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 che ho 4 cpus e 2 core?


3
Un chip (socket) con due core che si presentano al sistema per un totale di quattro CPU a causa dell'hyper-threading.
Kusalananda

2
@Kusalananda, In CPU(s)in lscpuindica il numero di unità logiche di elaborazione centrale (numero di cores) in una CPU fisica. No?
ss_iwe,

@saisasanka Sì. Domanda correlata: unix.stackexchange.com/questions/88283/…
dr_

1
@saisasanka In questo caso, ci sono 4 CPU e 2 core in 1 socket. Il socket è fisico, così come i core. Ogni core mostra come 2 CPU ("Thread per core").
Kusalananda

CPU (s) = Core (s) per socket * Thread (s) per core
Amit24x7

Risposte:


9

Da man lscpu:

CPU
Il numero logico di CPU di una CPU utilizzata dal kernel Linux.

CORE
Il numero di core logico. Un core può contenere più CPU.

SOCKET
Il numero di socket logico. Un socket può contenere diversi core.

Quindi sì, hai 4 CPU, contenute in 2 core fisici, contenute in un socket fisico.

Puoi ottenere le stesse informazioni da cat /proc/cpuinfo.

Domanda correlata: quindi quali sono i core di CPU logici (in contrapposizione ai core di CPU fisici)?


significa che posso eseguire 4 istruzioni alla volta?
alhelal,

1
Più o meno. Significa che può eseguire 4 attività in parallelo. Vedi HyperThreading: en.wikipedia.org/wiki/Hyper-threading
dr_

4

Per evitare confusione tra processori logici e fisici,

Intel si riferisce a un processore fisico come a un socket .


La tecnologia hyperthreading consente a un singolo core del processore di eseguire due thread indipendenti contemporaneamente.

Mentre l'hyperthreading non raddoppia le prestazioni di un sistema, può aumentare le prestazioni utilizzando meglio le risorse inattive portando a una maggiore velocità effettiva per alcuni importanti tipi di carichi di lavoro. Un'applicazione in esecuzione su un processore logico di un core occupato può aspettarsi poco più della metà della velocità effettiva che ottiene durante l'esecuzione da sola su un processore non hyperthreaded.

Sommario

  • Il tuo sistema ha una CPU fisica (chiamiamola X)
  • L'hyperthreading fa sì che la CPU X si comporti come due CPU (CPU - X1 e CPU - X2) ma fisicamente no.
  • Ogni X1 e X2 possono eseguire due thread alla volta, contemporaneamente

Per riassumere, hai un processore fisico che può eseguire 4 thread contemporaneamente.


"Un'applicazione in esecuzione su un processore logico di un core occupato può aspettarsi poco più della metà del throughput che ottiene durante l'esecuzione da sola su un processore non hyperthreaded". Questo significa che l'hyperthreading fa girare un core a poco più della metà della sua capacità?
Waldir Leoncio il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.