Il numero di core della CPU non sembra corretto


14

inserisci qui la descrizione dell'immagine

Come l'immagine mostra il numero di processori sono 4.

Ma Intel i5-4210U ha solo 2 core, come mostrato di seguito. (Specifiche di Intel.)

inserisci qui la descrizione dell'immagine

Quindi, se i5-4210U ha solo 2 core rispetto a quanto indica "4" nella prima foto?

lscpu dà questo risultato:

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

10
Perché ha Hyperthreading , il che significa che la CPU presenta quattro core al sistema operativo, anziché solo i due fisici, al fine di migliorare le prestazioni. ("N. di thread " dal foglio delle specifiche è ciò che le informazioni sulla CPU in Ubuntu ti mostrano)
JonasCz - Reinstate Monica

3
L'altro modo per scoprirlo è fare lscpue guardare CPU(s), Thread(s) per coree Core(s) per sockete Socket(s).
edwinksl,

@edwinksl, aggiunto risultato di lscpu.
foxtrot9

2
Quindi hai 4 "CPU", ovvero core logici, 2 thread per core fisico (questa è la parte hyperthreading), 2 core fisici per socket e 1 socket. 4 = 2 * 2 * 1.
edwinksl,

non hai sentito l'hyperthreading che esiste dal Pentium 4?
phuclv,

Risposte:


31

La tua CPU ha solo 2 core, ma supporta 4 thread simultanei .

Ciò è ottenuto dalla tecnologia Hyper-Threading di Intel che consente di eseguire contemporaneamente due thread separati in parallelo su un singolo core.

Quindi 2 core x 2 thread per core significa 4 thread per CPU.


1
Conosco un po 'di thread, quindi sono curioso di sapere come raggiungere questo obiettivo a livello hardware? Intendo 2 thread per CPU?
foxtrot9,

7
Non posso davvero iniziare a spiegare l'intero concetto dietro l'hyper threading qui, questo farebbe saltare in aria la risposta. Vorrei invece suggerirti di leggere l' articolo di Wikipedia corrispondente o alimentare il tuo motore di ricerca preferito con "hyperthreading".
Byte Commander

6
In breve, possiamo dire che un core capace di hyperthreading ha alcuni elementi (stato architettonico, ad esempio registri, ecc.) Duplicati mentre altri (motore di esecuzione, cache) sono condivisi.
Byte Commander

5
@ foxtrot9 in pratica, un singolo thread di esecuzione di solito non utilizza quasi il 100% di un core della CPU: la CPU trascorre il tempo in attesa che i dati vengano caricati dalla memoria e qualsiasi istruzione fornita non utilizza tutti i piccoli circuiti (esecuzione unità) nel nucleo che fanno varie cose. HT consente a due thread di esecuzione di condividere il core, in modo che uno possa essere eseguito mentre l'altro è in attesa oppure entrambi possono eseguire se utilizzano insiemi disuniti di unità di esecuzione. Ma poiché i due thread devono condividere le risorse, a volte uno interrompe l'esecuzione dell'altro, quindi non è veloce come 2 interi core.
Hobbs

@hobbs Spiegazione dettagliata ma semplice, eccezionale! Grazie per questo commento informativo :)
Byte Commander

3

Come puoi vedere nell'immagine che hai fornito da Intel, il numero di thread è 4.

Quindi direi che Ubuntu sta mostrando il numero di thread e non dei core


1

Nel processore i5-4210 di Intel ci sono 2 core fisici che sono ulteriormente suddivisi in 2 core logici; questi core logici sono raggiunti dalla tecnologia hyper threading di Intel. Rendendolo quindi un totale di 4 core, come mostrato nella foto. Questa informazione è data anche nell'altra foto.


Non so perché le persone stiano votando in negativo la tua risposta, quello che hai detto è vero.
Anomalia virtuale il

Le persone sono stupide allora, non mi dispiace.
Moksh

Solo per sostenere questa risposta, Wikipedia dice: "Per ogni core del processore che è fisicamente presente, il sistema operativo indirizza due core virtuali (logici)".
Anomalia virtuale

Thnx @lightswitchr
Moksh

1
Penso che le persone effettuino il downvoting perché hai detto che ci sono due core fisici e due logici. Questo non è vero, ogni core fisico è diviso in due core logici, quindi ci sono quattro core logici (due in esecuzione su ciascun core fisico).
Runemoro,
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.