Ampliando a arquitectura x86 a 64-bits
     
 

 

 

 

 

 


Olhando agora para a memória. Um processador x86 a 32bit está limitado a endereços de memória virtual de 32bit, que é no máximo 4GB, esse espaço tem que ser partilhado com o kernel do sistema operativo e todas as aplicações em execução.
Memória para além dos 4GB tem que ser acedida através de Physical Address Extensions, um sistema de paginação que não é tão eficiente como a memória física. E a tabela de paginação tem que ficar nos primeiros 4gb de endereço de memória, o quem põem um senão na sua escala. Por exemplo a maior parte das versões do Windows só pode usar PAE para oferecer 16GB de endereços de memória, isto porque a tabela de paginação fica muito grande para guardar nos primeiros 4GB.
Para resolver este problema, a arquitectura AMD64 introduziu um espaço de endereçamento de memória a 64bit onde as implementações podem suportar menos de 64bits de endereçamento. Isto dá 256 terabytes de endereçamento de memória, que podem ser acedidos directamente, sem paginação, por aplicações a 64bits.

A única limitação é que uma aplicação a 64bits tem que ser carregada por um SO a 64bits e que uma aplicação não pode misturar 32 e 64 bits, ou um ou outro. Claro que um SO a 64bits pode correr processos a 32 e 64bits ao mesmo tempo, e estes processos podem usar a estrutura de comunicação inter-processual para passar dados entres eles.

home
mais memória
mais registos

32 e 64 bits - tudo ao mesmo tempo

links