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

3

Ultimamente notei que meu antigo laptop (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 - os vídeos e aplicativos do Adobe Flash funcionam muito melhor. Os aplicativos do Centro de Software e do APT funcionam muito bem. Tudo funciona sem falhas em x64. Ventilador de refrigeração funciona muito menos (não resfriando o sistema o tempo todo, como no x32). Na versão x32 bit eu tive a sensação de que meu computador irá superaquecer. 2 semanas atrás minha bateria morreu quando eu corri a versão x32. Eu não sei, é por causa de superaquecimento ou coincidência. Ficou realmente quente e muito, muito lento. Estou rodando em CPU Dual-Core Celeron (R) T3000 @ 1.80GHz × 2 e chipset de vídeo Intel GMA45 (com 256MB de memória compartilhada). RAM - 4 GB. Ubuntu 11.10.

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

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

Obrigado!

    
por marchindeed 18.03.2012 / 01:23

4 respostas

-1

O SO de 64 bits funciona duas vezes mais rápido, se não mais, dependendo do hardware em que é executado. A passagem de 32 bits para 64 bits aumenta a capacidade do SO de processar grandes blocos de dados. Por isso, 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 acima de 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.

    
por Petronilla Escarabajo 18.03.2012 / 02:35
7

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

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

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

Dito isso, ainda tento usar os sistemas operacionais de 64 bits porque espero que o desempenho seja pelo menos um pouco melhor. Enquanto o tamanho dos registradores da CPU é dobrado, o mais possível é que o número de registradores aumente de oito em x86 para dezesseis no modo x86_64 de 64 bits. Isso permite que um compilador produza potencialmente um código mais rápido. Existem alguns desses ajustes de instruções que, embora provavelmente insignificantes em qualquer instância, podem ser adicionados quando usados em todo o sistema para um ganho de desempenho útil.

Há também pouca ou nenhuma perda de desempenho para programas compilados para x86 de 32 bits, já que eles podem ser executados no "modo de compatibilidade".

As pessoas geralmente fazem a generalização de que, se você tiver apenas 4 GB ou menos de memória, não haverá 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 é suficientemente diferente (IMO) no modo de 64 bits para preferir usar o sistema operacional de 64 bits se o seu hardware for compatível.

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

    
por irrational John 22.04.2012 / 21:58
2

Resumindo: mais registros operacionais estão disponíveis no modo x86_64 em comparação ao x86. Além disso, há um nome confuso x32 ABI que não é x86 (_32), mas sim uma mistura de x86_64 e x86 puro. E, BTW, o artigo que eu dei a você link tem boa explicação porque o x86_64 tende a ter um desempenho mais alto.

    
por poige 29.07.2013 / 08:34
1

Essa diferença extrema não é típica e não está relacionada a nenhuma vantagem geral do modo de 64 bits.

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

    
por poolie 24.10.2013 / 11:03