मूल प्रश्न का उत्तर देने के लिए: पीए के 48 से अधिक बिट्स जोड़ने की आवश्यकता नहीं थी।
सर्वर को अधिकतम मात्रा में मेमोरी की आवश्यकता होती है, इसलिए चलो गहरी खुदाई करने का प्रयास करें।
1) सबसे बड़ा (आमतौर पर इस्तेमाल किया जाने वाला) सर्वर कॉन्फ़िगरेशन एक 8 सॉकेट सिस्टम है। एक 8S सिस्टम कुछ भी नहीं है, लेकिन 8 सर्वर CPU एक एकल नोड बनाने के लिए एक उच्च गति सुसंगत इंटरकनेक्ट (या बस, एक उच्च गति "बस") द्वारा जुड़ा हुआ है। वहाँ बड़े समूह हैं, लेकिन वे कुछ और दूर हैं, हम यहाँ आमतौर पर उपयोग किए जाने वाले विन्यासों के बारे में बात कर रहे हैं। ध्यान दें कि वास्तविक दुनिया के उपयोगों में, 2 सॉकेट सिस्टम सबसे अधिक उपयोग किए जाने वाले सर्वरों में से एक है, और 8S को आमतौर पर बहुत उच्च अंत माना जाता है।
2) सर्वर द्वारा उपयोग की जाने वाली मुख्य प्रकार की मेमोरी बाइट एड्रेसेबल रेगुलर DRAM मेमोरी (जैसे DDR3 / DDR4 मेमोरी), मेमोरी मैप्ड IO - MMIO (जैसे कि ऐड-इन कार्ड द्वारा उपयोग की जाने वाली मेमोरी) हैं, साथ ही कॉन्फ़िगरेशन को कॉन्फ़िगर करने के लिए उपयोग किया जाता है सिस्टम में मौजूद डिवाइस। पहली प्रकार की मेमोरी वह है जो आमतौर पर सबसे बड़ी होती है (और इसलिए पता बिट्स की सबसे बड़ी संख्या की आवश्यकता होती है)। कुछ उच्च अंत सर्वर MMIO की बड़ी मात्रा का उपयोग करते हैं और साथ ही सिस्टम के वास्तविक विन्यास पर निर्भर करते हैं।
3) मान लें कि प्रत्येक सर्वर CPU प्रत्येक स्लॉट में 16 DDR4 DIMM का उपयोग कर सकता है। 256GB के अधिकतम आकार DDR4 DIMM के साथ। (सर्वर के संस्करण के आधार पर, प्रति सॉकेट संभव DIMM की यह संख्या वास्तव में 16 DIMM से कम है, लेकिन उदाहरण के लिए पढ़ना जारी रखें)।
इसलिए प्रत्येक सॉकेट में सैद्धांतिक रूप से 16 * 256GB = 4096GB = 4 टीबी हो सकता है। हमारे उदाहरण 8S प्रणाली के लिए, DRAM का आकार अधिकतम 4 * 8 = 32 TB हो सकता है। इसका मतलब है कि इस DRAM स्पेस को संबोधित करने के लिए आवश्यक बिट्स की अधिकतम संख्या 45 (= log2 32TB / log2 2) है।
हम अन्य प्रकार की मेमोरी (MMIO, MMCFG आदि) के विवरणों में नहीं जाते हैं, लेकिन यहाँ बिंदु यह है कि 8 सॉकेट सिस्टम के लिए सबसे अधिक "डिमांडिंग" प्रकार की मेमोरी सबसे बड़ी प्रकार की DDR4 DIMMs के साथ आज (256 GB) DIMM) केवल 45 बिट्स का उपयोग करते हैं।
48 बिट्स (उदाहरण के लिए WS16) का समर्थन करने वाले OS के लिए, शेष 48 बिट्स (48-45 =) हैं। जिसका अर्थ है कि यदि हम 32TB के DRAM के लिए केवल निचले 45 बिट्स का उपयोग करते हैं, तो हमारे पास अभी भी 2 ^ 3 बार पता योग्य मेमोरी है जिसका उपयोग MMIO / MMCFG के लिए कुल 256 TB पते योग्य स्थान के लिए किया जा सकता है।
इसलिए, संक्षेप में: 1) 48 बिट्स फिजिकल एड्रेस आज के सबसे बड़े सिस्टम का समर्थन करने के लिए बहुत सारे बिट्स हैं जो DDR4 के प्रचुर मात्रा में "पूरी तरह से लोड" हैं और एमएमआईओ स्पेस की मांग करने वाले अन्य IO उपकरणों से भी भरपूर हैं। 256TB सटीक होना।
ध्यान दें कि इस 256TB एड्रेस स्पेस (= फिजिकल एड्रेस का 48 बिट्स) में SATA ड्राइव जैसी कोई डिस्क ड्राइव शामिल नहीं है क्योंकि वे एड्रेस मैप का हिस्सा नहीं हैं, वे केवल उस मेमोरी को शामिल करते हैं जो बाइट-एड्रेसेबल है, और OS के संपर्क में है।
2) सीपीयू हार्डवेयर सर्वर की पीढ़ी के आधार पर 46, 48 या> 48 बिट्स को लागू करने का विकल्प चुन सकता है। लेकिन एक अन्य महत्वपूर्ण कारक यह है कि ओएस कितने बिट्स को पहचानता है। आज, WS16 48 बिट भौतिक पते (= 256 टीबी) का समर्थन करता है।
उपयोगकर्ता के लिए इसका मतलब क्या है, भले ही किसी के पास एक बड़ा, अति आधुनिक सर्वर सीपीयू हो जो पते के 48 बिट्स का समर्थन कर सकता है, यदि आप एक ओएस चलाते हैं जो केवल पीए के 48 बिट्स का समर्थन करता है, तो आप केवल 256 टीबी का लाभ उठा सकते हैं ।
3) सभी में, पते की बिट्स की अधिक संख्या (= अधिक मेमोरी क्षमता) का लाभ लेने के लिए दो मुख्य कारक हैं।
a) आपके CPU HW कितने बिट्स का समर्थन करता है? (यह Intel CPUs में CPUID अनुदेश द्वारा निर्धारित किया जा सकता है)।
ख) आप किस OS संस्करण को चला रहे हैं और PA के कितने बिट्स इसे पहचानते हैं / समर्थन करते हैं।
(ए, बी) का मिनट अंततः आपके सिस्टम का लाभ ले सकने योग्य स्थान की मात्रा निर्धारित करेगा।
मैंने अन्य प्रतिक्रियाओं को विस्तार से देखे बिना इस प्रतिक्रिया को लिखा है। इसके अलावा, मैंने MMIO, MMCFG की बारीकियों और एड्रेस मैप निर्माण की संपूर्णता में विस्तार नहीं किया है। लेकिन मुझे उम्मीद है कि इससे मदद मिलेगी।
धन्यवाद, आनंद के एनामद्रम, सर्वर प्लेटफार्म आर्किटेक्ट इंटेल कॉर्पोरेशन