32 bits x 64 bits
Se você vai a uma loja de informática para comprar um computador, o vendedor pode lhe oferecer dois tipos: um com um processador de 64 bits e outro com um processador de 32 bits. "O de 64 bits é mais caro, porém é muito mais rápido e tem melhor desempenho", lhe diz o vendedor. Isso significa que seus jogos rodarão mais rápidos, assim como programas pesados, como AutoCad, Premiere, entre outros, não? Talvez. Vejamos o porquê.
Quando nos referimos a processadores de 16 bits, 32 bits ou 64 bits estamos falando dos bits internos do chip - em poucas palavras, isso representa a quantidade de dados e instruções que o processador consegue trabalhar por vez. Por exemplo, com 16 bits um processador pode manipular um número de valor até 65.535. Se certo número tem valor 100.000, ele terá que fazer a operação em duas partes. No entanto, se um chip trabalha a 32 bits, ele pode manipular números de valor até 4.294.967.296 em uma única operação.
Para calcular esse limite, basta fazer 2 elevado à quantidade de bits internos do processador. Então, qual o limite de um processador de 64 bits? Vamos à conta:
2^64 = 1.84467441 × 10^19
Um valor extremamente alto!
Agora, suponha que você esteja utilizando um editor de textos. É improvável que esse programa chegue a utilizar valores grandes em suas operações. Neste caso, qual a diferença entre utilizar um processador de 32 bits ou 64 bits, sendo que o primeiro será suficiente? Como o editor utiliza valores suportáveis tanto pelos chips de 32 bits quanto pelos de 64 bits, as instruções relacionadas serão processadas ao mesmo tempo (considerando que ambos os chips tenham o mesmo clock).
Por outro lado, aplicações em 3D ou programas como AutoCad requerem boa capacidade para cálculo e aí um processador de 64 bits pode fazer diferença. Suponha que determinadas operações utilizem valores superiores a 4.294.967.296. Um processador de 32 bits terá que realizar cada etapa em duas vezes ou mais, dependendo do valor usado no cálculo. Todavia, um processador de 64 bits fará esse trabalho uma única vez em cada operação.
No entanto, há outros fatores a serem considerados. Um deles é o sistema operacional (SO). O funcionamento do computador está diretamente ligado à relação entre o sistema operacional e o hardware como um todo. O SO é desenvolvido de forma a aproveitar o máximo de recursos da plataforma para o qual é destinado. Assim, o Windows XP ou uma distribuição Linux com um kernel desenvolvido antes do surgimento de processadores de 64 bits são preparados para trabalhar a 32 bits, mas não a 64 bits.
A influência do sistema operacional
Ao se colocar um sistema operacional de 32 bits para rodar em um computador com processador de 64 bits, o primeiro não se adaptará automaticamente e continuará mantendo sua forma de trabalho. Com isso, é necessário o desenvolvimento de sistemas operacionais capazes de rodar a 64 bits.
O Desenvolvimento ou a adaptação de um sistema operacional para trabalhar a 64 bits não é tão trivial assim. Na verdade, é necessário que o SO seja compatível com um processador ou com uma linha de processadores, já que pode haver diferenças entre os tipos existentes. Em outras palavras, o sistema operacional precisa ser compatível com chips da AMD ou com chips da Intel. Se possível, com os dois.
No caso do Windows XP, a Microsoft disponibilizou a versão "Professional x64", compatível com os processadores AMD Athlon 64, AMD Opteron, Intel Xeon (com instruções EM64T) e Intel Pentium 4 (com instruções EM64T). De acordo com a Microsoft, a principal diferença entre essa e as versões de 32 bits (além da compatibilidade com instruções de 64 bits) é o suporte de até 128 GB de memória RAM e 16 TB de memória virtual. Nada mais natural: se a aplicação para o qual o computador é utilizado manipula grande quantidade de dados e valores, de nada adianta ter processamento de 64 bits, mas pouca memória, já que, grossamente falando, os dados teriam que "formar fila" para serem inseridos na memória, comprometendo o desempenho.
O mesmo ocorre com o Linux. Se você visitar o site de alguma distribuição para baixar uma versão do sistema operacional, muito provavelmente encontrará links que apontam para diversas versões. O site do Ubuntu Linux, por exemplo, oferece links para processadores x86 (32 bits), Mac (chips PowerPC) e 64-bit (processadores AMD64 ou EM64T).
Você pode ter se perguntado se é possível utilizar um sistema operacional de 32 bits com um processador de 64 bits e migrar o primeiro para uma versão adequada futuramente. Depende. O processador Intel Itanium é apelidado por alguns de "puro sangue", já que só executa aplicações de 64 bits. Assim, uma versão de 32 bits de um sistema operacional não roda nele. Por outro lado, processadores Athlon 64 são capazes de trabalhar tanto com aplicações de 32 bits quanto de 64 bits, o que o torna interessante para quem pretende usar um SO de 32 bits inicialmente e uma versão de 64 bits no futuro.
AMD64 e EM64T
Ao serem citadas anteriormente, você pode ter se perguntado o que significa as siglas AMD64 e EM64T:
AMD64: originalmente chamado de x86-64, AMD64 (ou AMD64 ISA - Instruction Set Architecture) é o nome da tecnologia de 64 bits desenvolvida pela AMD. Um de seus destaques é o suporte às instruções de 32 bits (Legacy Mode);
EM64T: sigla para Extended Memory 64-bit Technology, o EM64T é tido como a interpretação do AMD64 feita pela Intel. Devido a isso, recebeu de alguns a denominação iADMD64 (o "i" faz referência à primeira letra do nome da Intel).
A velocidade dos processadores alcançará um limite, por isso outras características devem ser consideradas para que um processador seja vantajoso em relação a outro, pelo menos até que uma nova tecnologia para esses chips surja (como os computadores quânticos). A arquitetura de 64 bits é um excelente exemplo disso. Fazer mais e melhor. Esse é o diferencial a partir de agora.