Recomendo o Blog: G.Vit®razzi Filmes™ - Filmes, Seriados & Shows. Clique no slide.

Pesquisar no blog

Mapa do Blog - Por Ordem de Postagem

O que significa X64 e X86? Ou Sistemas 64 bits e 32 bits?

Navegando pelos fóruns vejo que existem, ainda, vária dúvidas sobre as arquiteturas X64 e X86, assim como os sistemas 64 e 32 Bits.  
É por estas razões quando você baixa um determinado programa de 64 bits e a plataforma do seu sistema é de 32 bits, obviamente, não funcionará, sendo assim é importante saber a arquitetura do se processador ou o sistema que nele está rodando. Então resolvi postar os devidos esclarecimentos.

São termos que se referem à arquitetura do processador, sendo que a x64 é mais avançada, operando em 64 bits, já a x86 é mais atrasada, operando em 32 bits.

Explicando mais detalhadamente:

Tecnicamente um processador de 64bit garante maior poder de processamento, pois pode manipular o dobro de bits que um processador de 32bit pode manipular ao mesmo tempo. Alem disso, processadores de 64bit podem endereçar muito mais do que os 4Gb de memória que os processadores de 32bit endereçam. 

Vamos aos cálculos e aprenderemos a diferença física dos processadores 32 bit para os processadores 64 bit. Quando temos processadores de 32 bits ou 64 bits estamos falando dos bits internos que o processador possui, ou seja, representa a quantidade de instruções e dados que o processador consegue trabalhar simultaneamente. O processador de 32 bit pode manipular números de valor até 4.294.967.296 em uma única operação.

Se este o valor do número for superior ao mostrado acima, o processador terá de executar 2 operações, ou seja, mais tempo gasto. E os processadores de 64bit? Qual o número que ele poderá calcular em apenas 1 operação?

Para calcular esse limite, basta fazer 2 elevado à quantidade de bits internos do processador.

2^64 = 18.446.744.073.709.551.616 Somente isto!

Quanto as nomenclaturas

Como são 2 (Intel e Amd), os fabricantes de processadores lideres de mercados, vamos as nomenclaturas que cada um utiliza:

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).

Incompatibilidade entre Hardware e Drivers

Devido as diferenças de Hardware, o A64 e o x64 necessitam de versões binárias diferentes do sistema operacional. Drivers compilados para x64 são compatíveis com implementações AMD64 e Intel EM64T.


Trabalhando com aplicações 32-bits no Windows 64-bits

Como sabemos a maioria das aplicações foram compiladas para as plataformas de 32-bits (processadores e sistemas operacionais). Para permitir uma transição suave de 32 bit para o 64 bit, Microsoft, AMD e Intel desenvolveram produtos que trabalham com as 2 arquiteturas ao mesmo tempo, com desempenho igual ou superior aos sistemas executados sem emulação e total confiabilidade.

Para possibilitar o uso de aplicações 32-bits no Windows 64-bits é necessário o uso de uma camada de emulação x86, conhecida como WOW64 (Windows-On-Windows64). O sistema isola por completo as aplicações 32 bits e 64 bits, para que não ocorram conflitos entre arquivos ou no registro do Windows.

Modos de operação

Os processadores AMD64 e IA64T possuem 3 modos de operação diferentes:

Modo 32 bits: Ambos processadores AMD64 e EM64T atuarão exatamente como outros processadores compatíveis com IA-32 (32 bit) . É possível instalar um sistema operacional de 32 bits nestes sistemas e rodar programas 32 bits, entretanto, eles não serão capazes de fazer uso das novas funcionalidades exclusivas de 64 bits como endereçamento real de memória acima de 4GB ou dos registradores GPRs. Programas 32 bits irão rodar com a mesma velocidade que rodariam A maioria dos programas para A-32 poderão rodar até mesmo mais rápidos que nas próprias plataformas aproveitando outras características implementadas na plataforma x64 que aumentam o desempenho.

Modo de compatibilidade: É um modo intermediário do modo completo (full). Para rodar no modo de compatibilidade, é necessário instalar um sistema operacional de 64 bits com drivers de 64 bits. O modo de compatibilidade com um sistema operacional de 64 bits possibilita rodar programas de 32 bits sem modificações. Cada programa 32 bits deve estar limitado à no máximo 4 GB de memória física. Porém, este limite de 4 GB é imposto em um nível de pré-processo e não em um nível de sistema. Isso significa que cada processo de 32 bits neste sistema pode ter seu próprio bloco de memória de 4 GB de espaço de memória física (supondo que se tenha bastante memória física instalada). Isso é uma enorme vantagem comparada ao sistema A-32, onde o Kernel (núcleo) do sistema operacional e o programa têm que compartilhar os 4 GB de memória física. Este modo não suporta o antigo modo virtual 8086, apenas os programas que utilizam o modo-real e os de modo protegido de 16 bits podem rodar.

Modo completo (full) de 64 bits:
O último modo é o modo completo para 64 bits. A AMD se refere a este modo como "long mode” e a Intel trata como modo -32e. Este modo é ativado quando são executados programas de 64 bits em sistemas operacionais de 64 bits. Neste modo, um programa pode ter um espaço de endereçamento virtual de até 40 bits (cerca de 1 TB - terabyte - de memória endereçável). A quantidade de memória física será limitada pela quantidade de slots físicos de memórias. Programas que rodam no modo completo terão acesso à toda memória física instalada e às GPRs expandidas do sistema. Mas é importante entender que este modo de operação só estará ativo em um sistema operacional de 64 bits com drivers de 64 bits rodando programas de 64 bits.

Na arquitetura de 64 bit as versões Windows de 64 bit endereçam a memória RAM de maneira diferente. O sistema operacional é executado em endereços de memória acima de 32 bit (havendo memória RAM suficiente), permitindo que grandes blocos de memória RAM sejam disponibilizados para as aplicações sem a necessidade de compartilhamento do uso de memória.

Com esta arquitetura as aplicações podem receber blocos de 4GB de memória para endereçamento direto, reduzindo a paginação e permitindo que o desempenho das aplicações de 32 bit seja até superior nos sistemas x64 com Windows 64-bit, uma vez que além do melhor uso da memória RAM, o núcleo dos processadores x64 também executam instruções x86 diretamente.


Em síntese:

Na arquitetura x86 (32bits) roda o sistema operacional que tenha memória RAM de 3 a 4 GB nas máquinas (pc’s) e x64 (64bits) para máquinas com mais de 4 GB de RAM.

Se o seu sistema tiver arquitetura X86 baixe programas para rodarem na plataforma de 32 bits e, caso contrário se a arquitetura for X64 baixem para a plataforma 64 bits.

No próximo post: Saiba como identificar se a versão do seu Windows é de 32 ou 64 Bits.
 Até a próxima...

Nenhum comentário:

Postar um comentário

Comente, critique e/ou elogie. Mas, por favor, seja ético e educado. Somente assim serão exibidos os seus comentários. Obdo.