Entre para seguir isso  
Seguidores 0

Tecnologia Hyper-Threading

       
 119.289 Visualizações    Artigos  
 8 comentários

Saiba como funciona essa tecnologia que transforma um processador em dois.


É incrível o esforço que os fabricantes de microprocessadores fazem para aumentar a performance dos processadores modernos. Técnicas como superpipeline, execução especulativa, execução fora de ordem, previsão de desvio e cache de memória, foram implementadas com o objetivo de aumentar o desempenho dos processadores. A tecnologia Hyper-Threading, desenvolvida pela Intel, é mais uma técnica criada para oferecer maior eficiência na utilização dos recursos de execução do processador. Segundo a Intel, a Hyper-Threading oferece um aumento de desempenho de até 30% dependendo da configuração do sistema.

A tecnologia Hyper-Threading simula em um único processador físico dois processadores lógicos. Cada processador lógico recebe seu próprio controlador de interrupção programável (APIC) e conjunto de registradores. Os outros recursos do processador físico, tais como, cache de memória, unidade de execução, unidade lógica e aritmética, unidade de ponto flutuante e barramentos, são compartilhados entre os processadores lógicos. Em termos de software, significa que o sistema operacional pode enviar tarefas para os processadores lógicos como se estivesse enviando para processadores físicos em um sistema de multiprocessamento.

Tecnologia Hyper-Threading
Figura 1: Comparação de um processador com e sem tecnologia Hyper-Threading.

Na Figura 1 vemos o diagrama de dois processadores. Em nosso diagrama, os registradores e controlador de interrupção foram chamados de “AS“. Na área denominada de “recursos de execução” estão todos os recursos que o processador necessita para executar as instruções. O processador da esquerda não suporta a tecnologia Hyper-Threading. O processador da direita suporta, duplicando seus registradores e controladores e compartilhado os recursos de execução entre os processadores lógicos, parecendo assim um sistema com dois processadores.

Os modernos sistemas operacionais são SMP (Multiprocessamento Simétrico), ou seja, podem trabalhar com mais de um processador instalado no sistema, dividindo às tarefas entre os mesmos. A tecnologia Hyper-Threading estende essa idéia de forma que os sistema operacionais e software aplicativos dividam as tarefas entre os processadores lógicos.

Tecnologia Hyper-Threading
Figura 2: Sistema Multiprocessado sem tecnologia Hyper-Threading.

Tecnologia Hyper-Threading
Figura 3: Processador com tecnologia Hyper-Threading.

As instruções CPUID são utilizadas pelo sistema operacional e aplicativos para identificar a presença da tecnologia Hyper-Threading nos processadores. Para quem não sabe, as instruções CPUID servem para informar ao software as características do processador instalado. Obviamente, os sistemas operacionais e sofware aplicativos têm que suportar a tecnologia Hyper-Threading para usufruir dos processamentos simultâneos.

O primeiro processador da Intel a implementar a tecnologia Hyper-Threading foi o Intel Xeon. O Intel Xeon utiliza a arquitetura NetBurst e é voltado para o mercado de servidores. Apesar do foco da tecnologia Hyper-Threading ser os processadores para servidores de rede, já existem chipsets (Intel 845PE) para os novos processadores Pentium 4 que utilizam a tecnologia Hyper-Threading.

Compartilhar



Entre para seguir isso  
Seguidores 0

Comentários de usuários


Obviamente, os sistemas operacionais e sofware aplicativos têm que suportar a tecnologia Hyper-Threading para usufruir dos processamentos simultâneos.

E se o SO não tiver suporte à tecnologia? Ele vai usar o processador como se fosse um só, normal, ou vai usar só metade dele (só um dos processadores lógicos)? E se o SO tiver suporte, mas o aplicativo sendo rodado não tiver?

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Se o sistema operacional não tiver suporta a multiprocessamento simétrico (SMP), ele verá o processador como sendo apenas um. Apenas sistemas operacionais muito antigos, como o DOS e Windows 9x/Me não suportam multiprocessamento simétrico. Do Windows NT/XP/2000 para cá, todos suportam.

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

MisterSanderson,

O programa rodará em apenas um dos núcleos do processador, e não tirará vantagem dessa tecnologia, embora o sistema operacional possa ter vários programas rodando ao mesmo tempo em núcleos diferentes.

Gabriel.

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Olá bom dia após leitura do artigo surgiu-me uma dúvida no ultimo paragrafo que diz: "...O Intel Xeon utiliza a arquitetura NetBurst..." neste caso está incorreto a afirmação pois NetBurst seria a microarquitetura e não a arquitetura do processador assim como é a microarquitetura do processador Pentium 4 e Pentium D?

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

@Iagocgr

 

Este é um artigo de 2002, portanto está claramente desatualizado, pois obviamente existem processadores Xeon utilizando outro tipo de microarquitetura. Obs: você está correto.

 

Abraços,

Gabriel.

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

@Iagocgr

 

Este é um artigo de 2002, portanto está claramente desatualizado, pois obviamente existem processadores Xeon utilizando outro tipo de microarquitetura. Obs: você está correto.

 

Abraços,

Gabriel.

Obrigado Gabriel por ter respondido a minha questão. Entendi o fato do artigo está desatualizado mas minha duvida está quanto a diferença do termo arquitetura e microarquitetura existe diferença? 

 

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites


Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar agora