Ir ao conteúdo
  • Cadastre-se

Hyper Threading


Anchluss

Posts recomendados

Tecnologia Hyper-Threading da Intel: Super Performance?

No ano passado nos reportamos a tecnologia de Multi-Processamento Simultâneo nos processadores

da Intel. Embora ela tenha começado por trás do codinome Jackson Tecnology, a Intel revelou oficialmente

que sua tecnologia pelo menos segue a IDF. O codenome Jackson foi substituído por um que combina muito mais

com o assunto: Hyper-Threading. Mas antes de entender como o Hyper-Threading funciona você tem de

entender a base dele, como são os threads e como eles funcionam.

O que faz um programa funcionar? O que diz ao seu processador que instruções executar e quando?

Esta informação está contida no código compilado do programa que você está executando e e quando você dá

à ordem ao aplicativo, ele em partes manda threads para o seu processador dizendo o que fazer para atender ao

seu comando. Para o processador thread é um conjunto de instruções que devem ser executadas. Quando

você é atingido por um míssel no Quake 3 Arena ou clica para abrir o Word, ao processador é mandado

um conjundo de instruções para executar.

O processador sabe exatamente da onde conseguir estas instruções graças À um pequeno registro

conhecido como Contador de Programa [Program counter (PC)]. O PC indica a memoria onde a próxima

instrução a ser executada está armazenada; quando um thread é mandado ao processador; o endereço

dele na memória é carregado no PC então o processador sabe onde começar a processar. Depois cada instrução

é incrementada ao PC então o processo continua até o finaç do thread. Quando a execução de um thread

é terminada o PC é sobreescrito com a nova localização da instrução a ser executada. Threads podem

interromper uns aos outros forçando o processador a armazenar o valor atual do PC numa pilha e carregar

outro valor no mesmo. Mas há uma limitação, somente um thread pode ser executado por vez.

Há um modo fácil de contornar este problema; o uso de dois processadores. Se cada processador pode

executar um thread por vez, dois processadores podem executar dois de uma só vez. Porém há vários

problemas nesta solução, muitos dos quais você já deve estar familiatizado. Para iniciantes, vários processadores

são mais caros que apenas um. Há maiores problemas associados a administração de dois processadores

como dividir os recursos entre eles. Por exemplo, até o lançamento do chipset 760MP da AMD, todas

as plataformas x86 com suporte a multiprocessamento dividiam a largura de banda do FSB entre todos

os processadores disponíveis. Mas o maior impecílio de todos é o fato de os aplicativos e o sistema

operacional devem ser capazes de suportar este tipo de processamento. Ser capaz de despachar multiplas

execuções de thread ao hardware é genéricamente conhecido como Multi-Threading; É necessário que o

processador suporte esta tecnologia para ativá-la assim como programas otimizados para tirar proveito

do aumento de desempenho causado por sistemas de multi processamento(na maioria dos casos). Sendo capaz de entender

isto você será capaz de entender a chave do assunto; a capacidade de executar várias coisas ao

mesmo tempo - é hora de entrarmos na tecnologia Hyper-Threading.

Veja, nós somos ineficientes.

O termo eficiência sempre foi sondado, não só no meio corporativo como em nossa vida diária. Há

boatos de o ser o humano apenas usar uma fração da capacidade total de seus cérebros bom o mesmo

pode ser dito sobre os processadores.

Pegue o Pentium 4 por exemplo, a CPU tem um total de 7 unidades de execução,

duas delas podem operar em duas operações (micro-ops) por clock (estes são "não entendi"). E se

fossem mesmo possível, você não iria ser capaz de encontrar programa que saturasse todas essas unidades

de execução. O programa de desktop mais frequentemente usado executará um punhado de calculos

de inteiros assim como instruções de load/Store mas deixa as unidades de ponto flutuante

intocadas e também deixa as Unidades Lógica e Aritimética (ULAs) sem uso.

Mesmo aplicações que primeiramente utilizam operações de inteiros não irão

saturar todas as ULAs, especialmente a velocidade "lenta" ou normal da unidade

de inteiro a qual é primeiramente usada para executar saltos e rotações.

Para demonstrarmos melhor vamos criar um processador hipotético com 3 unidades de execução. um ALU, um FPU e uma unidade

