Stavo cercando su Google come trovare il numero di CPU in una macchina e ho trovato alcuni post, ma sono confuso poiché alcuni hanno affermato che si ottengono i core logici rispetto ai core fisici, ecc.
Quindi qual è la differenza tra logico e core fisici e c'è un modo per ottenere solo i core fisici? Oppure ha senso includere i nuclei logici nel nostro conteggio?
Risposta accettata:
I core fisici sono proprio questo, i core fisici all'interno della CPU. I core logici sono le capacità di un singolo core di fare 2 o più cose contemporaneamente. Ciò è nato dalla capacità delle prime CPU Pentium 4 di fare ciò che è stato definito Hyper Threading (HTT).
Era un po' un gioco che veniva giocato in cui i componenti secondari del core non venivano utilizzati per determinati tipi di istruzioni mentre un'altra istruzione di lunga durata poteva essere eseguita. Quindi la CPU potrebbe effettivamente lavorare su 2 cose contemporaneamente.
I core più recenti sono CPU più complete, quindi lavorano su più cose contemporaneamente, ma non sono vere CPU come lo sono i core fisici. Puoi leggere di più sui limiti della funzionalità di hyperthreading rispetto alle capacità fisiche del core qui su tomshardware in questo articolo intitolato:Intel Core i5 e Core i7:Mainstream Magnum Opus di Intel.
Puoi vedere la ripartizione della tua scatola usando il lscpu
comando:
$ 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
In quanto sopra, il mio laptop Intel i5 ha 4 "CPU" in totale
CPU(e):4
di cui ci sono 2 core fisici (1 socket × 2 core/socket =2 core)
Core(s) per socket:2
Presa/i CPU:1
di cui ciascuno può eseguire fino a 2 thread
Thread/i per core:2
allo stesso tempo. Questi thread sono le capacità logiche del core.