Definição de Hyper-Threading

Por Carlos E. Morimoto. Há .

O Hyper-Threading foi introduzido no final de 2002, na forma de duas versões especiais do Pentium 4 Northwood (soquete 478), que operavam a 2.8 e 3.06 GHz. A partir daí, ele foi utilizado em diversas séries do Prescott. As séries com suporte ao Hyper-Threading eram identificadas pelo logotipo, que continha as letras "HT", em laranja.

Com o Hyper-Threading, o processador se apresenta ao sistema operacional como um sistema dual-core. Com isso, o sistema ativa os módulos que ativam o suporte a SMP e passa a dividir o processamento dos aplicativos entre os dois processadores lógicos. Dentro do processador, as instruções são reorganizadas, de forma que o processador possa aproveitar os ciclos ociosos para incluir operações relacionadas ao segundo aplicativo. Aumentar o nível de utilização das unidades de execução resulta em um pequeno ganho de desempenho.

Dentro do processador, os circuitos responsáveis pelo Hyper-Threading representam menos de 5% dos transístores do processador. Embora tenham sido habilitados apenas em algumas séries de processadores, que eram vendidos a preços mais altos, os circuitos responsáveis estavam presentes desde o Pentium 4 Willamette, embora desativados.

Os circuitos responsáveis pelo Hyper-Threading representam uma expansão do circuito de TLB e do trace cache, além de três pequenos circuitos adicionais, o Return Stack Predictor, Next Instruction Pointer e o Register Alias Tables. Eles são os responsáveis por criar a "ilusão" de dois processadores, vista pelo sistema operacional e por agendar o processamento de instruções aproveitando os ciclos ociosos.

O Hyper-Threading foi, de certa forma, um ensaio para os processadores dual-core que a Intel viria a lançar cerca de três anos depois. O ganho obtido ao ativar o Hyper-Threading não é nem próximo do obtido ao utilizar um processador dual-core "de verdade", já que ele se baseia no melhor aproveitamento das unidades de execução do processador e não na presença de um segundo processador físico. Ao ativá-lo você arca com o overhead de utilizar um sistema com dois processadores, já que sistema operacional e aplicativos precisam lidar com o trabalho adicional de dividir a carga entre os dois processadores. Embora sejam dois processadores lógicos, o impacto sobre o desempenho é o mesmo de ter dois processadores reais.

Isso faz com que o Hyper-Threading seja uma faca de dois gumes. Em alguns aplicativos, ele pode resultar em ganhos de 10, ou até mesmo 20%, mas na maioria o ganho é muito pequeno, abaixo de 2%. Existe ainda um grande número de aplicativos onde ativar o HT reduz substancialmente o desempenho, o que anula em grande parte o ganho obtido em outros aplicativos.

Os aplicativos que mais se beneficiam do HT, de uma forma geral, são os aplicativos de compressão de áudio e vídeo, compactação e descompactação de arquivos, aplicativos de renderização 3D e alguns jogos. Os ganhos são mais expressivos em ambientes multitarefa, já que o maior número de processos ativos permite que o processador aproveite melhor o tempo ocioso, adiantando operações em um aplicativo enquanto aguarda pela conclusão de uma operação de tomada de decisão em outro, por exemplo. Os aplicativos que costumam apresentar perdas são sobretudo os aplicativos do dia-a-dia, incluindo navegadores, processadores de texto, planilhas e assim por diante.

Outro efeito colateral é que ativar o Hyper-Threading aumenta o consumo e, conseqüentemente, a dissipação térmica do processador em de 6 a 8%. Não é incomum que ao ativar o HT a temperatura do processador suba 5 ou 6 graus, o que pode prejudicar a estabilidade do sistema, caso a ventilação dentro do gabinete não seja boa e o processador já esteja trabalhando próximo limite. Os relatos de instabilidade ao ativar o HT quase sempre derivam-se disso.

Como os processadores Pentium 4 (sobretudo os Prescott, que operam a freqüências muito elevadas e ainda são fabricados numa técnica de 0.09 micron) possuem uma dissipação térmica muito alta e uma relação consumo/performance já muito ruim, os ganhos obtidos com a ativação do HT acabam sendo superados pelas desvantagens, de forma que muitos preferiam simplesmente desativar o recurso através do setup.

Publicações Relacionadas
Entenda o que são as threads dos processadores
Entenda o que são as threads dos processadores
Artigos
true