Le nombre de cœurs du processeur semble incorrect

14

entrez la description de l'image ici

Comme le montre l'image, le nombre de processeurs est de 4.

Mais Intel i5-4210U n'a que 2 cœurs comme indiqué ci-dessous. (Spécifications propres à Intel.)

entrez la description de l'image ici

Donc, si l'i5-4210U n'a que 2 cœurs que ce que "4" indique dans la 1ère image?

lscpu donne ce résultat:

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:               989.531
BogoMIPS:              4788.74
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3
foxtrot9
la source
10
Parce qu'il a Hyperthreading , ce qui signifie que le CPU présente quatre cœurs au système d'exploitation, au lieu des deux seuls physiques, afin d'améliorer les performances. (" # de threads " de la fiche technique est ce que les informations CPU dans Ubuntu vous montrent)
JonasCz - Réinstallez Monica
3
L'autre façon de le découvrir est de faire lscpuet de regarder CPU(s), Thread(s) per coreet Core(s) per socketet Socket(s).
edwinksl
@edwinksl, résultat ajouté de lscpu.
foxtrot9
2
Vous avez donc 4 "CPU" alias cœurs logiques, 2 threads par cœur physique (c'est la partie hyperthreading), 2 cœurs physiques par socket et 1 socket. 4 = 2 * 2 * 1.
edwinksl
vous n'avez pas entendu d'hyperthreading qui existe depuis le pentium 4?
phuclv

Réponses:

31

Votre CPU n'a que 2 cœurs, mais prend en charge 4 threads simultanés .

Ceci est réalisé par la technologie Hyper-Threading d' Intel qui permet d'exécuter deux threads séparés en parallèle en même temps sur un seul cœur.

Donc, 2 cœurs x 2 threads par cœur signifie 4 threads par CPU.

Byte Commander
la source
1
Je connais peu les threads donc je suis curieux de savoir comment cela peut être réalisé au niveau matériel? Je veux dire 2 threads par CPU?
foxtrot9
7
Je ne peux pas vraiment commencer à expliquer tout le concept derrière l'hyper threading ici, cela ferait exploser la réponse. Au lieu de cela, je voudrais vous suggérer de lire l' article wikipedia correspondant ou d'alimenter votre moteur de recherche préféré avec "hyperthreading".
Byte Commander
6
En bref, nous pouvons dire qu'un noyau capable d'hyperthreading a certains éléments (état architectural c'est-à-dire les registres, etc.) dupliqués tandis que d'autres (moteur d'exécution, cache) sont partagés.
Byte Commander
5
@ foxtrot9 fondamentalement, un seul thread d'exécution n'utilise généralement pas près de 100% d'un cœur de CPU - le CPU passe du temps à attendre le chargement des données de la mémoire, et une instruction donnée n'utilise pas tous les petits circuits (exécution unités) dans le noyau qui font diverses choses. HT permet à deux threads d'exécution de partager le noyau, de sorte que l'un peut s'exécuter pendant que l'autre attend, ou ils peuvent tous les deux s'exécuter s'ils utilisent des ensembles disjoints d'unités d'exécution. Mais parce que les deux threads doivent partager des ressources, parfois l'un empêche l'autre de fonctionner, donc ce n'est pas aussi rapide que 2 cœurs entiers.
hobbs
@hobbs Explication détaillée mais simple, super! Merci pour ce commentaire instructif :)
Byte Commander
3

Comme vous pouvez le voir sur l'image fournie par Intel, le nombre de threads est 4.

Je dirais donc qu'Ubuntu affiche le nombre de threads et non de cœurs

Nico T
la source
1

Dans le processeur i5-4210 d'Intel, il y a 2 cœurs physiques qui sont ensuite divisés en 2 cœurs logiques; ces cœurs logiques sont obtenus grâce à la technologie d'hyper threading d'Intel. Ce qui en fait un total de 4 cœurs comme indiqué sur la photo. Cette information est également donnée dans l'autre photo.

Moksh
la source
Je ne sais pas pourquoi les gens votent contre votre réponse, ce que vous avez dit est vrai.
Anomalie virtuelle
Les gens sont stupides alors, ça ne me dérange pas.
Moksh
Juste pour sauvegarder cette réponse, Wikipedia dit: "Pour chaque cœur de processeur physiquement présent, le système d'exploitation traite deux cœurs virtuels (logiques)."
Anomalie virtuelle du
Thnx @lightswitchr
Moksh
1
Je pense que les gens votent contre parce que vous avez dit qu'il y a deux cœurs physiques et deux cœurs logiques. Ce n'est pas vrai, chaque cœur physique est divisé en deux cœurs logiques, il y a donc quatre cœurs logiques (deux fonctionnant sur chaque cœur physique).
Runemoro