एक समय में 64bit मशीन कितनी मेमोरी का पता लगा सकती है?


32

यदि स्मृति बाइट पते योग्य है, तो यह नहीं होना चाहिए

2^64 / (2^10 * 2^10 * 2^10) = 2^34 GB ?

सामान्य Google खोज 8GB या 16GB अधिकतम कहती है।

यह कैसे सच है? इसके अलावा, यह ऑपरेटिंग सिस्टम पर कैसे निर्भर करता है?


8 जीबी स्पष्ट रूप से दीवार से दूर है क्योंकि मेरी कार्य मशीन में 12 जीबी है और यह सभी को संबोधित कर सकता है, साथ ही एक जीबी की वीडियो रैम, साथ ही मेरे सभी हार्डवेयर और मेरे सभी वर्चुअल मेमोरी ठीक है।

Newegg राम का 32GB पैकेज बेचता है, जिसका उद्देश्य एक कंप्यूटर है। 32-बिट समर्थित 3.2 जीबी, और 128-बिट लाखों टेराबाइट्स का समर्थन करेगा, इसलिए मुझे लगता है कि 32-बिट के मुकाबले 64-बिट डबल से बहुत अधिक है।
tkbx

जवाबों:


53

कई इंटरलेविंग कारक हैं।

सबसे पहले, आप कभी नहीं, कभी भी एक सिस्टम को इकट्ठा करने में सक्षम होंगे जिसमें भौतिक रैम के 2 64 बाइट्स (16 एक्सिबाइट) हैं।

दूसरा, सिर्फ इसलिए कि एक आर्किटेक्चर 64-बिट पॉइंटर्स का उपयोग करता है, इसका मतलब यह नहीं है कि उन पॉइंटर्स के सभी बिट्स वास्तव में उपयोग किए जाते हैं। विशेष रूप से, वर्तमान x86-64 CPU (उर्फ AMD64 और इंटेल के 64-बिट चिप्स) वास्तव में 48-बिट एड्रेस लाइन्स (AMD64) और 42-बिट एड्रेस लाइन्स (Intel) का उपयोग करते हैं (देखें http://en.wikipedia.org/wiki / X86_64 # Virtual_address_space_details ), सैद्धांतिक रूप से भौतिक रैम के 256 टेराबाइट्स की अनुमति देता है।

दूसरा, मदरबोर्ड की अपनी सीमा होती है कि वे कितना रैम का समर्थन कर सकते हैं, दोनों शारीरिक और तार्किक रूप से। शारीरिक रूप से, केवल रैम के लिए बहुत सारे स्लॉट उपलब्ध हैं। "तार्किक" सीमा के लिए, मुझे पूरी तरह से समझ में नहीं आता है कि यह अभी भी x86-64 के लिए मामला क्यों है (मेमोरी नियंत्रक लंबे समय से सीपीयू में ही माइग्रेट किया गया है), लेकिन वहां यह है। संभवतः कोने डिजाइन और विनिर्माण में कुछ रुपये बचाने के लिए पता लाइनों पर काटे जा रहे हैं।

तीसरा, एक ऑपरेटिंग सिस्टम में आंतरिक सीमाएं हो सकती हैं जैसे कि यह कितनी कुशलता से रैम का समर्थन कर सकता है। भाग में, यह वास्तव में स्मृति के लिए उपयोग पर नज़र रखने के लिए बड़े डेटा संरचनाओं की आवश्यकता को रोकने के लिए है जो वास्तव में नहीं है। पिछली बार मैंने जाँच की, लिनक्स x86-64 पर प्रति प्रोसेस वर्चुअल एड्रेस स्पेस की 128TB अनुमति देता है, और सैद्धांतिक रूप से 64TB भौतिक रैम का समर्थन कर सकता है।

चौथा, कुछ ऑपरेटिंग सिस्टम (उदाहरण के लिए विंडोज) कृत्रिम रूप से यह सीमित कर देगा कि उपयोगकर्ताओं को अधिक रैम में अपग्रेड करने के लिए कितना रैम का इस्तेमाल एक टैक्टिक के रूप में किया जा सकता है यदि वे अधिक रैम चाहते हैं (विंडोज 7 स्टार्टर 2GB तक सीमित है, होम बेसिक से 8 तक, होम प्रीमियम 16 से, और प्रोफेशनल और ऊपर 192GB हैं, और विंडोज सर्वर रिलीज की सीमा अधिक है)।


1
आमतौर पर भौतिक पता लाइनों का उल्लेख करने के लिए +1 << 64-बिट आर्किटेक्चर पर एक पते के रजिस्टर में बिट्स की संख्या
पॉल आर

3
42-बिट पता लाइनों (अनाम संपादन द्वारा जोड़ा गया) के लिए एक स्रोत की सराहना की जाएगी। तब तक, मैं व्यक्तिगत रूप से उस सूचना को विश्वसनीय नहीं मानता।
बॉब

21
नेवर से नेवर। मूर का कानून अभी भी प्रभावी है, जो मैंने सुना है, इसलिए 16 एक्सैबाइट्स रैम के साथ सिस्टम हमारे जीवनकाल के भीतर अच्छी तरह से दिखाई दे सकते हैं। फिर हम सभी को 128-बिट ऑपरेटिंग सिस्टम पर जाना होगा ...
माइकल हैम्पटन

भौतिक पते भी TLBs में भौतिक पते के लिए प्रदान की गई बिट्स की संख्या (और भौतिक पते टैगिंग द्वारा दिए गए कैश टैग के आकार) द्वारा सीमित हैं और पृष्ठ तालिका प्रविष्टियों में भौतिक पते के लिए उपलब्ध बिट्स द्वारा (यदि इस तरह परिभाषित किया गया है) आर्किटेक्चर x86-64 के रूप में जो 4KiB पृष्ठों के साथ 52-बिट भौतिक पता स्थान का समर्थन करता है)। उत्तरार्द्ध एक फ़र्मर (आर्किटेक्चरल इम्प्लीमेंटेशन-बेस्ड नहीं) की सीमा है, हालाँकि आर्किटेक्चर को भी बदला जा सकता है।
पॉल ए। क्लेटन