Load/Store para leitura/gravação na memória. Digamos que nosso processador possa executar qualquer

operação em um pulso de clock e pode mandar operações para as 3 unidades de execução simultâneamente. Agora daremos a ele

um thread que consiste das seguintes instruções:

1+1

10+1

Armazenar resultado anterior

O diagrama abaixo demostrará o grau de saturação das unidades de execução (cinza indica uma unidade de execução

inativa e azul uma unidade de execução ativa).

<div class='bbimg'>%7Boption%7Dhttp://images.anandtech.com/reviews/cpu/intel/hyperthreading/cpu1-thread1.gif' border='0' alt='Imagem postada pelo usuário' /></div>

Como você pode ver, durante todo o clock apenas 33 % das unidades de execução foram usadas. Durante

este tempo o FPU fica completamente inativo. Segundo a Intel, a maioria dos programas baseados no

x86 utilizam apenas 35% das unidades de execução do Pentium 4.

Daremos ao processador outro thread e mandaremos à sua unidade de execução, desta vez será um ADD,

um load e um store.

<div class='bbimg'>%7Boption%7Dhttp://images.anandtech.com/reviews/cpu/intel/hyperthreading/cpu2-thread2.gif' border='0' alt='Imagem postada pelo usuário' /></div>

De novo os mesmos 33 % de utilização das unidades de execução.

O tipo de paralelo que nós estamos tentando atingir aqui é conhecido como instruction

level parallelism (ILP) "instrução de nível paralelo" que consiste em múltiplas instruções

serem executadas simultâneamente por causa de uma habilidade do processador em introduzir múltiplas instruções

de paralelo na unidade de execução. Infelizmente a realidade da maioria dos programas para x86

não há tanto ILP quanto gostariámos então temos de encontrar outra solução para aumentar a performance.

Por exemplo, se tivessemos dois desses processadores em nosso sistema então dois threads poderiam ser

executados ao mesmo tempo. Esta façanha é conhecida como thread-level parallelism (TLP) mas é uma

solucão cara para aumentar a performance.

Mas que outras opções existem para fazer melhor uso do poder de fogo dos processadores x86 atuais?

Introdução ao Hyper-Threading.

Há muitas razões para as unidades de execução não serem sempre utilizadas. Se o processador não é

capaz de conseguir dados tão rápido quanto as suas necessidade (resultado do gargalo do FSB ou da memória) então

você verá uma queda de desempenho na unidade de execução. Outra razão, da qual este artigo trata é

a falta do ILP na maioria das unidades de execução.

Atualmente a maneira mais usada pelos fabricantes de processadores para aumentar o desempenho dos

mesmos é aumentando o clock e a cache do processador. No caso do nosso processador fictício nós aumnetariamos

o desempenho desta forma mas ainda não estáriamos usando o desempenho total do processador. Se houvesse

uma maneira de executar múltiplos threads de uma vez nós poderíamos fazer melhor uso dos recursos do

processador; Isto é exatamente o que a tecnologia Hyper-Threading faz.

Hyper-Threading é o nome de uma tecnologia que vem sido rondada na plataforma x86 há algum tempo,

Simultaneous Multi-Threading (SMT) "Multi-Processamento Simultâneo" O conceito SMT é simples, o processador físico

aparece para o sistema operacional como dois lógicos mas o sistema operacional não vê nenhuma diferença

entre os sistemas SMT e um sistema dual regular. Em ambos os casos o sistema operacional manda

ao processador duas tarefas aos "dois" processadores e o hardware pega dai para frente.

<div class='bbimg'>%7Boption%7Dhttp://images.anandtech.com/reviews/cpu/intel/hyperthreading/hyperthreadslide.gif' border='0' alt='Imagem postada pelo usuário' /></div>

Em um processador com o HT ativado, cada processador tem seu próprio conjunto de registros (incluindo um PC separado)

mas para minimizar a complexidade desta tecnologia, o HT não procura/converte as instruções correspondentes

as duas tarefas. Ao invés disso, o processador irá alternar o procura/converte entre os dois processadores

lógicos e só tenta executar duas tarefas simultâneamente depois de endereçar o problema da precária utilização da unidade de execução.

