Pelo que entendi, o número de CPUs no meu computador deve ser dado por
CPU = Thread(s) por núcleo x Núcleo(s) por soquete x Soquete(s)
Aqui estão as primeiras linhas da lscpu
saída:
$ lscpu | head -n18
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 46 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 22
On-line CPU(s) list: 0-21
Vendor ID: GenuineIntel
Model name: Intel(R) Core(TM) Ultra 7 155H
CPU family: 6
Model: 170
Thread(s) per core: 2
Core(s) per socket: 16
Socket(s): 1
Stepping: 4
CPU(s) scaling MHz: 14%
CPU max MHz: 4800.0000
CPU min MHz: 400.0000
BogoMIPS: 5990.40
O que está acontecendo? 2 × 16 = 32, não 22. Mesmo em execução, nproc --all
mostra 22.
Estou esquecendo de alguma coisa?
Para sua CPU específica Intel Core Ultra 7 155H:
A
lscpu
saída diz "Núcleo(s) por soquete: 16" , o que significa que sua CPU tem 16 núcleos físicos no total.Nem todos funcionam da mesma maneira:
6 P-cores (núcleos de desempenho) que suportam Hyper-Threading, 2 threads por núcleo
8 E-cores (núcleos de eficiência) que não suportam Hyper-Threading, 1 thread por núcleo
Mais 2 núcleos E adicionais de baixo consumo de energia
Processador Intel® Core™ Ultra 7 155H 24M Cache, até 4,80 GHz
Portanto, o número total de threads e CPUs lógicas é:
P-cores > 6 núcleos × 2 threads = 12 threads
E-cores > 8 núcleos × 1 thread = 8 threads
LP E-cores > 2 núcleos × 1 thread = 2 threads
SOMA = 12 + 8 + 2 = 22 threads, CPUs lógicas
Que corresponde
lscpu
enproc
.A linha "Thread(s) por núcleo: 2" é um pouco enganosa porque se aplica apenas aos núcleos P, não a todos os núcleos.
O que são P-Cores e E-Cores?
A introdução de núcleos de processador ultraeficientes para tarefas em segundo plano, como os processadores de 12ª geração da Intel para computadores embarcados sem ventoinha, geralmente aumenta a confusão ao comprar uma CPU. As CPUs mais recentes seguem os passos dos smartphones ao combinar P-Cores e E-Cores em processadores de ponta.
Núcleos P:
Os P-Cores assemelham-se aos designs tradicionais de CPU, apresentando altas velocidades de clock e recursos de Hyper-Threading
São núcleos de alto desempenho otimizados para tarefas exigentes que exigem poder de processamento significativo
Projetados para cargas de trabalho intensivas, eles são seus núcleos de CPU padrão de alta potência
E-Núcleos:
E-Cores são menores e consomem significativamente menos energia
Eles priorizam a eficiência e lidam com tarefas mais leves
Eles são usados para processos em segundo plano que são executados continuamente, mas não exigem muito poder computacional
Embora os E-Cores sejam mais lentos e não tenham Hyper-Threading, eles oferecem uma ideia de como as operações com eficiência energética podem funcionar em futuros sistemas móveis.
Quais são as vantagens dos processadores P-Core e E-Core?
Ao analisar as especificações dos processadores modernos, você verá agora P-Cores e E-Cores:
Qual é a diferença entre o núcleo P e o núcleo E?
O que são E-Cores e P-Cores?
Intel Core Ultra 7 155H, Benchmarks de CPU