Por que meu Intel i7-920 exibe 8 núcleos em vez de 4 núcleos?

20

Quando vou ao gerenciador de tarefas, vejo 8 processadores, mas sei que tenho 4. Por que?

texto alternativo

Patrick Desjardins
fonte

Respostas:

39

Hyperthreading .

O Hyper-threading abstrai a alternância de tarefas dos sistemas operacionais. Normalmente, um sistema operacional precisa lidar com os processos de agendamento em diferentes CPUs, além de garantir que cada tarefa executada no sistema tenha seu quinhão justo, mas não muito (se algo mais o desejar) da CPU.

Hyper-threading é uma maneira de tirar esse segundo processo de compartilhamento de tarefas do sistema operacional, pelo menos por um tempo. O motivo é que o processador pode alternar tarefas muito mais rapidamente do que o sistema operacional pode exigir. Portanto, ao apresentar dois processadores lógicos quando na verdade há apenas um, o sistema operacional precisa executar apenas metade das operações de alternância de tarefas, mas mais agendamento de CPU. Mas o resultado líquido é supostamente uma máquina mais rápida em operações multitarefas.

Os benefícios reais disso variam muito, dependendo da carga de trabalho que você está realizando. Para a maioria das pessoas, não há mal em deixá-lo ligado ou desligado. 4 vs 8 threads é como escolher entre um ferrari ou um lamborghini para usuários domésticos.

No entanto, em cenários de servidor, isso pode fazer uma grande diferença. Por exemplo, os hipervisores geralmente podem obter um grande aumento de velocidade com o uso do hyperthreading, pois possuem requisitos de programação de CPU muito rígidos.

No entanto, os servidores SQL geralmente não recebem esse aumento, porque geralmente é melhor ter quatro threads "grandes" do que 8 threads de tamanho "médio".

Mark Henderson
fonte
3
Como superusuário altamente valorizado, sugiro que você revise esta resposta e adicione mais detalhes . O link não ajuda a explicar nada sobre o que é Hyperthreading ou o que faz.
26412 James Mertz
11

Que meu amigo é super-enfiado .

O Hyperthreading é uma forma simultânea de multiencadeamento que tira proveito da arquitetura super escalar. Várias instruções operando em dados separados em paralelo. Eles aparecem no sistema operacional como dois processadores, portanto, o sistema operacional pode agendar dois processos ao mesmo tempo . Além disso, dois ou mais processos podem usar os mesmos recursos. Se um processo falhar, os recursos poderão ser facilmente realocados. O sistema operacional deve oferecer suporte a multiencadeamento simultâneo (SMT).

James Mertz
fonte
1
"Beleza" é discutível. Em alguns casos, o hyperthreading destrói o desempenho.
MDMarra
Tudo depende do que você está fazendo
prestomation
Vocês estão felizes agora? : D (não estava tentando provocar uma guerra trolls ou qualquer coisa)
1
"Isso, meu amigo, é hiper-threading em toda a sua beleza!" :)
Eu vou com a versão de beleza. Embora tenha ouvido relatos de impactos negativos no desempenho em algumas circunstâncias, não consegui duplicar. O hyperthreading sempre foi mais rápido para mim. Mesmo nas formas mais antigas.
precisa saber é o seguinte
6

A família i7 é um processador quad-core com 8 threads. Quad-núcleos normais têm 4 threads e, como o hyperthreading está ativado, o computador reconhece esses 8 threads como processadores.

tcables
fonte