O HT foi oficialmente anunciado no fórum de desenvolvedores da Intel no último Outono e foi demonstrado

num Xeon que executava uma renderização de imagem. Naquele teste o Xeon com HT ativado foi 30% mais

rápido que um Xeon normal. Os benefícios a performance foram realmente impressionantes porém mais

impressionante ainda era o fato não-revelado de que o HT estava presente em todos os núcleos de Xeon

e P4; simplesmente desabilitado.

A tecnologia ainda não estava completamente depurada porém aqueles que tinham comprado um processador

desses e depois do anúncio oficial fizeram o upgrade de BIOS tiveram antes do lançamento e depois deste

fizeram um upgrade de BIOS tiveram um surpresa interessante com uma nova função: habilitar/desabilitar o HT.

Por enquanto, a Intel vai manter o HT desativado de fábrica mas a única coisa necessária para ativa-lo

é uma opção na BIOS para isto. Isto é apenas para o lado corporativo da moeda para o lado doméstico

não há nada oficial para o futuro próximo mas os fabricantes de BIOS podem habitar esta opção extra-ofialmente

em uma edição especial.

Mas a questão é porque a Intel iria querer este recurso de aumento de desempenho tão bom desativado?

Entendendo o Hyper-Threading: Não estamos num mundo perfeito

Lembra aqueles dois threads do nosso outro exemplo? Agora vamos assumir que o nosso único CPU

possui a tecnologia Hyper-Threading da Intel e vamos ver o que acontece quando nós tentamos

executar os dois threads simultaneamente:

<div class='bbimg'>%7Boption%7Dhttp://images.anandtech.com/reviews/cpu/intel/hyperthreading/smtcpu-2threads.gif' border='0' alt='Imagem postada pelo usuário' /></div>

Assim como antes, quadrados azuis indicam que uma instrução do thread 1 está sendo executada,

enquanto quadrados verdes indicam que uma instrução do thread 2 está sendo executada.

Quadrados cinzas indicam uma unidade de execução não utilizada, enquanto quadrados vermelhos

indicam um conflito em que duas instruções estão tentando alimentar a mesma unidade de execução.

De repente nossa aventura em busca de TLP (tender love and parallelism, amor tenro e paralelismo)

foi recompensada com menos utilização de nossos recursos de execução. Em vez de conseguirmos

executar ambos os threads em paralelo, nosso CPU agora executa ambos os threads muito mais

lentamente do que um processador sem Hyper-Threading. O motivo por trás disso é muito simples;

nós estávamos tentando executar dois threads similares simultaneamente, ambos consistem de ADDs,

carregamentos e armazenamentos. Se nós tivéssemos rodado uma aplicação de ponto flutuante

intensivo ao lado de qualquer aplicação de números inteiros que utilizamos, então estaríamos

em uma situação muito melhor. A questão real é, qual é a maneira mais característica pela qual

utilizamos nossos PCs?

Atualmente, a maneira pela qual a maioria dos usuários de desktop utilizam seus PCs é muito

parecida com o exemplo que demos no início dessa seção, na qual o CPU recebe operações muito

similares para executar. A realidade infeliz aqui é que com operações muito similares há

despesas adicionais em gerenciar e lidar com o que acontece quando você fica sem um tipo de

unidade de execução e tem mais que o dobro de instruções necessitando seu uso.

Na maioria dos casos, se você pudesse ativar Hyper-Threading em um PC desktop, você não veria

aumento de desempenho, e sim uma diminuição de 0 a 10% de desempenho.

Em uma workstation há mais potencial para o Hyper-Threading resultar em um aumento geral de

desempenho, mas o termo workstation é tão largo que pode significar tudo entre um sistema

high-end de renderização 3D e um PC desktop pesadamente utilizado.

A área em que os ganhos de performance são mais possíveis hoje é sob aplicações de servidor por

causa da mais variada natureza de operações enviadas ao CPU. Aplicações transacionais de servidor

banco-de-dados podem ver um aumento de 20 a 30% no desempenho apenas por ativar o Hyper-Threading.

Ganhos menores, porém tangíveis, podem ser vistos em servidores web, assim como em outras áreas

de aplicação.

Ganhando mais do Hyper-Threading

