Como o Hyper Threading funciona nos processadores Intel Core i7?

Componentes / Como o Hyper Threading funciona nos processadores Intel Core i7? 4 minutos lidos

Você já ouviu o termo Hyper-Threading muitas vezes. Supõe-se que seja uma tecnologia mágica que dobra a velocidade do seu processador depois de habilitado. As empresas podem ativá-lo ou desativá-lo e cobrar muito mais como um prêmio.



Eu gostaria de dizer que tudo isso é um absurdo completo e que este artigo tem como objetivo educar você a entender melhor o que é Hyper-Threading. Este artigo será muito amigável para iniciantes.

Prefácio

Antigamente, se a Intel ou a AMD tivessem que fazer uma CPU mais rápida, eles geralmente aumentariam o número potencial de transistores encolhendo-os e encaixando mais no mesmo espaço e tentariam aumentar suas frequências (medidas em MHz / GHz). Todas as CPUs tinham apenas um único núcleo. As CPUs passaram a ser de 32 bits e podiam lidar com RAM de até 4 GB. Mais tarde, eles mudaram para CPUs de 64 bits que podiam lidar com saltos e limites de RAM mais do que apenas 4 GB. Então, decidiu-se usar vários núcleos e distribuir cargas de trabalho entre esses vários núcleos para uma computação mais eficiente. Todos os núcleos se comunicam entre si para distribuir qualquer tarefa. Essa tarefa é considerada uma tarefa multithread.



Partes de uma CPU



Uma CPU consiste nas seguintes partes que funcionam em harmonia. Como mencionado acima, isso vai ser uma simplificação exagerada. Este é simplesmente um curso intensivo e, não tome essas informações como a palavra do Evangelho. Essas peças não estão listadas em nenhuma ordem específica:



  • Scheduler (na verdade, no nível do sistema operacional)
  • buscador
  • Decodificador
  • Testemunho
  • Fio
  • Cache
  • Memória e controlador de E / S
  • FPU (Unidade de Ponto Flutuante)
  • Registros

As funções dessas peças são as seguintes

A memória e o controlador de E / S gerenciam a entrada e saída dos dados de e para a CPU. Os dados são trazidos do disco rígido ou SSD para a RAM, então os dados mais importantes são trazidos para o cache da CPU. O cache possui 3 níveis. Por exemplo. o Core i7 7700K tem cache L3 de 8 MB. Este cache é compartilhado por toda a CPU a 2 MB por núcleo. Os dados daqui são coletados pelo cache L2 mais rápido. Cada núcleo tem seu próprio cache L2, com 1 MB no total e 256 KB por núcleo. Como o caso do Core i7, ele possui Hyper-Threading. Cada núcleo tem 2 threads, portanto, esse cache L2 é compartilhado por ambas as threads. O cache L1 no total é de 256 KB a 32 KB por thread. Aqui, os dados são inseridos nos registros, que são um total de 8 registros no modo de 32 bits e 16 registros no modo de 64 bits. O SO (sistema operacional) agenda processos ou instruções para o thread disponível. Como existem 8 threads em um i7, ele vai alternar entre threads dentro dos núcleos. Sistemas operacionais como Windows ou Linux são inteligentes o suficiente para saber o que são núcleos físicos e o que são núcleos lógicos.

Como funciona o Hyper Threading?



Em uma CPU multinúcleo tradicional, cada núcleo físico possui seus próprios recursos e cada núcleo consiste em uma única thread que possui acesso independente a todos os recursos. O Hyper-Threading envolve 2 (ou em casos raros mais) threads compartilhando os mesmos recursos. O planejador pode alternar tarefas e processos entre esses threads.

Em uma CPU multinúcleo tradicional, o núcleo pode “estacionar” ou ficar ocioso se não tiver nenhum dado ou processo atribuído a ele. Esse estado é chamado de inanição e é resolvido de forma saudável por SMT ou Hyper-Threading.

Núcleos físicos versus lógicos (e o que são threads)

