Para responder a la pregunta original: no era necesario agregar más de 48 bits de PA.
Los servidores necesitan la máxima cantidad de memoria, así que intentemos profundizar más.
1) La configuración de servidor más grande (de uso común) es un sistema de 8 sockets. Un sistema 8S no es más que 8 CPU de servidor conectadas por una interconexión coherente de alta velocidad (o simplemente, un "bus" de alta velocidad) para formar un solo nodo. Hay clústeres más grandes pero son pocos y distantes entre sí, estamos hablando de configuraciones de uso común aquí. Tenga en cuenta que en los usos del mundo real, el sistema 2 Socket es uno de los servidores más utilizados, y el 8S generalmente se considera de muy alto nivel.
2) Los principales tipos de memoria utilizados por los servidores son la memoria DRAM regular direccionable por bytes (p. Ej., Memoria DDR3 / DDR4), IO mapeada en memoria - MMIO (como la memoria utilizada por una tarjeta adicional), así como el espacio de configuración utilizado para configurar los dispositivos que están presentes en el sistema. El primer tipo de memoria es la que suele ser la más grande (y por lo tanto necesita la mayor cantidad de bits de dirección). Algunos servidores de gama alta también utilizan una gran cantidad de MMIO, dependiendo de cuál sea la configuración real del sistema.
3) Suponga que cada CPU de servidor puede albergar 16 DIMM DDR4 en cada ranura. Con un tamaño máximo DDR4 DIMM de 256GB. (Dependiendo de la versión del servidor, esta cantidad de DIMM posibles por socket es en realidad menor que 16 DIMM, pero continúe leyendo por el bien del ejemplo).
Entonces, cada zócalo puede tener teóricamente 16 * 256GB = 4096GB = 4 TB. Para nuestro ejemplo de sistema 8S, el tamaño de la DRAM puede ser un máximo de 4 * 8 = 32 TB. Esto significa que el número máximo de bits necesarios para direccionar este espacio DRAM es 45 (= log2 32TB / log2 2).
No entraremos en detalles de los otros tipos de memoria (MMIO, MMCFG, etc.), pero el punto aquí es que el tipo de memoria más "exigente" para un sistema de 8 sockets con los tipos más grandes de DIMM DDR4 disponibles en la actualidad (256 GB DIMM) utilizan solo 45 bits.
Para un sistema operativo que admite 48 bits (WS16 por ejemplo), hay (48-45 =) 3 bits restantes. Lo que significa que si usamos los 45 bits inferiores únicamente para 32 TB de DRAM, todavía tenemos 2 ^ 3 veces de memoria direccionable que se puede usar para MMIO / MMCFG para un total de 256 TB de espacio direccionable.
Entonces, para resumir: 1) 48 bits de dirección física son muchos bits para admitir los sistemas más grandes de hoy que están "completamente cargados" con copiosas cantidades de DDR4 y también muchos otros dispositivos IO que exigen espacio MMIO. 256 TB para ser exactos.
Tenga en cuenta que este espacio de direcciones de 256 TB (= 48 bits de dirección física) NO incluye unidades de disco como unidades SATA porque NO forman parte del mapa de direcciones, solo incluyen la memoria que es direccionable por bytes y está expuesta al sistema operativo.
2) El hardware de la CPU puede optar por implementar 46, 48 o> 48 bits dependiendo de la generación del servidor. Pero otro factor importante es cuántos bits reconoce el sistema operativo. Hoy en día, WS16 admite direcciones físicas de 48 bits (= 256 TB).
Lo que esto significa para el usuario es que, aunque uno tiene una CPU de servidor grande y ultramoderna que puede admitir> 48 bits de direccionamiento, si ejecuta un sistema operativo que solo admite 48 bits de PA, solo puede aprovechar 256 TB .
3) En general, hay dos factores principales para aprovechar un mayor número de bits de dirección (= más capacidad de memoria).
a) ¿Cuántos bits admite su CPU HW? (Esto se puede determinar mediante la instrucción CPUID en las CPU Intel).
b) Qué versión del sistema operativo está ejecutando y cuántos bits de PA reconoce / admite.
El mínimo de (a, b) determinará en última instancia la cantidad de espacio direccionable que su sistema puede aprovechar.
He escrito esta respuesta sin analizar las otras respuestas en detalle. Además, no he profundizado en los matices de MMIO, MMCFG y la totalidad de la construcción del mapa de direcciones. Pero espero que esto ayude.
Gracias, Anand K Enamandram, arquitecto de plataforma de servidor Intel Corporation