A Intel criou o Hyper-Threading apenas para sua linha de CPUs para servidores? É claro que não,

eles não teriam desperdiçado espaço adicional algum no die do resto de seus CPUs se esse fosse o

caso. De fato, a arquitetura NetBurst por trás dos processadores Pentium 4 e Xeon é na verdade

perfeita para um núcleo com SMT ativo. Vamos pegar nosso CPU teórico para um último teste; desta

vez vamos dá-lo mais uma unidade de execução, uma segunda ALU e vamos ver o que acontece quando

rodamos dois threads nele:

<div class='bbimg'>%7Boption%7Dhttp://images.anandtech.com/reviews/cpu/intel/hyperthreading/smtcpu-2alus.gif' border='0' alt='Imagem postada pelo usuário' /></div>

Voila! Com uma segunda ALU o único conflito que temos é aquele último armazenamento (store).

Nosso CPU deve começar a lembrá-lo de um Pentium 4 que parece ter três unidades de números

inteiros (dois ALUs e uma unidade mais lenta para deslocamentos/giros). Até mais importante é o

fato de que os dois ALUs do Pentium 4 podem executar 2 micro-ops por clock cada, significando

que duas instruções ADD cada uma de dois threads diferentes poderia executar em um único clock

no Pentium 4/Xeon.

Mas isso ainda não resolve nosso problema; não faria muito sentido manter o CPU vestido com

mais e mais unidades de execução só para ganhar um benefício de desempenho com Hyper-Threading

ativado; isso seria muito caro do ponto de vista do die. Em vez disso, a Intel está encorajando

a otimização para Hyper-Threading aos desenvolvedores.

Utilizando a instrução HALT é possível parar um dos processadores lógicos, maximizando assim a

performance em aplicações que não se beneficiam do Hyper-Threading. Então, em vez de uma

aplicação ficar mais lenta com Hyper-Threading ativado, um dos CPUs lógicos seria simplesmente

desligado e a performance seria equivalente a um sistema com um único CPU. Em seguida, quando um

aplicativo ou tarefa que pode se beneficiar do Hyper-Threading vier, o segundo processador lógico

começará a operar.

A Intel tem uma apresentação muito útil de exatamente como os desenvolvedores podem programar

com o Hyper-Threading em mente em seu Developer website.

Conclusão

Embora nós todos tenhamos ficado extremamente animados quando rumores de que Hyper-Threading

estava em todos os núcleos de Pentium 4/Xeon atuais apareceram, não será o desempenho gratuito

pelo qual todos nós esperávamos. Os motivos são simples e a tecnologia tem um longo caminho

a percorrer antes de podermos vê-la e tirar vantagem dela em todas as plataformas, incluindo

desktops, mas o suporte de desenvolvedores pode definitivamente virar um aliado muito poderoso

do Pentium 4, Xeon e a geração futura de processadores Intel.

Devido à tecnologia e às limitações atuais de volume, o Hyper-Threading faz muito mais sentido

para o mercado de massa do que uma solução de dois núcleos como a que os rumores dizem a AMD

considerar para os CPUs SledgeHammer high-end. Até tecnologias como Bumpless Build-Up Layer

packaging (volume de Camadas Construídas sem Inchaço) serem aperfeiçoadas, os custos associados

com a produção de um CPU de múltiplos núcleos pode ser muito alto para mais do que uma porção

muito pequena do mercado.

É interessante notar como a AMD e a Intel ficaram diferentes através dos anos. Dos dias de

produzir essencialmente clones de CPUs Intel a tomar uma solução drasticamente diferente para o

futuro dos CPUs de workstation e servidor, a AMD veio de um caminho muito longo de fato.

Se os CPUs SledgeHammer high-end acabarem possuindo dois núcleos, prometerão desempenho muito

superior do que o Hyper-Threading pode oferecer por causa do fato que haverá o dobro de unidades

de execução, evitando assim alguns dos problemas que endereçamos hoje. Novamente, a grande

desvantagem sendo a produção de tal chip; nós explicamos no passado os perigos de fabricar CPUs

complicados.

O Hyper-Threading estará ausente do mercado desktop por um tempo, mas dados os apropriados

suportes de desenvolvedores, ele pode facilmente tornar-se ainda outra tecnologia que faz seu