Se você ler a folha de especificações de quase todos os Core i5, notará que ele tem 4 núcleos físicos e 4 núcleos lógicos ou 4 threads (Coffee Lake i5s tem 6 núcleos e 6 threads). Todos os i7s até 7700K são 4 núcleos e 8 threads / núcleos lógicos. No contexto da arquitetura de CPUs da Intel, threads e núcleos lógicos são a mesma coisa. Eles não mudaram o layout de sua arquitetura desde Nehalem de 1ª geração até hoje com Coffee Lake, então esta informação será mantida. Esta informação não será suficiente para CPUs AMD mais antigas, mas Ryzen também mudou muito seu layout, e seus processadores agora são semelhantes aos da Intel em design.

Vantagens do Hyper Threading

  • O Hyper-Threading resolve o problema de “fome”. Se um núcleo ou thread estiver livre, o planejador pode passar os dados para ele, em vez de o núcleo permanecer ocioso ou aguardar que alguns outros novos dados fluam por ele.
  • Cargas de trabalho muito maiores e paralelas podem ser realizadas com maior eficiência. Como há mais threads para paralelizar, os aplicativos que dependem muito de vários threads podem aumentar seu trabalho significativamente (embora não duas vezes mais rápido).
  • Se você estiver jogando e tiver algum tipo de tarefa importante em execução em segundo plano, a CPU não terá dificuldade para fornecer os quadros adequados e executar essa tarefa sem problemas, pois pode alternar recursos entre os threads.

Desvantagens do Hyper Threading

O que se segue não é uma grande desvantagem, mas sim mais inconvenientes.

  • O Hyper-Threading precisa de implementação do nível do software para tirar proveito. Embora cada vez mais aplicativos estejam sendo desenvolvidos para aproveitar as vantagens de vários threads, os aplicativos que não tiram proveito de nenhuma tecnologia SMT (Simultaneous Multi-Threading) ou mesmo de vários núcleos físicos serão executados exatamente da mesma forma. O desempenho desses aplicativos depende mais da velocidade do clock e do IPC de uma CPU.
  • O Hyper-Threading pode fazer com que a CPU crie mais calor. É por isso que o i5s costumava ter uma freqüência muito maior do que o i7s, porque eles não aqueciam tanto porque têm menos threads.
  • Vários threads compartilham os mesmos recursos em um núcleo. É por isso que o desempenho não dobra. Em vez disso, é um método muito inteligente para maximizar a eficiência e aumentar o desempenho sempre que possível.

Conclusão

Hyper-Threading é tecnologia antiga, mas veio para ficar. À medida que os aplicativos se tornam cada vez mais exigentes e a crescente taxa de mortalidade da lei de Moore, a capacidade de paralelizar as cargas de trabalho ajudou a melhorar o desempenho significativamente. Ser capaz de executar cargas de trabalho parcialmente paralelas ajuda a aumentar sua produtividade e fazer seu trabalho mais rápido sem gaguejar. E se você está procurando a melhor placa-mãe para o seu processador i7 de 7ª geração, dê uma olhada em esta artigo.

#AntevisãoNomeNVIDIA SLIAMD CrossFireFases VRMRGBCompra
1 ASUS Formula 9 10

Verifique o preço
2 MSI Arsenal Gaming Intel Z270 10

Verifique o preço
3 MSI Performance Gaming Intel Z270 onze

Verifique o preço
4 ASRock Gaming K6 Z270 10 + 2

Verifique o preço
5 GIGABYTE AORUS GA-Z270X Jogos 8 onze

Verifique o preço
#1
Antevisão
NomeASUS Formula 9
NVIDIA SLI
AMD CrossFire
Fases VRM10
RGB
Compra

Verifique o preço
#2
Antevisão
NomeMSI Arsenal Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
Fases VRM10
RGB
Compra

Verifique o preço
#3
Antevisão
NomeMSI Performance Gaming Intel Z270
NVIDIA SLI
AMD CrossFire
Fases VRMonze
RGB
Compra

Verifique o preço
#4
Antevisão
NomeASRock Gaming K6 Z270
NVIDIA SLI
AMD CrossFire
Fases VRM10 + 2
RGB
Compra

Verifique o preço
#5
Antevisão
NomeGIGABYTE AORUS GA-Z270X Jogos 8
NVIDIA SLI
AMD CrossFire
Fases VRMonze
RGB
Compra

Verifique o preço

Última atualização em 2021-01-05 às 22:02 / Links afiliados / Imagens da Amazon Product Advertising API