Hyper-Threading ou hiperprocessamento é uma tecnologia usada em processadores que o faz simular dois processadores tornando o sistema mais rápido quando se usa vários programas ao mesmo tempo. É uma tecnologia desenvolvida pela Intel e foi primeiramente empregada no processador Pentium 4 de núcleo Northwood, de 32 bit. Apesar do foco da tecnologia Hyper-Threading ser os processadores para servidores de rede, os processadores da série Intel® Core2™ (Extreme Edition) e Intel® Core™ (i3,i5 e i7) usufruem dessa tecnologia proporcionando até 12 núcleos totais (i7 4960x). Essa técnica foi 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 simulação do segundo processador é feito utilizando partes não aproveitadas do processador na previsão de desvio do pipeline. Estas partes são conhecidas como bolhas do pipeline e não teriam utilidade nenhuma desperdiçando ciclos. Simulando em um único processador físico dois processadores lógicos, cada processador lógico recebe seu próprio controlador de interrupção programável (EPIC) e um conjunto de registradores. Os outros recursos do processador físico como cache de memória, unidade lógica e aritmética, barramentos, são compartilhados entre os processadores lógicos, parecendo assim um sistema com dois processadores.
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,
Um efeito colateral do Hyper-Threading é o aumento do consumo de energia e, conseqüentemente, a dissipação térmica do processador em 6 a 8%. É comum que 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 aplicativos que costumam apresentar perdas mais frequentes de desempenho são sobretudo os aplicativos do dia-a-dia, como navegadores, editores de texto e planilhas.
Requisitos do sistema
A tecnologia Hyper-Threading está disponível em sistemas para laptops, desktops, servidores e workstations.
A tecnologia HT requer um sistema de computador com:
- Um processador compatível com a tecnologia HT
- Chipset habilitado para a tecnologia HT
- BIOS de sistema habilitado para a tecnologia HT
- Windows XP ou superior.
Windows 9x/ME não tem esse recurso e, portanto, não tira proveito dessa tecnologia.
O Windows 2000 e o Windows NT reconhecem mais de um processador, mas não são otimizados para o Hyper-Threading.
- o Linux (com Kernel a partir da versão 2.4.x).
O desempenho varia dependendo do hardware e software específicos utilizados.
Objetivos do Hyper-Threading
O Hyper-Threading foi uma das tecnologias mais anunciadas da Intel com o passar dos anos. A ideia básica era melhorar o desempenho utilizando algumas técnicas de computação paralela devido à duplicação de algumas unidades de chips internos.
A tecnologia Hyper Threading foi introduzida pela Intel em uma época em que os processadores dual core não podiam ser vendidos e produzidos a preços acessíveis.
Essa tecnologia foi introduzidas primeiramente em servidores com Xeon e Itanium 2, e em setores que já se tinha alguma previsão de aplicações projetadas de acordo com os critérios de paralelização.
No inicio dos anos 2000, a Intel já tinha atingido 3GHZ no processador Pentium 4 de desktop . A Intel, a fim de melhorar o desempenho de seus processadores sem ter que aumentar a frequência e o consumo máximo, decidiu promover a adoção da tecnologia Hyper Threading. O primeiro processador a ser usado com a tecnologia Hyper Threading foi o Pentium 4 Northwood 3.06 GHz com um bus de 533 MHz. Depois essa mesma tecnologia foi implentada em todos os processadores posteriores ao Pentium 4. E comparado aos processadores Dual Core, a única característica diferente foi a presença do Hyper Threading.
Segundo a Intel, logo após ter lançado essa tecnologia, a tecnologia Hyper-Threading deve melhorar o desempenho do processador em 24%, independente da velocidade do clock. Mas, mais tarde foi-se provado que se houvesse um melhoramento, esse melhoramento foi muito menor do que o esperado. No campo de desempenho, essa tecnologia melhorou de 5 a 10% o desempenho do processador.
Como funciona
Em processadores com essa tecnologia. Fisicamente cada um dos processadores lógicos tem seu próprio conjunto de registradores e controlador de interrupção, e os restantes dos elementos do processador são comuns. Quando desempenho do fluxo de um dos processadores há uma pausa, então o controle é passado para o fluxo do outro processador logico. Assim, enquanto um processo está esperando por esses dados da memória os processadores físicos são usados para processar outro processo.
História
A tecnologia Hyper Threading foi inicialmente projetada na Digital Equipment Corporation, mas quem a trouxe no Mercado foi a Intel. Essa tecnologia foi introduzida pela primeira vez na Xeon MP Foster, em Março de 2002. Ele apareceu no Pentium 4 Northwood em novembro do mesmo ano.1 E depois de aparecer no Pentium 4 Northwood, apareceu em todos os Pentium 4 HP, Pentium 4 Extreme Edition. Processadores anteriores ao Pentium 4 Northwood 3.06 GHz não tem Hyper-Threading.
A Intel lançou o Core I7 (Nehalem) em novembro de 2008 em que o processador contém quatro núcleos e oito threads efetivamente escalas. Desde então ambos foram lançados.
O Itanium 9300 lançou com oito threads por processador através da tecnologia hyper-threading aprimorado.
O Intel Xeon 550 também utilizam chips para servidores de duas passagens hyper-threading.
Diferença entre processadores Dual Core e HT
Apesar de a Intel ter dito quando estava lançando a tecnologia Hyper-Threading que as melhorias do processador com a tecnologia seria de mais de 25%, comparado ao dual core, essa tecnologia teve um aumento não tão significativo. Diz-se que o processador com a tecnologia Hyper-Threading teve um melhoramento no processador de 5%. Comparado esse aumento ao esperado, em qualquer caso, um aumento modesto em ambos, a superfície do processador pode conter custos de produção. E portanto, a relação custo/benefici foi em favor de modelos de integração da tecnologia Hyper-Threading em relação aos Dual-Core.
O ponto fraco do Hyper Threading, quando for comparado com um processador Dual-Core. Com um processador Hyper Threading só se pode beneficiar apenas as aplicações com vários segmentos Enquanto em um Dual Core pode ser executadas aplicações em threads paralelas em um único programa. Ambos pertencentes à tópicos programas diferentes, que podem ser executadas simultaneamente apenas nos sistemas com processadores Dual Core.
Fonte: http://pt.wikipedia.org/wiki/Hyper-threading
O que são multi e hyper-threading?
Os processadores foram os componentes de computador que tiveram uma evolução galopante desde seu primeiro modelo até os que encontramos hoje no mercado. Para aumentar a velocidade dos processadores e a dos computadores, diversas tecnologias novas foram desenvolvidas.
Hoje você não precisa procurar muito para encontrar computadores que tenham processadores com mais de um núcleo, ou que possam simular diversos. Porém, as especificações destas máquinas muitas vezes utilizam nomes específicos como Multithread ou Hyper-threading e geram dúvidas sobre seu funcionamento.
O que é Thread?
Em palavras simples, uma thread é um conjunto de tarefas existentes em um ou mais programas, executadas ao mesmo tempo pelo processador. Por exemplo, você não precisa parar de ouvir música enquanto utiliza um editor de texto, muito menos fechar uma janela de seu navegador para imprimir uma imagem. Agora pense em diversas tarefas dentro de um único processo (como a emissão de sons e imagens ao mesmo tempo em um jogo) e você tem threads.
Uma Thread acontece quando um programa precisa resolver duas ou mais tarefas concorrentes (e em andamento). Threads não são processos, estando contidas dentro de processos. Pode haver múltiplas threads dentro de um mesmo processo (ao menos uma sempre existe) e também é possível dividir recursos do computador (como memória e arquivos abertos, por exemplo), enquanto processos não podem fazê-lo.
Nos computadores cujo processador possui um núcleo, as threads são processadas de maneira, aparentemente, simultânea, pois a mudança entre uma e outra é feita de maneira muito rápida. Nos computadores cujo processador tem mais do que um núcleo, as threads são efetivamente realizadas de forma simultânea.
Resumindo…
Normalmente, um processo (de qualquer programa) é dividido em várias linhas, as quais possuem ordens específicas. Cada linha pode ser lida e processada separadamente pelo processador. Estas linhas são o que chamamos de Threads. Evidentemente, para que as Threads possam ser executadas ao mesmo tempo, o computador precisa de duas coisas: um sistema capaz de realizar esta divisão de threads e um processador capaz de executar várias threads.
Multithread
Multithreading é a capacidade que o sistema operacional possui de executar várias threads simultaneamente sem que uma interfira na outra. Estas threads compartilham os recursos do processo, mas são capazes de ser executadas de forma independente. Para possuir processamento multithread “real”, os processadores precisam ser capazes de atender duas ou mais threads ao mesmo tempo e não simular este efeito, atendendo-as uma por vez em um curto período de tempo.
A maior vantagem trazida com a execução multithread é permitir que os computadores com múltiplos núcleos de processamento possam aproveitar todo o seu potencial e operar de forma mais rápida. Apenas para ilustrar, nos computadores sem este tipo de suporte, quando o processo principal toma muito tempo, a aplicação inteira parece travar.
SuperThreading
Esta tecnologia foi desenvolvida a partir da observação de que algumas vezes o processador era deixado ocioso enquanto executava as instruções de uma thread (nem todo processo requisita toda a capacidade do processador). O objetivo principal era aproveitar este período de ociosidade para a execução de instruções de outra thread.
Na execução SuperThreading o processador pode executar instruções de threads diferentes para cada ciclo de processamento. Entretanto, quando um destes ciclos não está mais sendo utilizado por determinada thread, é aproveitado para executar outra que esteja pronta.
Hyper-threading
Hyper-threading ou Simultaneous multithreading (SMT), basicamente, seria uma espécie de evolução da tecnologia SuperThreading, porém sem a limitação de que todas as instruções executadas em um mesmo ciclo de processamento sejam da mesma thread.
A tencologia de Hyper-thread permite que as threads sejam executadas em paralelo (paralelismo) dentro de cada núcleo de processador existente no computador. Este tipo de processamento aproveita de forma mais eficiente o uso dos recursos dos processadores e melhora ainda mais a performance multithread dos programas. Na imagem abaixo você pode conferir a presença da tecnologia Hyper-threading (HT) nos processadores Pentium 4.
Veja que o Windows reconhece dois núcleos num processador que tem apenas um núcleo físico
Para deixar um pouco mais claro, pode-se dizer que um único processador com tecnologia hyper-threading habilitada é tratado pelo sistema operacional como dois processadores ao invés de apenas um. Assim sendo, um único processador físico poderia ser tratado pelo Sistema como dois processadores virtuais dividindo tarefas entre eles.
Como um exemplo atual, poderíamos utilizar os processadores Core i7 da Intel, que apesar de possuírem quatro núcleos físicos, simulam o funcionamento de oito.
Tecnologia Hyper-Threading Intel®
De que modo os sistemas operacionais podem fazer mais e ter melhor desempenho
A Tecnologia Hyper-Threading Intel® (Tecnologia Intel® HT)1 usa os recursos do processador com mais eficiência, permitindo que múltiplos threads sejam executados em cada núcleo. Por ser um recurso de desempenho, a Tecnologia Intel HT também aumenta a produtividade do processador, melhorando o desempenho geral do software encadeado.
A Tecnologia Intel HT está disponível nos processadores Intel® Core™ de geração anterior, 4ª geração da família de processadores Intel® Core™ e família de processadores Intel® Xeon®. Ao combinar um desses processadores e chipsets Intel® com um SO e BIOS compatíveis com a Tecnologia Intel HT, é possível:
- Executar aplicativos sofisticados simultaneamente, mantendo, ao mesmo tempo, a agilidade do sistema
- Manter os sistemas protegidos, eficientes e gerenciáveis minimizando, ao mesmo tempo, o impacto sobre a produtividade
- Fornecer espaço suficiente para o crescimento futuro da empresa e novos recursos de solução
Grande quantidade de gráficos sem prejuízo
Com a Tecnologia Intel HT, os entusiastas de multimídia podem criar, editar e codificar arquivos com muitos gráficos enquanto executam aplicativos em segundo plano, como software de proteção contra vírus, sem comprometer o desempenho do sistema.
Mais tarefas, empresa mais eficiente
Os processadores com Tecnologia Intel HT e Tecnologia Intel® Turbo Boost (ou Tecnologia Intel® Turbo Boost 2.0, disponível na 4ª geração da família de processadores Intel Core) oferecem melhor desempenho e podem concluir tarefas com mais rapidez. A combinação de tecnologias permite o processamento simultâneo de múltiplos threads, adapta-se dinamicamente à carga de trabalho e desativa automaticamente os núcleos inativos. Isso aumenta a frequência do processador nos núcleos ocupados, fornecendo ainda mais desempenho para aplicações segmentadas.
Graças à tecnologia Intel HT, as empresas podem:
- Melhorar a produtividade executando mais tarefas simultaneamente sem reduzir a velocidade
- Fornecer tempos de resposta mais rápidos para aplicativos de Internet e comércio eletrônico, melhorando as experiências dos clientes
- Aumentar o número de transações que podem ser processadas ao mesmo tempo
- Utilizar as tecnologias dos aplicativos de 32 bits existentes enquanto mantêm a disponibilidade futura para 64 bits
Avaliando a prontidão do sistema
A Tecnologia Intel® HT está disponível em vários sistemas para notebooks, desktops, servidores e workstations. Procure sistemas que tenham o logotipo da Tecnologia Intel HT e confirme com o revendedor se o seu sistema utiliza a Tecnologia Intel HT.
Requisitos do sistema1
- Um processador com suporte para a Tecnologia Intel® HT
- Chipset habilitado para a Tecnologia Intel® HT
- BIOS de sistema habilitado para a Tecnologia Intel® HT
- Sistema operacional habilitado/otimizado para a Tecnologia Intel® HT
Ver os processadores compatíveis com a Tecnologia Intel® HT >