Per rispondere alla domanda originale: non era necessario aggiungere più di 48 bit di PA.
I server hanno bisogno della quantità massima di memoria, quindi proviamo a scavare più a fondo.
1) La configurazione del server più grande (comunemente usata) è un sistema a 8 socket. Un sistema 8S non è altro che 8 CPU Server collegate da un'interconnessione coerente ad alta velocità (o semplicemente, un "bus" ad alta velocità) per formare un singolo nodo. Ci sono cluster più grandi là fuori, ma sono pochi e distanti tra loro, stiamo parlando di configurazioni comunemente usate qui. Si noti che negli usi del mondo reale, il sistema a 2 socket è uno dei server più comunemente utilizzati e 8S è generalmente considerato di fascia alta.
2) I principali tipi di memoria utilizzati dai server sono la normale memoria DRAM indirizzabile a byte (ad esempio memoria DDR3 / DDR4), Memory Mapped IO - MMIO (come la memoria utilizzata da una scheda aggiuntiva), nonché lo spazio di configurazione utilizzato per la configurazione i dispositivi presenti nel sistema. Il primo tipo di memoria è quello che di solito è il più grande (e quindi richiede il maggior numero di bit di indirizzo). Alcuni server di fascia alta utilizzano anche una grande quantità di MMIO, a seconda della configurazione effettiva del sistema.
3) Si supponga che ciascuna CPU del server possa ospitare 16 DIMM DDR4 in ogni slot. Con una dimensione massima DIMM DDR4 di 256 GB. (A seconda della versione del server, questo numero di DIMM possibili per socket è in realtà inferiore a 16 DIMM, ma continua a leggere per il bene dell'esempio).
Quindi ogni socket può teoricamente avere 16 * 256 GB = 4096 GB = 4 TB. Per il nostro sistema 8S di esempio, la dimensione della DRAM può essere un massimo di 4 * 8 = 32 TB. Ciò significa che il numero massimo di bit necessari per indirizzare questo spazio DRAM è 45 (= log2 32 TB / log2 2).
Non entreremo nei dettagli degli altri tipi di memoria (MMIO, MMCFG ecc.), Ma il punto qui è che il tipo di memoria più "esigente" per un sistema a 8 socket con i più grandi tipi di DIMM DDR4 oggi disponibili (256 GB DIMM) utilizzano solo 45 bit.
Per un sistema operativo che supporta 48 bit (WS16 ad esempio), ci sono (48-45 =) 3 bit rimanenti. Ciò significa che se abbiamo utilizzato i 45 bit inferiori esclusivamente per 32 TB di DRAM, abbiamo ancora 2 ^ 3 volte di memoria indirizzabile che può essere utilizzata per MMIO / MMCFG per un totale di 256 TB di spazio indirizzabile.
Quindi, per riassumere: 1) 48 bit di indirizzo fisico sono molti bit per supportare i più grandi sistemi di oggi che sono "completamente caricati" con abbondanti quantità di DDR4 e anche molti altri dispositivi IO che richiedono spazio MMIO. 256 TB per essere esatti.
Si noti che questo spazio di indirizzi di 256 TB (= 48 bit di indirizzo fisico) NON include unità disco come le unità SATA perché NON fanno parte della mappa degli indirizzi, includono solo la memoria che è indirizzabile in byte ed è esposta al sistema operativo.
2) L'hardware della CPU può scegliere di implementare 46, 48 o> 48 bit a seconda della generazione del server. Ma un altro fattore importante è quanti bit riconosce il sistema operativo. Oggi, WS16 supporta indirizzi fisici a 48 bit (= 256 TB).
Ciò che questo significa per l'utente è che, anche se uno ha una CPU del server grande e ultra moderna in grado di supportare> 48 bit di indirizzamento, se esegui un sistema operativo che supporta solo 48 bit di PA, puoi sfruttare solo 256 TB .
3) Tutto sommato, ci sono due fattori principali per trarre vantaggio da un numero maggiore di bit di indirizzo (= maggiore capacità di memoria).
a) Quanti bit supporta l'HW della tua CPU? (Questo può essere determinato dall'istruzione CPUID nelle CPU Intel).
b) Quale versione del sistema operativo stai utilizzando e quanti bit di PA riconosce / supporta.
Il minimo di (a, b) determinerà alla fine la quantità di spazio indirizzabile di cui il sistema può trarre vantaggio.
Ho scritto questa risposta senza esaminare in dettaglio le altre risposte. Inoltre, non ho approfondito in dettaglio le sfumature di MMIO, MMCFG e l'intera costruzione della mappa degli indirizzi. Ma spero che questo aiuti.
Grazie, Anand K Enamandram, Server Platform Architect Intel Corporation