2
@Michael Hampton - NecroReply, लेकिन विरोध नहीं कर सका :) हर 2 साल में दोहरीकरण (जो हाल के रुझानों से तेज है) अभी भी 16GB से 16EB तक पहुंचने में 60 साल लगेंगे। तब तक मुझे संदेह है कि सिलिकॉन ट्रांजिस्टर के बारे में "कानून" की कोई प्रासंगिकता होगी;)
मैटबेलि

9

यदि आप MS Windows का उपयोग करते हैं, तो अधिकतम मेमोरी ऑपरेटिंग सिस्टम द्वारा विवश है।

विंडोज 7 के लिए, अधिकतम हैं:

  • स्टार्टर: 2GB
  • होम बेसिक: 8 जीबी
  • होम प्रीमियम: 16GB
  • पेशेवर: 192 जीबी
  • एंटरप्राइज: 192GB
  • अल्टीमेट: 192GB

विंडोज सर्वर 2008 लाइन के शीर्ष के लिए प्रवेश स्तर के लिए 8GB से 2TB तक होता है।

पूर्ण-ईश सूची के लिए http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx देखें ।

ये सीमाएँ मुख्यतः विपणन कारणों से हैं। सस्ता संस्करणों को प्रतिबंधित करके वे उच्च-अंत संस्करणों (तुलनात्मक रूप से) को अधिक आकर्षक बनाते हैं।

मुझे लगता है कि हाल ही में लिनक्स लगभग 32TB RAM के साथ काम करता है, हालांकि सभी हार्डवेयर इसका समर्थन नहीं कर सकते हैं।


4
वे वास्तव में तकनीकी सीमा नहीं हैं। वे व्यावसायिक कारणों से पेश की गई कृत्रिम सीमाएँ हैं।
कैस्परल्ड

8

64-बिट मशीन 2 64 पता करने योग्य इकाइयों (पिछले कुछ दशकों में डिज़ाइन किए गए आर्किटेक्चर में, पता करने योग्य इकाइयां हमेशा के लिए बाइट्स, उर्फ ​​ओकटेट्स) को संबोधित करने में सक्षम होनी चाहिए । यदि आप "गीगाबाइट" को 2 30 पते योग्य इकाइयों के रूप में परिभाषित करते हैं , तो हाँ, 2 34 गीगाबाइट उसी गणना को व्यक्त करने का एक और तरीका होगा।

Google खोज ने उन हास्यास्पद छोटे परिणामों का क्या उत्पादन किया? हो सकता है कि आपके द्वारा पाया गया पृष्ठ उस रैम की मात्रा के बारे में बात कर रहा हो जिसे आप किसी निश्चित मॉडल के सस्ते सस्ते बक्से में खरीद सकते हैं - आप निश्चित रूप से बहुत अधिक रैम (सभी पते योग्य), यहां तक ​​कि उन बॉक्सों में भी हो सकते हैं जो बहुत महंगा होने से दूर हैं। ।

