O que é Hyperthreading e por que você deve se importar?


Digamos que você esteja pensando em comprar um novo processador e, de repente, tenha que decidir entre dois produtos que são praticamente iguais no papel, mas um deles possui um recurso chamado hyperthreadinge o outro não.

Claramente, o hyperthreading é uma coisa boa porque você precisa pagar mais por isso, mas o que faz? Mais importante, é algo com que você deve se preocupar? Para responder a essas perguntas incômodas, precisamos fazer um pequeno desvio de como as CPUs funcionam.

Potência ilimitada!

Mesmo que você não esteja tão interessado nos detalhes técnicos da tecnologia de computadores, provavelmente já ouviu falar em Lei de Moore antes. Não é realmente uma lei natural, mas uma observação de que os componentes básicos dos circuitos integrados estavam dobrando de densidade a cada dois anos.

Com efeito, isso significava que o desempenho de uma CPU dobraria a cada dois anos, o que é uma taxa exponencial de melhoria. Se o carro mais rápido do mundo fosse duas vezes mais rápido que o lançado há dois anos e essa tendência continuasse por décadas, teríamos veículos com as velocidades das naves de ficção científica. Portanto, essa é realmente uma das coisas mais revolucionárias sobre a tecnologia de computadores.

O problema é que o desempenho de uma CPU não é apenas determinado pela densidade de seus componentes. A velocidade do relógio, que é quantos ciclos completos de cálculo ele pode executar em um segundo, é obviamente importante. Se você pegar uma CPU e dobrar sua velocidade de clock, ela funcionará duas vezes bem. Pelo menos em teoria.

O problema é que, não importa a velocidade do processador, ele pode fazer apenas uma coisa de cada vez. O que percebemos como "multitarefa" é na verdade o processador pulando rapidamente entre milhares de trabalhos diferentes. Alguns anos atrás, começamos a bater em algumas paredes de tijolos quando se tratava de tornar um único processador cada vez mais rápido.

Portanto, uma das soluções foi colocar mais de uma CPU em cada processador, para que os vários trabalhos pudessem ser divididos entre eles. Hoje, as CPUs quad-core são praticamente a configuração principal.

Hyperthreading(HT) é o nome da Intel para multithreading simultâneo. Basicamente, significa que um núcleo da CPU pode funcionar com dois problemas ao mesmo tempo. Isso não significa que a CPU possa fazer o dobro do trabalho. Apenas para garantir que toda a sua capacidade seja usada ao lidar com vários problemas mais simples ao mesmo tempo.

Para o seu sistema operacional, cada núcleo de CPU de silício real se parece com dois, portanto, alimenta cada trabalho como se estivesse separado. Como muito do que uma CPU faz não é suficiente para trabalhar ao máximo, o HT garante que você obtenha o valor do seu dinheiro com esse chip.

Quem deve se preocuparHyperthreading?

Essa é outra questão que pode ser um pouco complicada, mas na verdade é bem simples quando você a divide. Primeiro, vamos colocar a única coisa sobre hyperthreading quase sempre verdadeira. Se você deve escolher entre dois processadores que podem lidar com o mesmo número de threads, mas não possuem o mesmo número de núcleos, vá com a CPU que possui mais núcleos físicos.

Por exemplo, se você tem uma CPU com dois núcleos, hiperencadeada e uma CPU com núcleos não HT, a opção quad core é a melhor opção. Dado que eles estão próximos um do outro em desempenho de thread único e núcleo único. Por quê? Como a CPU quad-core possui mais hardware de processamento físico.

O verdadeiro problema ocorre quando você tem duas CPUs com as mesmas especificações físicas, mas uma possui HT e a outra não. Agora, nossa pergunta realmente precisa ser faça com o software que você deseja executar. Se você possui um software que pode gerar threads suficientes para usar também os threads HT, verá um aumento significativo ao optar pela CPU com hyperthreading. Simplesmente porque nenhuma capacidade de processamento está sendo desperdiçada e o componente está trabalhando quase todo o seu potencial. na maior parte do tempo possível.

Se o software que você deseja executar não gerar threads suficientes para usar também os núcleos virtuais HT, você verá uma diferença literal no desempenho.

Tradicionalmente, operações como renderização em CPU 3D, codificação de vídeo e foto A manipulação criará tantos threads quanto a CPU ruim aguentar. Em outras palavras, muitas aplicações profissionais modernas estão famintas por tópicos. É por isso que o Hyperthreading foi restrito a CPUs de nível profissional, como os i7 e acima.

Os aplicativos convencionais, como processadores de texto e navegadores da Web, não terão um desempenho melhor com o hyperthreading, mesmo se eles podem gerar mais threads. Simplesmente porque as necessidades desses aplicativos, usadas pela maioria das pessoas, nem sequer dificultam muito a CPU de nível de entrada.

A Grande Questão de Jogo

Os videogames são outro aplicativo convencional que tem sido bastante apático ao Hyperthreading. No momento em que escrevo, em2019, os mais recentes mecanismos de videogame estão começando a ficar mais pesados, o que significa que as CPUs habilitadas para HT terão melhor desempenho nelas. Os títulos mais antigos não terão nenhuma vantagem, com exceção de alguns jogos do tipo simulação que usam muito a IA ou outros processos centrados na CPU.

Isso significa que o seu próximo PC de jogo deve ter Hyper-Threading? A questão é que agora estamos entrando em um mercado de CPU convencional, onde as CPUs de seis, oito e doze núcleos são a norma. Portanto, é muito melhor ter mais núcleos físicos sempre que possível.

A resposta simples

Esperamos que a explicação acima tenha sido clara o suficiente, mas vamos dividi-la na linha inferior:

  • Se você faz um trabalho profissional e pesado, o Hyperthreading é importante
  • Se você é um usuário comum, não se preocupe!
  • Se você é um jogador, priorizarter mais núcleos em sua próxima compilação sobre HT, mas obtenha HT, se o preço estiver correto.
  • O Hyperthreading é uma ótima tecnologia, mas não vale a pena o prêmio para todos. Agora você deve saber se esse "alguém" é você ou não!

    Núcleos x Threads - Entenda as diferenças

    Postagens relacionadas:


    26.07.2019