Pular para o conteúdo

64 bits (x86-64)

Referência de arquiteturaFeex

O x86-64 é a extensão de 64 bits da arquitetura de instruções x86. Ele define modos de execução, registradores e regras de endereçamento; ele não estabelece por si só os requisitos completos de CPU ou de sistema operacional de uma aplicação.

O que você precisa saber

O x86-64 é a extensão de 64 bits da arquitetura de instruções x86. Ele define modos de execução, registradores e regras de endereçamento; ele não estabelece por si só os requisitos completos de CPU ou de sistema operacional de uma aplicação.

Como funciona

No modo de 64 bits, registradores de uso geral podem conter operandos de 64 bits e a arquitetura fornece registradores adicionais e um ambiente de programação diferente do x86 de 32 bits legado. O modo de compatibilidade permite que um sistema operacional suporte aplicações legadas adequadas, mas o SO decide quais formatos de aplicação e interfaces ele fornece. Uma CPU de 64 bits não faz com que toda instrução use dados de 64 bits.

Onde é útil

Uma aplicação compilada para a ABI x86-64 espera o ambiente de registradores, convenção de chamada e instruções de linha de base dessa ABI. Um binário Arm64 é uma arquitetura diferente, embora ambos se descrevam como de 64 bits. Tradução ou emulação é um recurso de software separado, não uma consequência de possuir registradores de 64 bits.

Como verificar o suporte e a ativação

Para hardware x86, a função estendida de CPUID 80000001H, EDX bit 29 enumera a capacidade de modo longo. Um sistema operacional suportado deve habilitar o ambiente de paginação e execução apropriado. Inspecione a arquitetura do SO em execução, bem como a capacidade do processador.

Uma capacidade de hardware, o ambiente operacional em execução e os requisitos de binário de uma aplicação são camadas diferentes. Nomes de arquitetura e níveis de ABI devem ser interpretados como contratos explícitos, em vez de uma regra geral de que o mais recente é compatível.

O que o recurso não estabelece

O rótulo de 64 bits não estabelece a largura de endereço físico ou virtual implementada, o limite de RAM instalada, o suporte a x86-64-v2/v3/v4, a elegibilidade ao Windows ou a compatibilidade com um driver específico. Verifique cada requisito separadamente.

Compatibilidade e desempenho na prática

Verifique os requisitos herdados completos e o ambiente efetivo visível para o processo. Para uma VM, inspecione o convidado em vez de assumir que o modelo do host é exposto inalterado. Uma compilação de fallback suportada deve declarar sua própria linha de base claramente.

Uma lista de verificação prática de verificação

  1. Registre o modelo exato do processador ou da plataforma e as versões envolvidas do aplicativo, SO e runtime. Mantenha o texto exato do erro ou requisito.
  2. Consulte a referência do fabricante para esse modelo exato e, em seguida, inspecione a capacidade efetiva e o estado ativado no ambiente em que o programa é executado.
  3. Compare cada requisito do binário ou backend selecionado. Um recurso com nome semelhante, alias ou rótulo genérico de tecnologia não é suficiente.
  4. Confirme se o aplicativo selecionou a implementação pretendida. Use seus diagnósticos documentados e um fallback suportado quando os requisitos não forem atendidos.
  5. Faça uma alteração suportada por vez e repita a mesma carga de trabalho. Mantenha a configuração original e o caminho de recuperação disponíveis.

Se o recurso estiver listado, mas o software não puder usá-lo

Comece pelo componente exato com falha. Um banco de dados de hardware descreve a capacidade registrada; o sistema operacional ou o hipervisor pode expor um ambiente efetivo diferente. Um erro de instrução ilegal também precisa de investigação da instrução falha real e da compilação do binário, porque corrupção ou uma instrução não suportada não relacionada pode produzir um sintoma semelhante.

Instale a versão do aplicativo, driver ou runtime suportada para a plataforma exata e use a compilação de linha de base ou fallback documentada do fornecedor, se necessário. Uma atualização de software não pode criar uma instrução que o processador não possui. As alterações de firmware e de política de segurança devem seguir o procedimento do fabricante do sistema e um plano de recuperação em vez de uma receita genérica de otimização.

Fontes e escopo desta explicação

Intel 64 and IA-32 Architectures Software Developer's Manual · psABI x86-64: níveis de arquitetura e microarquitetura do processador

Essas referências estabelecem o comportamento arquitetural e os requisitos de software. Elas não verificam de forma independente cada valor de recurso em uma página de modelo de hardware vinculada. Para obter suporte a modelos, use a evidência do fabricante dessa página e verifique a configuração efetiva do sistema. Este artigo não fornece um benchmark, certificação ou data de análise independente.

Fontes e verificação

Propriedade editorial: Feex. Nenhuma data de revisão independente foi registrada. Como pesquisamos.

Este artigo foi útil?

Um sim ou não é suficiente. Escolha um motivo se desejar, ou adicione uma breve observação.

Este artigo foi útil?