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


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

alt text


19


origem




Respostas:


Hyperthreading.

O Hyper-threading abstrai a troca de tarefas dos sistemas operacionais. Normalmente, um sistema operacional tem que lidar com processos de planejamento em CPUs diferentes, bem como garantir que cada tarefa que é executada no sistema tenha seu quinhão, mas não muito (se outra coisa quiser) da CPU.

O Hyper-threading é uma forma de levar esse segundo processo de compartilhamento de tarefas para longe do sistema operacional, pelo menos por um tempo. A razão é que o processador pode alternar tarefas muito mais rápido do que o sistema operacional pode dizer. Assim, ao apresentar dois processadores lógicos quando há, de fato, apenas um, o sistema operacional precisa fazer apenas metade das operações de troca de tarefas, mas mais agendamento de CPU. Mas o resultado líquido é supostamente uma máquina mais rápida em operações multitarefa.

Os benefícios reais disso variam muito, dependendo da carga de trabalho que você está fazendo. Para a maioria das pessoas, não há mal nenhum em deixá-lo ou desligá-lo. 4 x 8 threads é como escolher entre uma 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 muitas vezes podem obter um grande aumento na velocidade através do uso de hyperthreading, já que eles têm requisitos de agendamento de CPU muito restritos.

No entanto, os servidores SQL geralmente não obtêm esse aumento, porque geralmente é melhor ter quatro encadeamentos "grandes" do que encadeamentos de 8 "médios".


37



Como um Super Usuário altamente valorizado, sugiro que você revisite essa resposta e adicione mais detalhes. O link não ajuda a explicar nada sobre o que é Hyperthreading ou o que faz. - KronoS


Que meu amigo é hyper-threading.

Hyperthreading é uma forma de multi-threading simultâneo que aproveita a arquitetura super escalar. Múltiplas instruções operando em dados separados em paralelo. Eles aparecem para o 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 podem ser facilmente realocados. O SO deve suportar multi-threading simultâneo (SMT).


11



"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 de trolls ou qualquer outra coisa)
"Isso, meu amigo, é hyper-threading em tudo o que é beleza!" :)
Eu vou com a versão de beleza. Embora eu tenha ouvido relatos de impactos negativos no desempenho em algumas circunstâncias, não consegui duplicar. Hyperthreading sempre foi mais rápido para mim. Mesmo em suas formas mais antigas. - Brian Knoblauch


A família i7 é um processador quad-core que possui 8 threads. Os núcleos quádruplos normais têm quatro segmentos e, como o hyper-threading está ativado, o computador reconhece esses oito segmentos como processadores.


6