caminho para baixo do nível servidor ao nível desktop.

Link para o artigo original =>: :xmas:

Traduzido do Anandtech por Shadowwarrior e Smartwarthog.

Link para o comentário
Compartilhar em outros sites

  • mês depois...

Oi pessoal.

Li o tópico mais fiquei com dúvidas. Não entendi direito mesmo depois de ler várias vezes. Afinal, vale à pena comprar um Pentium 4 2.8 com HT? o desempenho dele seria em porcentagem quanto superior a um Pentium 4 2.8 sem HT? Vi no site Clube do Hardware alguns testes e comentários dizendo que essa tecnologia aumenta o desempenho do Processador. Só gostaria de saber em quantos porcento. Depois de ler esse tópico, fiquei na dúvida se ela é mesmo eficaz...

Um abraço a todos :-BEER

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois...
Postado Originalmente por |hAWK|@28 abr 2004, 02:36

Porque a AMD não põem essa tecnologia em seus processadores? hehehehehe

É só o que falta pra bater de vez a Intel.

hauahauhauhaahauahauhauhaauh

A AMD tem outra tecnologia, que se não me engano é usada nos processadores Opteron e futuramente vai ser usado (ou já é usado) nos Atlhon 64 e 64 FX, chamada HyperTransport, que, segundo a AMD, é muito mais eficiente que o HyperThreading..! B)

Link para o comentário
Compartilhar em outros sites

Aí Doddy, melhora em + ou - 30% no desempenho, ou seja, Pentium 4 sem HT é uma #####...

Ai Ganza será que o Hyper Transport é realmente melhor q o hyper trheading,

pois a AMD diz q com esse HTransport o Athlon 64 transfere 6400Mb/s, o que não é verdade... Fica + ou - a 4Mb/s eu acho...

Link para o comentário
Compartilhar em outros sites

Não, Não!! O Hyper Threading aumenta em no máximo 15 % o desempenho.

O Hyper Transport é a tecnologia da AMD que faz com que o processador se comunique com a memória e ao mesmo tempo com os periféricos atráves de dois canais, ou seja se cada canal permite vazão de 3200 MB/s os dois permitem 6400 MB/s :D .

Link para o comentário
Compartilhar em outros sites

Puts que comparação xoxa... É exatamente assim que é medido o HT...

A taxa de tranferencia com o HT é 6400 Mb/s e está limitada apenas a memória RAM atual (DDR400), quanto mais alto for o clock da RAM mais rápido é o HT... Se você comprar (DDR500) terá 8 GB por segundo. ;)

Link para o comentário
Compartilhar em outros sites

Minha comparação tem sentido sim, raciocina...

"A taxa de tranferencia com o HT é 6400 Mb/s e está limitada apenas a memória RAM atual (DDR400), quanto mais alto for o clock da RAM mais rápido é o HT... Se você comprar (DDR500) terá 8 GB por segundo. "

Quanto a isso q você citou, não tem nada a ver, ta viajando na maionese...

você nunca ouviu falar em Dual Channel???

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por |hAWK|@23 maio 2004, 07:04

Minha comparação tem sentido sim, raciocina...

"A taxa de tranferencia com o HT é 6400 Mb/s e está limitada apenas a memória RAM atual (DDR400), quanto mais alto for o clock da RAM mais rápido é o HT... Se você comprar (DDR500) terá 8 GB por segundo.  "

Quanto a isso q você citou, não tem nada a ver, ta viajando na maionese...

você nunca ouviu falar em Dual Channel???

hawk, eu entendi o q você quis dizer..

e concordo, q muitas vezes o q eles dizem, na prática não é a mesma coisa..!

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por |hAWK|@23 maio 2004, 06:00

Eu sei q o HTransport é isso, mas dizer q transfere 6400Mb/s sh porque tem um caminho de ida e outro de volta é a mesma coisa q eu dizer q uma rodovia a velocidade máxima permitida é de 180Km/h só porque é 90Km de ida e 90Km de volta... <_<

O exemplo que você deu esta errado!

não é um caminho de ida e outro de volta e ponto final, pois você pode "descer" pelos dois, ou "subir pelos dois também!

Por isso dizer que é 6400 Mb/s...

Por exemplo

