Com o mercado de games, arquitetura, design gráfico, audio e vídeo fervilhando há uns bons anos, houve a necessidade de expandirmos e aumentarmos a capacidade de processamento dos CPU’s atuais.
 
 
Como ? Bem, chegamos à um ponto onde não é mais tão simples aumentar o clock dos processadores, aumentando assim suas velocidades.

 
Alguns fatores como aquecimento dos chips e o preço de vários componentes fizeram com que os engenheiros tivessem de bolar uma nova estratégia para superar os limites mais uma vez: Dobrar a quantidade de bits que eles poderiam processar em um simples ciclo.
 
 
Os processadores de 32 bits são limitados a processarem valores inteiros de 0 à 4.294.967.295 – ou de (−2,147,483,648) a 2,147,483,647.
 
 
Agora imagine que você está digitando um simples script no seu editor de textos favorito. Impossível imaginar que o processador do seu computador teria de se utilizar de números maiores do que os citados acima para processar um ciclo, certo ?

 
Por outro lado, ao compilar grandes softwares usando o gcc, colaborar com o Folding@Home ou criptografar dados, números e cálculos estupidamente grandes seriam utilizados.

 
Nestes casos, a característica mais bacana dos processadores de 64 bits entra em ação: Ser capaz de processar números inteiros de 0 a 18.446.744.073.709.551.615.

 
O que isso significa ?

 
Bem, se para criptogravar o arquivo script.php meu processador tivesse de raciocinar um número maior do que 4.294.967.295, seriam necessário dois ciclos de processamento para fazer exclusivamente esta operação.

 
Num processador de 64 bits, apenas um ciclo bastaria, sobrando bastante para o Sistema Operacional processar o resto de suas atividades normais.

 
Mas isto não é tudo !

 
Sem um sistema operacional adequado à essas características, nada funcionaria bem.

 
Ele é o principal gargalo dessa história. Se tivermos, por exemplo, um Athlon X2 em nosso computador pessoal e instalarmos uma distribuição Linux de 32 bits nele, estaremos desprezando o total potencial deste equipamento, uma vez que o O.S. enviaria para o cérebro do computador apenas instruções possíveis de serem resolvidas por um CPU tradicional de 32 bits.

 
Existem também algumas formas de termos aplicações de 32 bits rodando sob uma plataforma de 64 bits. Apesar de não recomendável, isto se faz necessário algumas vezes por não existir uma versão especial do software que tenha sido reescrita para rodar com perfeição nos novos chips.

 
Assim teríamos o sistema rodando em todo o seu potencial, e esta aplicação ficaria no gargalo, provavelmente rodando mais lentamente do que todo o resto dos programas.

 
Atualmente temos uma vasta gama de processadores de 64 bits disponíveis, e [a menos que eu esteja enganado], a grande maioria do que encontramos no comércio – voltados para usuários domésticos e workstations, nada específico – são compatíveis com ambas as tecnologias.

 
Eu mesmo estou concluindo o final deste pequeno artigo num sistema operacional de 32 bits, rodando sob hardware de 64 bits ;]

 
A moral da história: O conceito mudou de “aumento de velocidade” para “capacidade de processamento”.

 
Chips de 64 bits não são necessáriamente mais rápidos (variando conforme a aplicação, já explicado acima) porém sem dúvida aguentam processar mais informações por ciclo – o que acaba gerando velocidade em situações de grande carga.

 
Um grande abraço a todos!

 

Sobre Jeremias Zerbini

Jeremias Zerbini escreveu 76 artigos neste blog.

27 anos, entusiasta de tecnologias opensouce, geek, adorava perder as partições do HD aos 15 anos instalando GNU/Linux. Gosta de video-games, e isso inclui instalar o Yellow Dog no PS3 novinho. Consultor autônomo na área de infra-estrutura de servidores, está sempre dedicando, quando possível, um tempinho extra para pesquisar sobre novas e melhores alternativas ao software proprietário [mas sem histeria].

Related Posts Plugin for WordPress, Blogger...

One Response to “32 ou 64 bits ? Entenda as diferenças”

Leave a Reply

O seu endereço de email não será publicado Campos obrigatórios são marcados *

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>