Para responder à pergunta original: Não houve necessidade de adicionar mais de 48 bits de PA.
Os servidores precisam da quantidade máxima de memória, então vamos tentar ir mais fundo.
1) A maior configuração de servidor (comumente usada) é um sistema de 8 soquetes. Um sistema 8S nada mais é do que 8 CPUs de servidor conectados por uma interconexão coerente de alta velocidade (ou simplesmente, um "barramento" de alta velocidade) para formar um único nó. Existem clusters maiores lá fora, mas eles são poucos e distantes entre si, estamos falando de configurações comumente usadas aqui. Observe que nos usos do mundo real, o sistema 2 Socket é um dos servidores mais comumente usados e o 8S é normalmente considerado de ponta.
2) Os principais tipos de memória usados pelos servidores são memória DRAM regular endereçável por byte (por exemplo, memória DDR3 / DDR4), memória IO mapeada - MMIO (como memória usada por uma placa adicional), bem como espaço de configuração usado para configurar os dispositivos que estão presentes no sistema. O primeiro tipo de memória é aquele que normalmente é o maior (e, portanto, precisa do maior número de bits de endereço). Alguns servidores de ponta também usam uma grande quantidade de MMIO, dependendo da configuração real do sistema.
3) Suponha que cada CPU do servidor possa hospedar 16 DIMMs DDR4 em cada slot. Com um tamanho máximo DDR4 DIMM de 256 GB. (Dependendo da versão do servidor, este número de DIMMs possíveis por soquete é na verdade menor que 16 DIMMs, mas continue lendo para o exemplo).
Portanto, cada soquete pode teoricamente ter 16 * 256 GB = 4096 GB = 4 TB. Para nosso sistema 8S de exemplo, o tamanho da DRAM pode ser no máximo 4 * 8 = 32 TB. Isso significa que o número máximo de bits necessários para endereçar este espaço DRAM é 45 (= log2 32 TB / log2 2).
Não entraremos em detalhes sobre os outros tipos de memória (MMIO, MMCFG etc), mas o ponto aqui é que o tipo de memória mais "exigente" para um sistema de 8 soquetes com os maiores tipos de DDR4 DIMMs disponíveis hoje (256 GB DIMMs) usam apenas 45 bits.
Para um sistema operacional que suporta 48 bits (WS16 por exemplo), existem (48-45 =) 3 bits restantes. O que significa que se usarmos os 45 bits inferiores apenas para 32 TB de DRAM, ainda teremos 2 ^ 3 vezes de memória endereçável que pode ser usada para MMIO / MMCFG para um total de 256 TB de espaço endereçável.
Portanto, para resumir: 1) 48 bits de endereço físico são muitos bits para suportar os maiores sistemas de hoje que estão "totalmente carregados" com grandes quantidades de DDR4 e também muitos outros dispositivos IO que exigem espaço de MMIO. 256 TB para ser exato.
Observe que este espaço de endereço de 256 TB (= 48 bits de endereço físico) NÃO inclui nenhuma unidade de disco como unidades SATA porque NÃO fazem parte do mapa de endereço, eles incluem apenas a memória endereçável por byte e é exposta ao sistema operacional.
2) O hardware da CPU pode optar por implementar 46, 48 ou> 48 bits dependendo da geração do servidor. Mas outro fator importante é quantos bits o sistema operacional reconhece. Hoje, o WS16 oferece suporte a endereços físicos de 48 bits (= 256 TB).
O que isso significa para o usuário é que, mesmo tendo uma CPU de servidor grande e ultramoderna que pode suportar> 48 bits de endereçamento, se você executar um sistema operacional que suporta apenas 48 bits de PA, então você só pode tirar proveito de 256 TB .
3) Em suma, existem dois fatores principais para tirar vantagem de um número maior de bits de endereço (= mais capacidade de memória).
a) Quantos bits seu HW de CPU suporta? (Isso pode ser determinado pela instrução CPUID em CPUs Intel).
b) Qual versão do sistema operacional você está executando e quantos bits de PA ele reconhece / suporta.
O mínimo de (a, b) determinará, em última instância, a quantidade de espaço endereçável da qual seu sistema pode aproveitar.
Escrevi esta resposta sem examinar as outras respostas em detalhes. Além disso, não mergulhei em detalhes nas nuances do MMIO, MMCFG e em toda a construção do mapa de endereços. Mas espero que isso ajude.
Obrigado, Anand K Enamandram, arquiteto de plataforma de servidor Intel Corporation