X86-64 (também conhecido como AMD64) é uma extensão de 64 bits para a arquitetura do conjunto de instruções X86 (ISA). Não é definido como uma coisa única, mas uma especificação que abrange vários aspectos -chave:
*
registros de 64 bits: A mudança mais proeminente de 32 bits x86 é a expansão de registros de uso geral de 32 bits (EAX, EBX, etc.) para 64 bits (Rax, RBX, etc.). Isso permite a manipulação direta de tipos e endereços maiores de dados.
*
endereço de 64 bits: O X86-64 suporta endereços virtuais de 64 bits, permitindo o acesso a uma memória significativamente mais que o X86 de 32 bits (que é limitado a 4 GB). Isso é crucial para sistemas operacionais modernos e aplicações que exigem grandes quantidades de RAM.
*
Conjunto de instruções estendidas: Ao manter a compatibilidade com versões anteriores com instruções x86 de 32 bits, o X86-64 adiciona novas instruções otimizadas para operações de 64 bits. Eles melhoram os recursos de desempenho e suporte, como estruturas de dados maiores.
*
Convenções de registro: A maneira como os registros são usados para fins diferentes (por exemplo, argumentos de função, valores de retorno, ponteiro de pilha) é definido na arquitetura x86-64. Essas convenções garantem comportamento consistente em diferentes implementações.
*
Gerenciamento de memória: A especificação descreve como o sistema gerencia a memória, incluindo mecanismos de memória virtual, paginação e proteção.
*
Chamadas do sistema: A maneira como os aplicativos interagem com o sistema operacional também é definida, fornecendo uma interface consistente para várias funções (como E/S de arquivo, operações de rede etc.).
Em essência, o X86-64 é uma especificação abrangente que define um ambiente completo de computação de 64 bits, mas se estendendo significativamente, a arquitetura x86 herdada. Não é um recurso de idioma único, mas uma base sobre a qual os sistemas operacionais, compiladores e aplicativos são criados. A implementação * * real dessa arquitetura é feita pelos fabricantes de hardware (como Intel e AMD).