A introdução do Hyper-Threading

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 possuindo o dobro de núcleos que possui fisicamente. No caso do Northwood e do Prescott que são processadores single-core, o sistema enxerga dois núcleos lógicos e, no caso dos processadores dual-core e quad-core, são vistos respectivamente 4 e 8 núcleos.

Com isso, o sistema operacional ativa os módulos responsáveis pelo 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 thread. Aumentar o nível de utilização das unidades de execução resulta em um pequeno ganho de desempenho. Este slide da Intel apresenta o conceito:

Logo do Pentium 4 HT e o Slide da Intel que demonstra o uso do Hyper-Threading

Dentro do processador, os circuitos responsáveis pelo Hyper-Threading representam menos de 5% da contagem total de transistores. Embora tenham sido habilitados apenas em algumas séries do Pentium 4, que eram vendidas 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 por núcleo e por agendar o processamento de instruções aproveitando os ciclos ociosos.

Slide da Intel que mostra os circuitos responsáveis pelo Hyper-Threading

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 era 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. Por outro lado, quando ele era ativado você arcava com o overhead de utilizar um sistema com dois processadores (já que o sistema operacional precisava ativar os módulos responsáveis pelo SMP e passar a dividir as tarefas entre os dois núcleos).

Isso fez com que o Hyper-Threading no Northwood e no Prescott fosse uma faca de dois gumes. Em alguns aplicativos, ele resultava em ganhos de 10, ou até mesmo 20%, mas na maioria o ganho era muito pequeno, abaixo de 2%. Existia ainda um grande número de aplicativos onde ativar o HT reduzia substancialmente o desempenho, o que anulava em grande parte o ganho obtido em outros aplicativos.

Os aplicativos que mais se beneficiavam do HT, de uma forma geral, eram 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 eram mais expressivos em ambientes multitarefa, já que o maior número de processos ativos permitiam que o processador aproveitasse 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 costumavam apresentar perdas eram, sobretudo, os aplicativos do dia a dia, incluindo navegadores, processadores de texto, planilhas e assim por diante.

Outro efeito colateral era que ativar o Hyper-Threading aumentava o consumo e, consequentemente, a dissipação térmica do processador em 6 a 8%. Não era incomum que ao ativar o HT a temperatura do processador subisse 5 ou 6 graus, o que podia prejudicar a estabilidade caso o processador já estivesse trabalhando próximo do limite.

Como os processadores Pentium 4 (sobretudo os Prescott, que operam a frequências muito altas e eram ainda fabricados numa técnica de 0.09 micron) possuíam 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 acabavam sendo superados pelas desvantagens, de forma que muitos preferiam simplesmente desativar o recurso através do setup.

Depois do fracasso inicial, o Hyper Threading ficou algum tempo fora de cena, até ser revivido com o lançamento dos processadores Core i7, i5 e i3, que trouxeram uma versão aperfeiçoada do sistema, capaz de melhorar o desempenho de forma mais significativa sem comprometer a eficiência do processador. Veremos mais detalhes sobre ele ao estudar a nova arquitetura.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X