ऑपरेटिंग सिस्टम सबसे अधिक निश्चित रूप से पता करने योग्य मेमोरी की मात्रा को प्रतिबंधित कर सकते हैं (उदाहरण के लिए, वे पृष्ठ तालिकाओं के आकार को सीमित करके ऐसा कर सकते हैं, शायद कुछ कॉन्फ़िगर करने योग्य अधिकतम जो ओएस को पुन: कॉन्फ़िगर या अन्यथा पुन: कॉन्फ़िगर करके निर्धारित किया जा सकता है - बहुत कठिन है) ओएस के कुछ विशिष्ट समूह पर ध्यान केंद्रित किए बिना अधिक विशिष्ट हो )।


2 ^ 30 पता योग्य इकाइयाँ 1 जीबी क्यों है? प्रत्येक पता इकाई 1 बिट स्टोर करती है, इसलिए 2 ^ 30 पता इकाइयाँ कई बिट्स संग्रहीत करती हैं जो 0.134217728 गीगाबाइट की राशि होती है। मुझे किसकी याद आ रही है?
दर्शन चौधरी

1
@DarshanChaudhary 2 ^ 30 अलग-अलग पतों की संख्या है। प्रत्येक पता स्मृति के एक बाइट को पहचानता है, एक बिट को नहीं।
डेविड मोल्स 20

3

आप जितनी चाहें उतनी रैम रख सकते हैं, लेकिन यह सब ऑपरेटिंग सिस्टम और आपके द्वारा चलाए जा रहे एप्लिकेशन पर निर्भर करता है - जैसा कि किसी और ने कहा है।

यदि आप एक भूखा सीपीयू गहन अनुप्रयोग चला रहे हैं जो आपकी हार्ड डिस्क की तरह अन्य हार्डवेयर पर भी गहन है तो आप पूरी तरह से अलग मशीन में एक दूसरे सीपीयू पर गंभीरता से विचार करेंगे। उदाहरण के लिए, अलग-अलग मशीनों पर डेटाबेस एप्लिकेशन और ईमेल सर्वर चलाना।

इससे कोई फर्क नहीं पड़ता कि आपके पास कितनी मेमोरी है - आज के बाजार में पूरा सिस्टम रुक जाएगा। सिंगल सीपीयू केवल मल्टीटास्किंग को आपके द्वारा अपेक्षित तरीके से हैंडल नहीं कर सकता है।

मेमोरी के भार वाली एकल मशीन के लिए यह बेहतर है लेकिन यह शानदार नहीं है यदि आपके पास एक ही सिस्टम पर कई एप्लिकेशन चल रहे हैं - भले ही इंस्टॉल की गई मेमोरी की मात्रा के साथ। यही कारण है कि बड़ी कंपनियां न केवल 64 बिट आर्किटेक्चर का उपयोग अधिक मेमोरी को संबोधित करने के लिए करती हैं, बल्कि वे दो या अधिक सर्वरों के साथ पूरे लॉट को भी लोड करती हैं।

यदि आप प्रदर्शन के बारे में वास्तव में गंभीर हैं तो 64 बिट जरूर जाएं, लेकिन एक दूसरे सर्वर के साथ लोड संतुलन पर भी विचार करें।

मैं उस सड़क से नीचे आ गया हूं - एक मशीन को अधिकतम रैम के साथ कॉन्फ़िगर करना। फिर भी कई एप्लिकेशन चलाने पर यह अभी भी कुत्ते की तरह चलता है। ऐसा इसलिए क्योंकि सीपीयू खुद इसे संभाल नहीं सकता है।

मेरी सलाह है कि अपने रुपये को मेमोरी पर सेव करें और दूसरा सर्वर खरीदें और फिर दोनों को संतुलित करें। यह बहुत सरल प्लस है - एक बार जब आप इसकी चपेट में आ जाते हैं - जब आपको अधिक प्रसंस्करण शक्ति और गति की आवश्यकता होती है, तो इसका विस्तार करना आसान होता है।

इसके अलावा, 64 बिट आर्किटेक्चर मशीन 32 बिट सॉफ़्टवेयर के साथ सामना कर सकती है, लेकिन 32 बिट मशीन के साथ आप केवल 32 बिट या उससे कम अनुप्रयोगों तक ही सीमित हैं - ऑपरेटिंग सिस्टम सहित।

