Por que a versão x64 bits é muito mais rápida que a x32?

Por que a versão x64 bits é muito mais rápida que a x32?

Ultimamente notei que meu laptop antigo (Toshiba Satellite L500-1DT) funciona melhor com a versão Ubuntu baseada em x64 do que com x32. Bem, com mais rapidez, eu quis dizer - vídeos e aplicativos do Adobe Flash funcionam muito melhor. Os aplicativos Software Center e APT funcionam perfeitamente. Tudo funciona perfeitamente em x64. A ventoinha de resfriamento funciona muito menos (não resfria o sistema o tempo todo, como no x32). Na versão x32 bits tive a sensação de que meu computador iria superaquecer. 2 semanas atrás, minha bateria acabou quando executei a versão x32. Não sei, foi por superaquecimento ou coincidência. Ficou MUITO quente e muito lento. Estou executando um CPU Celeron (R) Dual-Core T3000 @ 1,80 GHz × 2 e chipset de vídeo Intel GMA45 (com 256 MB de memória compartilhada). RAM - 4 GB. Ubuntu 11.10.

Este não é o único caso e a única máquina que descobri que o x64 funciona MUITO melhor do que a chamada "versão recomendada de 32 bits". Estou muito curioso sobre isso e gostaria de saber a resposta de uma vez por todas.

Por favor, explique isso para mim ou me guie com um link.

Obrigado !

Responder1

Uh, "duas vezes mais rápido, se não mais, dependendo do hardware em que é executado"?? Ah, se o mundo funcionasse assim.

Por exemplo, dê uma olhada neste artigo:Ubuntu 12.04 LTS: desempenho de 32 bits versus 64 bits. Embora alguns dos benchmarks sintéticos mostrem ganhos drásticos de desempenho, há também muitos que mostram ganhos apenas pequenos (10% a 30%), nenhum ganho ou até mesmo uma diminuição de desempenho. E esses são apenas benchmarks sintéticos que geralmente não fornecem informações úteis sobre qual será o desempenho do sistema ao fazer algo diferente da execução de benchmarks.

O desempenho do sistema é muito influenciado pelos gargalos do "sistema" e você não pode fazer generalizações abrangentes, como o dobro dos bits implica o dobro do desempenho.

Dito isto, ainda tento usar os sistemas operacionais de 64 bits porque espero que o desempenho seja pelo menos um pouco melhor. Embora o tamanho dos registros da CPU seja duplicado, o que é mais importante é que o número de registros aumente de oito em x86 para dezesseis no modo x86_64 de 64 bits. Isso permite que um compilador produza código potencialmente mais rápido. Existem vários dessesajustes de instruçãoque, embora provavelmente insignificante em qualquer instância, pode resultar em um ganho útil de desempenho quando usado em todo o sistema.

Também há pouca ou nenhuma perda de desempenho para programas compilados para x86 de 32 bits, uma vez que eles podem ser executados no "modo de compatibilidade".

As pessoas costumam generalizar que se você tiver apenas 4 GB ou menos de memória, não há diferença entre 32 bits e 64 bits e, portanto, não há razão para usar a versão de 64 bits. Isto simplesmente não é verdade. A arquitetura de instruções da CPU é diferente o suficiente (IMO) no modo de 64 bits para preferir usar o sistema operacional de 64 bits se o seu hardware suportar.

Afinal, você não gostaria de executar sua CPU de 32 bits no modo de 16 bits, não é? :-)

Responder2

Resumindo: mais registros operacionais estão disponíveis no modo x86_64 em comparação ao x86. Além disso, há um nome confusox32ABI que não é x86(_32), mas sim uma mistura de x86_64 e x86 puro. E, aliás, o artigo para o qual dei o link tem uma boa explicação de por que x86_64 tende a ter desempenho superior.

Responder3

Essa diferença extrema não é típica e não está realmente relacionada a quaisquer vantagens gerais do modo de 64 bits.

Suspeito que você esteja vendo algum tipo de bug relacionado ao seu hardware ou um bug no firmware do seu dispositivo que é acionado pelo kernel de 32 bits do Ubuntu.

Responder4

O sistema operacional de 64 bits opera duas vezes mais rápido, se não mais, dependendo do hardware em que é executado. Passar de 32 bits para 64 bits aumenta a capacidade do sistema operacional de processar blocos maiores de dados. Portanto, ele opera muito mais rápido. Além disso, o sistema operacional de 64 bits usará mais memória do que um sistema operacional de 32 bits. Um registrador de 64 bits pode armazenar 2 64 = 18446744073709551616 valores diferentes, um número superior a 18 quintilhões. No momento, os processadores x86-64 usam 48 linhas de endereço físico; portanto, um processador com endereços de memória de 64 bits pode acessar diretamente 264 terabytes de memória endereçável por byte.

informação relacionada