Share via


Large Memory Support: PAE (Physical Address Extension)

Retomando esta série de posts sobre Large Memory Support, hoje vamos abordar o PAE:

  • 4-Gigabyte Tuning (4GT)
  • Physical Address Extension (PAE)
  • Address Windowing Extensions (AWE)
  • Large-Page Support

Physical Address Extension

O PAE é uma funcionalidade dos processadores que permitem a um processador baseado na arquitectura x86 poder aceder a mais do que 4Gb de memória física (em sistemas Operativos Windows que o permitam). Algumas versões 32 bits Windows a executar em sistemas baseados na arquitectura x86, podem tirar partido do PAE para aceder até 64GB ou 128GB de memoria física, dependendo do tipo de processador.

As arquitecturas Intel Itanium e x64 podem aceder de uma forma nativa a mais de 4GB de memória física. Assim, o PAE apenas é usado em versões Windows 32 bits a executar em sistemas baseados na arquitectura x86.

De uma forma simplificada podemos dizer que com o PAE activo o tamanho das PTEs (page table entries) e PDEs (page directory entries) aumenta de 32 para 64 bits. Os bits adicionais permitem ao sistema operativo poder referenciar memória física para lá dos 4GB.

Nas versões Windows 32-bits executadas em sistemas baseados na arquitectura x64, o PAE também activa algumas funções avançadas de sistema e processamento, tais como:

  • hardware-enabled Data Execution Prevention (DEP)
  • non-uniform memory access (NUMA)
  • adicionar memoria a um sistema em execução (hot-add memory)

O PAE não altera o tamanho do espaço virtual disponível para os processos; dessa forma, cada processo 32-bits continua limitado aos 4GB de espaço de endereçamento virtual.

Suporte para o PAE

O PAE é suportado apenas nas seguintes versões 32-bits Windows a executar em sistemas baseados na arquitectura x86:

  • Windows 7 (apenas 32 bits)
  • Windows Server 2008 (apenas 32 bits)
  • Windows Vista (apenas 32 bits)
  • Windows Server 2003 (apenas 32 bits)
  • Windows XP (apenas 32 bits)
  • Windows 2000 Datacenter Server
  • Windows 2000 Advanced Server
Activar o PAE

O Windows activa automaticamente o PAE se detectar o DEP (Data Execution Prevention) activado numa máquina que suporte hardware-enabled DEP, ou se a máquina estiver configurada para dispositivos hot-add memory para endereçamentos para lá dos 4GB de memória. De outra forma o PAE terá de ser explicitamente activado.

Para explicitamente activar o PAE, pode-se usar o seguinte comando bcdedit e especificar a opção de boot pae:

bcdedit /set [{ID}] pae ForceEnable

Se o DEP estiver activo não se pode desactivar o PAE; usar o seguinte comando para desactivar o DEP e o PAE:

bcdedit /set [{ID}] nx AlwaysOff

bcdedit /set [{ID}] pae ForceDisable

Windows Server 2003 e Windows XP/2000:

  • Para activar o PAE, usar o switch /PAE no ficheiro Boot.ini
  • Para desactivar o PAE, usar o switch /NOPAE
  • Para desactivar o DEP, usar o switch /EXECUTE
PAE versus outras opções de Large Memory Support

PAE, 4-gigabyte tuning (4GT) e Address Windowing Extensions (AWE) servem diferentes propósitos e podem ser usados independente uns dos outos:

  • PAE - permite que o sistema operativo aceda a mais de 4 GB de memoria física.
  • 4GT – aumenta o espaço de endereçamento virtual disponível para um processo entre 2 a 3 GB.
  • AWE – conjunto de APIs que permitem a um processo alocar memoria física (nonpaged) e de uma forma dinâmica mapear estas porções de memoria em endereços virtuais do processo.

Quando não temos em uso o 4GT nem o AWE, o espaço de endereçamento virtual disponível para um processo 32 bits continua limitado a 2GB. No entanto, nesta situação um sistema que tenha activo o PAE pode aceder a mais que 4GB de memoria física para executar múltiplos processos simultaneamente ou fazer cache de informação em memória.

O 4GT pode ser usado com ou sem o PAE; no entanto, algumas versões do Windows limitam o máximo de memória física suportada quando o 4GT está em uso. Nesses sistemas, fazer boot com o 4GT activo indica ao sistema operativo para ignorar toda a memória física que esteja para lá do limite.

O AWE não necessita do PAE ou do 4GT mas é muitas vezes usado em simultâneo com o PAE afim de permitir que processos 32 bits possam alocar mais de 4GB de memória física.

AL