quelle est la difference entre cpu et core?

10

La sortie de lscpumon PC ressemble à -

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

Cela signifie-t-il que j'ai 4 processeurs et 2 cœurs?

alhelal
la source
3
Une puce (socket) avec deux cœurs qui apparaît comme un total de quatre processeurs au système en raison de l'hyper-threading.
Kusalananda
2
@Kusalananda, Le CPU(s)dans lscpudonne le nombre d'unités centrales de traitement logiques (nombre de cores) dans un CPU physique. N'est-ce pas?
ss_iwe
@saisasanka Oui. Question connexe: unix.stackexchange.com/questions/88283/…
dr_
1
@saisasanka Dans ce cas, il y a 4 CPU et 2 cœurs dans 1 socket. La prise est physique, tout comme les cœurs. Chaque cœur s'affiche comme 2 CPU ("Threads par cœur").
Kusalananda
CPU (s) = Core (s) par socket * Thread (s) par core
Amit24x7

Réponses:

9

De man lscpu:

CPU
Le numéro de CPU logique d'un CPU tel qu'il est utilisé par le noyau Linux.

CORE
Le nombre de noyau logique. Un core peut contenir plusieurs CPU.

SOCKET
Le numéro de socket logique. Une socket peut contenir plusieurs cœurs.

Alors oui, vous avez 4 CPU, contenus dans 2 cœurs physiques, contenus dans un socket physique.

Vous pouvez obtenir les mêmes informations auprès de cat /proc/cpuinfo.

Question connexe: que sont donc les cœurs de processeur logiques (par opposition aux cœurs de processeur physiques)?

dr_
la source
cela signifie-t-il que je peux exécuter 4 instructions à la fois?
alhelal
1
Plus ou moins. Cela signifie qu'il peut exécuter 4 tâches en parallèle. Voir HyperThreading: en.wikipedia.org/wiki/Hyper-threading
dr_
4

Pour éviter toute confusion entre les processeurs logiques et physiques,

Intel désigne un processeur physique comme un socket .


La technologie d' hyperthreading permet à un cœur de processeur unique d'exécuter simultanément deux threads indépendants.

Bien que l'hyperthreading ne double pas les performances d'un système, il peut augmenter les performances en utilisant mieux les ressources inactives, ce qui augmente le débit pour certains types de charge de travail importants. Une application s'exécutant sur un processeur logique d'un cœur occupé peut attendre un peu plus de la moitié du débit qu'elle obtient lorsqu'elle s'exécute seule sur un processeur non hyperthreadé.

Sommaire

  • Votre système a un processeur physique (appelons-le X)
  • L'hyperthreading fait que le CPU X se comporte comme deux CPU (CPU - X1 et CPU - X2) mais physiquement pas.
  • Chaque X1 et X2 peut exécuter deux threads à la fois, simultanément

Pour résumer, vous avez un processeur physique qui peut exécuter 4 threads simultanément.

Johnny Blaze
la source
"Une application s'exécutant sur un processeur logique d'un cœur occupé peut s'attendre à un peu plus de la moitié du débit qu'elle obtient en s'exécutant seule sur un processeur non hyperthreadé". Est-ce à dire que l'hyperthreading fait tourner un cœur à un peu plus de la moitié de sa capacité?
Waldir Leoncio