A grosso modo, enquanto um canal envia dados a memoria, outro envia dados aos perifericos...

Se fosse um PIV, primeiro teria que enviar os dados a memoria, para dps enviar dados aos perifericos...

falou

Link para o comentário
Compartilhar em outros sites

aí é q ta Dornel...

Vê se você me entende (athlon tem dois canais né um q vai e outro q vem dados da memoria RAM, não é... tá, mas primeiro oprocessador tem q enviar os dados pra RAM pra depois ter retorno... Dai q eu digo q não é como se fosse 6400Mb/s... Poderia até ser assim, quando chegou o 1º Byte na RAM esse mesmo Byte já é executado e já é mandado de volta para o processador pelo canal de "vinda", enquanto q o resto dos bytes estão vindo... O que no pentium 4 não seria possivel, pois teria q esperar vir todos os dados para depois manda-los de volta, mas o problema é q o athlon 64 (não sei porque :tantan: ) ainda opera a 400MHz, nem o dual channel não suporta :muro: )

Bom é + ouo - isso e me corrijam se postei algo q não tenha nada a ver... :bandeira:

Link para o comentário
Compartilhar em outros sites

Processadores comuns não executam threads simultaneamente. Eles dividem seu tempo em pequenas frações de alguns milésimos de segundo e executam um pouco de cada processo. Antes de passar de um processo para outro, o processador perde um pouco de tempo fazendo o que chamamos de salva e restauração de contexto. Ele guarda na memória o seu estado atual para que possa depois voltar ao processo interrompido exatamente do ponto onde parou. É como se você estivesse trabalhando e parasse para atender um telefonema. Depois de desligar o telefone, você pensa “...onde foi mesmo que parei?”. Você tentará (e normalmente conseguirá) lembrar onde parou, graças à sua memória, mas perderá um tempo até engrenar novamente.

Processadores com HT são mais eficientes na execução de processos em paralelo. Comportam-se internamente como dois processadores. Um processo de alta prioridade pode ser continuamente executado por uma seção, enquanto a outra seção executa outros processos. É possível usar por exemplo, dois programas “pesados” ao mesmo tempo, com mínima interferência entre os dois. Algumas partes do processador com HT são compartilhadas pelas duas seções, como as caches L1 e L2. Fora isso, o funcionamento é como o de um processador dual. Os engenheiros da Intel explicaram que é possível, por exemplo, gravar um CD ao mesmo tempo em que são executados outros programas, sem correr o risco de perda de mídia. É possível usar um jogo pesado ou soft DVD player, ao mesmo tempo em que é feita a conversão de um CD para MP3.

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por |hAWK|@01 jun 2004, 14:17

Mas não tras la grandes vantagens em relação ao preço que você paga a mais...

B) É o que eu digo se você quer preço compre AMD certo.....éo que eu recomendo a todo mundo...mas se você quer algo de diferente paga-se um preço por isso.

sendo assim vai da precisào e da escolha de cada um.

mas uma coisa eu te digo depois que você usar processadores com ht você não comprara mais processadores comuns(independente de marca)..... :goff:

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

O exemplo que você deu esta errado!

não é um caminho de ida e outro de volta e ponto final, pois você pode "descer" pelos dois, ou "subir pelos dois tambén!

Por isso dizer que é 6400 Mb/s...

Por exemplo

A grosso modo, enquanto um canal envia dados a memoria, outro envia dados aos perifericos...

Se fosse um PIV, primeiro teria que enviar os dados a memoria, para dps enviar dados aos perifericos...

Isso que você citou é o controlador de memória e não Hyper Transport...

Link para o comentário
Compartilhar em outros sites

(Marcosbsb Postado em 25 jun 2004, 10:39)

 

Pessoal, lendo esse tópico fiquei com uma dúvida...

Usando o P4 com HT posso usar qualquer programa/aplicativo que uso com um P4 Sem HT? Ele tem incompatibilidade com programas??

No aguardo, obrigado!! 

Incompatibilidade alguma, quanto a isso não se preocupe, você só vai notar um aumento de desemepnho, mas você deve saber né q para q o HT seja utilizado você tem q estar com o WinXP, se tiver com o Win98 terá um Pentium 4 normal igual aos outros sem HT...

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!