Um die ursprüngliche Frage zu beantworten: Es war nicht erforderlich, mehr als 48 Bit PA hinzuzufügen.
Server benötigen die maximale Speicherkapazität. Versuchen wir also, tiefer zu graben.
1) Die größte (häufig verwendete) Serverkonfiguration ist ein 8-Socket-System. Ein 8S-System ist nichts anderes als eine 8-Server-CPU, die über eine kohärente Hochgeschwindigkeitsverbindung (oder einfach einen Hochgeschwindigkeitsbus) zu einem einzigen Knoten verbunden ist. Es gibt größere Cluster, aber es gibt nur wenige, wir sprechen hier von häufig verwendeten Konfigurationen. Beachten Sie, dass das 2-Socket-System in der realen Welt einer der am häufigsten verwendeten Server ist und 8S normalerweise als sehr hochwertig angesehen wird.
2) Die wichtigsten Speichertypen, die von Servern verwendet werden, sind byteadressierbarer regulärer DRAM-Speicher (z. B. DDR3 / DDR4-Speicher), Memory Mapped IO - MMIO (z. B. Speicher, der von einer Zusatzkarte verwendet wird) sowie Konfigurationsbereich, der zum Konfigurieren verwendet wird die Geräte, die im System vorhanden sind. Der erste Speichertyp ist derjenige, der normalerweise der größte ist (und daher die größte Anzahl von Adressbits benötigt). Einige High-End-Server verwenden je nach tatsächlicher Konfiguration des Systems auch eine große Menge an MMIO.
3) Angenommen, jede Server-CPU kann 16 DDR4-DIMMs in jedem Steckplatz aufnehmen. Mit einer maximalen DDR4-Größe von 256 GB. (Abhängig von der Serverversion beträgt diese Anzahl möglicher DIMMs pro Socket weniger als 16 DIMMs. Lesen Sie jedoch weiter, um das Beispiel zu verdeutlichen.)
Jeder Socket kann also theoretisch 16 * 256 GB = 4096 GB = 4 TB haben. In unserem Beispiel-8S-System kann die DRAM-Größe maximal 4 * 8 = 32 TB betragen. Dies bedeutet, dass die maximale Anzahl von Bits, die zur Adressierung dieses DRAM-Raums benötigt werden, 45 beträgt (= log2 32 TB / log2 2).
Wir werden nicht auf die Details der anderen Speichertypen (MMIO, MMCFG usw.) eingehen, aber der Punkt hier ist, dass der "anspruchsvollste" Speichertyp für ein 8-Socket-System mit den größten heute verfügbaren DDR4-DIMM-Typen (256 GB) DIMMs) verwenden nur 45 Bit.
Für ein Betriebssystem, das 48 Bit unterstützt (z. B. WS16), verbleiben (48-45 =) 3 Bit. Das heißt, wenn wir die unteren 45 Bits ausschließlich für 32 TB DRAM verwenden, haben wir immer noch 2 ^ 3-mal adressierbaren Speicher, der für MMIO / MMCFG für insgesamt 256 TB adressierbaren Speicherplatz verwendet werden kann.
Zusammenfassend lässt sich sagen: 1) 48 Bit physische Adresse sind viele Bits, um die größten Systeme von heute zu unterstützen, die mit reichlich DDR4 und vielen anderen E / A-Geräten, die MMIO-Speicherplatz benötigen, "voll geladen" sind. 256 TB um genau zu sein.
Beachten Sie, dass dieser 256-TB-Adressraum (= 48 Bit physische Adresse) KEINE Festplattenlaufwerke wie SATA-Laufwerke enthält, da diese NICHT Teil der Adresszuordnung sind, sondern nur den Speicher, der byteadressierbar ist und dem Betriebssystem ausgesetzt ist.
2) Die CPU-Hardware kann je nach Generation des Servers 46, 48 oder> 48 Bit implementieren. Ein weiterer wichtiger Faktor ist jedoch, wie viele Bits das Betriebssystem erkennt. Heute unterstützt WS16 physikalische 48-Bit-Adressen (= 256 TB).
Für den Benutzer bedeutet dies, dass Sie, obwohl Sie eine große, hochmoderne Server-CPU haben, die> 48 Bit Adressierung unterstützt, wenn Sie ein Betriebssystem ausführen, das nur 48 Bit PA unterstützt, nur 256 TB nutzen können .
3) Insgesamt gibt es zwei Hauptfaktoren, um die höhere Anzahl von Adressbits zu nutzen (= mehr Speicherkapazität).
a) Wie viele Bits unterstützt Ihre CPU HW? (Dies kann durch CPUID-Anweisung in Intel-CPUs bestimmt werden).
b) Welche Betriebssystemversion verwenden Sie und wie viele PA-Bits werden erkannt / unterstützt?
Das Minimum von (a, b) bestimmt letztendlich die Menge an adressierbarem Speicherplatz, den Ihr System nutzen kann.
Ich habe diese Antwort geschrieben, ohne die anderen Antworten im Detail zu untersuchen. Außerdem habe ich mich nicht im Detail mit den Nuancen von MMIO, MMCFG und der Gesamtheit der Adresskartenkonstruktion befasst. Aber ich hoffe das hilft.
Vielen Dank, Anand K Enamandram, Server Platform Architect der Intel Corporation