Pour répondre à la question initiale: il n'était pas nécessaire d'ajouter plus de 48 bits de PA.
Les serveurs ont besoin de la quantité maximale de mémoire, alors essayons de creuser plus profondément.
1) La configuration de serveur la plus importante (couramment utilisée) est un système à 8 sockets. Un système 8S n'est rien d'autre que 8 CPU serveurs connectés par une interconnexion cohérente à grande vitesse (ou simplement, un «bus» à grande vitesse) pour former un seul nœud. Il existe des clusters plus importants, mais ils sont rares, nous parlons ici de configurations couramment utilisées. Notez que dans les utilisations du monde réel, le système 2 Socket est l'un des serveurs les plus couramment utilisés et 8S est généralement considéré comme très haut de gamme.
2) Les principaux types de mémoire utilisés par les serveurs sont la mémoire DRAM ordinaire adressable par octets (par exemple, la mémoire DDR3 / DDR4), la mémoire mappée IO - MMIO (comme la mémoire utilisée par une carte d'extension), ainsi que l'espace de configuration utilisé pour configurer les périphériques présents dans le système. Le premier type de mémoire est celui qui est généralement le plus grand (et a donc besoin du plus grand nombre de bits d'adresse). Certains serveurs haut de gamme utilisent également une grande quantité de MMIO en fonction de la configuration réelle du système.
3) Supposons que chaque processeur de serveur peut héberger 16 modules DIMM DDR4 dans chaque emplacement. Avec une taille maximale de DIMM DDR4 de 256 Go. (Selon la version du serveur, ce nombre de DIMM possibles par socket est en fait inférieur à 16 DIMM, mais continuez à lire pour le bien de l'exemple).
Ainsi, chaque socket peut théoriquement avoir 16 * 256 Go = 4096 Go = 4 To. Pour notre exemple de système 8S, la taille de la DRAM peut être au maximum de 4 * 8 = 32 To. Cela signifie que le nombre maximal de bits nécessaires pour adresser cet espace DRAM est de 45 (= log2 32 To / log2 2).
Nous n'entrerons pas dans les détails des autres types de mémoire (MMIO, MMCFG, etc.), mais le point ici est que le type de mémoire le plus "exigeant" pour un système à 8 sockets avec les plus grands types de DIMM DDR4 disponibles aujourd'hui (256 Go DIMM) n'utilisent que 45 bits.
Pour un système d'exploitation prenant en charge 48 bits (WS16 par exemple), il reste (48-45 =) 3 bits. Ce qui signifie que si nous avons utilisé les 45 bits inférieurs uniquement pour 32 To de DRAM, nous avons toujours 2 ^ 3 fois de mémoire adressable qui peut être utilisée pour MMIO / MMCFG pour un total de 256 To d'espace adressable.
Donc, pour résumer: 1) 48 bits d'adresse physique, c'est beaucoup de bits pour prendre en charge les plus grands systèmes d'aujourd'hui qui sont "entièrement chargés" avec de grandes quantités de DDR4 et aussi de nombreux autres périphériques IO qui nécessitent de l'espace MMIO. 256 To pour être exact.
Notez que cet espace d'adressage de 256 To (= 48 bits d'adresse physique) n'inclut PAS de lecteurs de disque comme les lecteurs SATA car ils ne font PAS partie de la mappe d'adresses, ils n'incluent que la mémoire adressable par octets et exposée au système d'exploitation.
2) Le matériel CPU peut choisir d'implémenter 46, 48 ou> 48 bits en fonction de la génération du serveur. Mais un autre facteur important est le nombre de bits que le système d'exploitation reconnaît. Aujourd'hui, WS16 prend en charge les adresses physiques 48 bits (= 256 To).
Ce que cela signifie pour l'utilisateur, c'est que, même si l'on dispose d'un grand processeur de serveur ultra moderne pouvant prendre en charge> 48 bits d'adressage, si vous exécutez un système d'exploitation qui ne prend en charge que 48 bits de PA, vous ne pouvez profiter que de 256 To. .
3) Dans l'ensemble, il y a deux facteurs principaux pour profiter d'un plus grand nombre de bits d'adresse (= plus de capacité de mémoire).
a) Combien de bits votre CPU HW prend-il en charge? (Cela peut être déterminé par l'instruction CPUID dans les processeurs Intel).
b) Quelle version du système d'exploitation utilisez-vous et combien de bits de PA reconnaît-il / prend en charge.
Le minimum de (a, b) déterminera finalement la quantité d'espace adressable dont votre système peut tirer parti.
J'ai écrit cette réponse sans examiner les autres réponses en détail. De plus, je n'ai pas approfondi les nuances de MMIO, MMCFG et l'intégralité de la construction de la carte d'adresses. Mais j'espère que cela aide.
Merci, Anand K Enamandram, architecte de la plate-forme serveur Intel Corporation