web-dev-qa-db-fra.com

Alors, quels sont les cœurs CPU logiques (par opposition aux cœurs CPU physiques)?

Je cherchais sur la façon dont je pouvais trouver le nombre de processeurs dans une machine et j'ai trouvé des messages, mais je suis confus car certains ont mentionné que vous obtenez les cœurs logiques par rapport aux cœurs physiques, etc.
Quelle est donc la différence entre les cœurs logiques et physiques et existe-t-il un moyen d'obtenir uniquement les cœurs physiques? Ou est-il judicieux d'inclure des cœurs logiques dans notre décompte?

52
Jim

Les cœurs physiques ne sont que des cœurs physiques au sein du CPU. Les cœurs logiques sont les capacités d'un seul cœur à faire 2 ou plusieurs choses simultanément. Cela est né de la capacité Pentium 4 CP de faire ce qui était appelé Hyper Threading (HTT) .

C'était un peu un jeu qui se jouait où des sous-composants du noyau n'étaient pas utilisés pour certains types d'instructions alors qu'une autre instruction longue aurait pu être exécutée. Ainsi, le CPU pourrait en effet fonctionner sur 2 choses simultanément.

Les nouveaux cœurs sont des processeurs à part entière, ils travaillent donc sur plusieurs choses simultanément, mais ce ne sont pas de vrais processeurs comme le sont les cœurs physiques. Vous pouvez en savoir plus sur les limites de la fonctionnalité d'hyperthreading par rapport aux capacités physiques du noyau ici sur tomshardware dans cet article intitulé: Intel Core i5 et Core i7: Intel's Mainstream Magnum Opus .

Vous pouvez voir la répartition de votre box en utilisant la commande lscpu:

$ 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

Dans ce qui précède, mon ordinateur portable Intel i5 dispose de 4 "processeurs" au total

Processeur (s): 4

dont il y a 2 cœurs physiques (1 socket × 2 cœurs/socket = 2 cœurs)

Noyau (s) par socket: 2

Socket (s) CPU: 1

dont chacun peut exécuter jusqu'à 2 threads

Fil (s) par noyau: 2

à la fois. Ces threads sont les capacités logiques du noyau.

66
slm

Les cœurs physiques sont le nombre de cœurs physiques, des composants matériels réels.

Les cœurs logiques sont le nombre de cœurs physiques multiplié par le nombre de threads pouvant s'exécuter sur chaque cœur grâce à l'hyperthreading.

par exemple, mon processeur à 4 cœurs exécute deux threads par cœur, j'ai donc 8 processeurs logiques.

13
ash

Hyperthreading la technologie permet à un seul cœur de processeur physique de se comporter comme deux processeurs logiques.

Ainsi, un seul cœur de processeur peut exécuter deux threads indépendants - simultanément.

Intel désigne un processeur physique comme un socket.

L'hyperthreading fait qu'un processeur physique se comporte comme s'il avait deux processeurs physiques, appelés processeur logique. Pourquoi?

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 s'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


Le processeur physique est ce que nous pouvons voir et tomber.

Le processeur logique est comme un Phsical Core agissant comme deux noyaux physiques

2
Johnny Blaze
$ Sudo dmidecode |egrep "Socket Designation: Proc|((Thread|Core) Count)"
Socket Designation: Proc 1
        Core Count: 14
        Thread Count: 28
Socket Designation: Proc 2
        Core Count: 14
        Thread Count: 28

Deux prises. Chaque socket possède 14 cœurs physiques. Chaque noyau a deux fils (28/14). Le nombre total de "cpus" logiques ou d'unités de traitement logiques est de 56 (c'est ce que "top" et certaines autres commandes vous montreraient comme nombre de "cpus").

0
Tagar