चूँकि पूरा बाजार हार्डवेयर और सॉफ्टवेयर दोनों के संदर्भ में 64 बिट पर जा रहा है, इसलिए मैं लॉन्ग टर्म के लिए 64 बिट जाने की सलाह दूंगा, लेकिन मेमोरी के बकेट लोड के साथ एक ही मशीन पर सभी को स्क्वीज़ करने के विचार को भूल जाएँ क्योंकि आपको निराशा होगी।

यदि आप अनिश्चित हैं कि "लोड संतुलन" क्या है तो यह Google है।


2

मुझे लगता है कि यह एक एक्साबाइट "ईबी" से अधिक ले सकता है।

इस 32-बिट प्रोसेसर को देखें 2 32 बी = 4 जीबी ले सकते हैं , लेकिन ज्यादातर इसे 3 जीबी लेते हैं "क्योंकि वे पते को संशोधित करने के लिए 1 जीबी हैं"

इसका मतलब है कि 64-बिट प्रोसेसर 2 64 बी = 16 ईबी ले सकता है , लेकिन मैं इसका पता नहीं लगा सकता कि उल्टे इस्तेमाल के लिए लॉक कैसे किया जाता है। इसलिए हम कह सकते हैं कि 64-बिट प्रोसेसर 1 ईबी से अधिक लेता है। और यह विनिर्देश इस बात पर निर्भर नहीं करता है कि पीसी किस ओएस का उपयोग करता है या उसका मॉडल क्या है।


1
व्यवहार में, 64-बिट प्रोसेसर में आमतौर पर 48-बिट पता स्थान होता है जो 256 टेराबाइट मेमोरी के लिए पर्याप्त होता है।
465544

मुझे लगता है कि आप एक्सबाइट का मतलब है , एक्साबाइट नहीं ।
मार्टिन

1

एक उदाहरण के रूप में इंटेल या एएमडी सीपीयू लेना, भौतिक मेमोरी और वर्चुअल मेमोरी दोनों की कई सीमाएं हैं। अन्य लोगों ने हार्डवेयर पिन-आउट और मदरबोर्ड सीमाओं के बारे में बात की है, लेकिन आंतरिक सीमाएं भी हैं।

एमएमयू में एक टर्मिनल पेज टेबल प्रविष्टि में 52 महत्वपूर्ण बिट्स भौतिक पते के होते हैं और सैद्धांतिक रूप से 4096 टीबी तक की भौतिक रैम को मैप कर सकते हैं।

MMU 4-स्तरीय पृष्ठ तालिका लागू करता है जिसके शीर्ष स्तर में 512 × 512 GB प्रविष्टियाँ होती हैं। तो वर्चुअल मेमोरी 256 टीबी तक सीमित है।

जैसा कि मैं जानता हूं, सभी 64-बिट ऑपरेटिंग सिस्टम एक डीएमएपी (एक डायरेक्ट-मैप) लागू करते हैं, जो सुपर-सुविधाजनक है। हालाँकि, क्योंकि वर्चुअल मेमोरी 256 टीबी तक सीमित है, डीएमएपी का आकार भी सीमित है। आमतौर पर 128 टीबी उपयोगकर्ता मोड के लिए आरक्षित है, और कर्नेल के लिए 128 टीबी। कर्नेल के लिए 128 टीबी में से आधे तक डीएमएपी के लिए आरक्षित हो सकते हैं। DMAP की उपयोगिता के कारण, ऑपरेटिंग सिस्टम आमतौर पर भौतिक मेमोरी को सीमित करेगा जो DMAP क्या संभाल सकता है।

तो इंटेल / एएमडी के लिए सबसे (सभी?) 64-बिट ऑपरेटिंग सिस्टम समर्थित भौतिक मेमोरी लगभग 64 टीबी तक सीमित है, सामान्य कर्नेल वर्चुअल मेमोरी के लिए 64 टीबी और उपयोगकर्ता वर्चुअल मेमोरी के लिए 128 टीबी।

-

सीपीयू के लिए आंतरिक, सीपीयू कैश में उनके द्वारा संग्रहीत भौतिक पता बिट्स की संख्या पर एक सीमा भी होती है, क्योंकि प्रत्येक अतिरिक्त पता बिट कैश टैग में अधिक ट्रांजिस्टर खाता है। डीआरएएम नियंत्रक पिन सीमाएं आवश्यक रूप से अंतिम शब्द नहीं हैं, क्योंकि मेमोरी को डीएमआई लिंक के माध्यम से भी संबोधित किया जा सकता है।

विभिन्न CPU आर्किटेक्चर (जैसे, ARM, PowerPC, आदि) की अलग-अलग सीमाएँ होंगी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.