रैम सीमा
किसी भी कंप्यूटर सिस्टम में स्थापित अधिकतम रैंडम एक्सेस मेमोरी (रैम) हार्डवेयर, सॉफ्टवेयर और आर्थिक कारकों द्वारा सीमित होती है। हार्डवेयर में सीमित संख्या में एड्रेस बस बिट्स हो सकते हैं, जो प्रोसेसर पैकेज या सिस्टम के डिज़ाइन द्वारा सीमित होते हैं। कुछ एड्रेस स्पेस रैम, पेरिफेरल्स और रीड-ओनली मेमोरी के मध्य साझा किए जा सकते हैं। बिना एक्सटर्नल रैम वाले माइक्रोकंट्रोलर की स्तिथि में, रैम ऐरे का आकार इंटीग्रेटेड सर्किट डाई के आकार से सीमित होता है। पैकेज्ड सिस्टम में, सिस्टम के आवश्यक कार्यों के लिए केवल पर्याप्त रैम प्रदान की जा सकती है, जिसमें निर्माण के पश्चात मेमोरी को जोड़ने का कोई प्रावधान नहीं है।
प्रयोग करने योग्य भौतिक रैम के लिए सॉफ़्टवेयर सीमाएँ उपस्थित हो सकती हैं। ऑपरेटिंग सिस्टम को केवल निश्चित मात्रा में मेमोरी एलोकेट करने के लिए डिज़ाइन किया जा सकता है जिसमें ऊपरी एड्रेस बिट्स को I/O या सुपरवाइजर मोड या अन्य सिक्योरिटी इनफार्मेशन जैसे पदनामों को इंगित करने के लिए आरक्षित किया जाता है। या ऑपरेटिंग सिस्टम एड्रेसेबल मेमोरी के लिए निश्चित सीमा के साथ इंटरनल डेटा स्ट्रक्चर पर निर्भर हो सकता है।
मास-मार्केट पर्सनल कंप्यूटर के लिए, मास-मार्केट सॉफ़्टवेयर रन कराने के लिए आवश्यकता से अधिक मेमोरी सॉकेट, एड्रेस लाइन या अन्य हार्डवेयर प्रदान करने में निर्माता को कोई वित्तीय लाभ नहीं हो सकता है। जब मेमोरी डिवाइस प्रोसेसर की तुलना में अपेक्षाकृत बहुमूल्य थे, तो अधिकांशतः सिस्टम के साथ दी जाने वाली रैम व्यय के कारण हार्डवेयर की एड्रेस कैपेसिटी से अत्यल्प थी।
कभी-कभी विशेष तकनीकों का उपयोग करके रैम की सीमा को पार किया जा सकता है। प्रोग्राम नियंत्रण के अंतर्गत बैंक स्विचिंग रैम मेमोरी के ब्लॉक को आवश्यकता होने पर प्रोसेसर के एड्रेस स्पेस में स्विच करने की अनुमति प्रदान करता है। ऑपरेटिंग सिस्टम नियमित रूप से वर्चुअल मेमोरी का उपयोग करके रनिंग प्रोग्रामों का प्रबंधन करते हैं, जहां विशेष प्रोग्राम संचालित होते हैं जैसे कि उनके पास बड़े मेमोरी स्पेस का एक्सेस होता है जिसे डिस्क स्टोरेज के साथ मेमोरी क्षेत्रों को स्वैप करके सिम्युलेटेड किया जा रहा है।
सीपीयू एड्रेसिंग लिमिट्स
परफॉरमेंस कारणों से, एड्रेस बस की सभी समानांतर एड्रेस लाइन एक ही समय में मान्य होनी चाहिए, अन्यथा मेमोरी एक्सेस में विलंब होगा और परफॉरमेंस गंभीर रूप से कम हो जाएगा। मेमोरी बस प्रदान करने के लिए उपलब्ध पिनों की संख्या पर इंटीग्रेटेड सर्किट पैकेज की सीमा हो सकती है। भिन्न-भिन्न साइज के आईसी पैकेजों में सीपीयू आर्किटेक्चर के विभिन्न संस्करणों को कम पिन काउंट और एड्रेस स्पेस के लिए कम पैकेज साइज का ट्रेडिंग डिज़ाइन किया जा सकता है। आर्किटेक्चर के लिए भौतिक रूप से उपलब्ध मेमोरी को प्रतिबंधित करने वाले एड्रेस पिंस और अन्य कार्यों के मध्य ट्रेड-ऑफ किया जा सकता है, भले ही इसमें स्वाभाविक रूप से उच्च क्षमता हो। दूसरी ओर, सेगमेंटेड या बैंक स्विचिंग डिज़ाइन इंटरनल मेमोरी एड्रेस रजिस्टर की तुलना में अधिक मेमोरी एड्रेस स्पेस प्रदान करते हैं।
जैसे-जैसे इंटीग्रेटेड सर्किट मेमोरी कम खर्चीली होती गई, बड़े भौतिक मेमोरी स्पेस के साथ सिस्टम डिजाइन करना संभव हो गया।
16 से कम एड्रेस पिंस
इंटीग्रेटेड I/O और मेमोरी ऑन-चिप वाले माइक्रोकंट्रोलर डिवाइस में कभी-कभी एक्सटर्नल डिवाइस के लिए कोई छोटी एड्रेस बस उपलब्ध नहीं होती थी। उदाहरण के लिए, 2 किलोबाइट एड्रेस स्पेस के साथ उपलब्ध माइक्रोकंट्रोलर का वैरिएंट हो सकता है जो एक्सटर्नल रोम के लिए 11 लाइन एड्रेस बस लाता है, यह I/O पिन को एड्रेस बस पिन के रूप में पुन: असाइन करके किया जा सकता है। इंटीग्रेटेड ROM के साथ कुछ सामान्य-उद्देश्य वाले प्रोसेसर इंटीग्रेटेड ROM और एक्सटर्नल 15-बिट मेमोरी बस के मध्य 16-बिट एड्रेस स्पेस को विभाजित करते हैं।
कुछ प्रारंभिक कंप्यूटरों में 16 से कम एड्रेस पिन वाले सीपीयू भी होते थे। एमओएस टेक्नोलॉजी 6507 (6502 का कम पिन काउंट संस्करण) का उपयोग अटारी 2600 में किया गया था और यह 13-लाइन एड्रेस बस तक सीमित था।
16 एड्रेस बिट्स, 16 एड्रेस पिंस
अधिकांश 8-बिट सामान्य-उद्देश्य वाले माइक्रोप्रोसेसरों में 16-बिट एड्रेस स्पेस होते हैं और 16 एड्रेस लाइन उत्पन्न करते हैं। उदाहरणों में इंटेल 8080, इंटेल 8085, ज़ाइलॉग जेड80, मोटोरोला 6800, माइक्रोचिप पीआईसी18 और कई अन्य सम्मिलित हैं। इन प्रोसेसर में 8-बिट सीपीयू के साथ 8-बिट डेटा और 16-बिट एड्रेसिंग होती है। इन सीपीयू पर मेमोरी बाइट स्तर पर एड्रेसेबल है। यह 216 × 1 बाइट = 65,536 बाइट या 64 किलोबाइट की मेमोरी एड्रेसेबल सीमा की ओर जाता है।
16 एड्रेस बिट्स, 20 एड्रेस पिंस: 8086, 8088, 80186 और 80188
इंटेल 8086 और उसके डेरिवेटिव जैसे इंटेल 8088, इंटेल 80186 और इंटेल 80188 लोकप्रिय x86 प्लेटफॉर्म का आधार बनाते हैं और IA16 आर्किटेक्चर का प्रथम स्तर हैं। ये 20-बिट एड्रेसिंग के साथ 16-बिट सीपीयू थे। इन सीपीयू पर मेमोरी बाइट स्तर पर एड्रेसेबल थी। ये प्रोसेसर 220 बाइट्स (1 मेगाबाइट) को संबोधित कर सकते हैं।
16 बिट एड्रेस, 24 एड्रेस पिंस: 80286
इंटेल 80286 सीपीयू ने 24-बिट एड्रेसिंग स्कीम का उपयोग किया। प्रत्येक मेमोरी स्थान बाइट-एड्रेसेबल था। इसका परिणाम 224 × 1 बाइट = 16,777,216 बाइट या 16 मेगाबाइट के कुल एड्रेसेबल स्थान में होता है। 286 और बाद के संस्करण वास्तविक मोड में भी काम कर सकते थे, जिसने 8086 प्रोसेसर की एड्रेसिंग सीमाएँ लगाईं। 286 में वर्चुअल मेमोरी के लिए समर्थन था।
32 बिट एड्रेस, 24 एड्रेस पिंस
इंटेल 80386SX 386DX का किफायती संस्करण था। इसमें 386DX में 32-बिट के विपरीत 24-बिट एड्रेसिंग स्कीम थी। 286 की तरह, 386SX केवल 16 मेगाबाइट तक मेमोरी को संबोधित कर सकता है।
मोटोरोला 68000 में 24-बिट एड्रेस स्पेस था, जो इसे 16 मेगाबाइट मेमोरी तक एक्सेस करने की अनुमति देता था।
32 बिट एड्रेस, 32 एड्रेस पिंस
386DX में 32-बिट एड्रेसिंग थी, जिससे यह 4 गीगाबाइट्स (4096 मेगाबाइट्स) तक मेमोरी को एड्रेस कर सकता था।
1984 में जारी मोटोरोला 68020 में 32-बिट एड्रेस स्पेस था, जो इसे 4GB की अधिकतम एड्रेसेबल मेमोरी सीमा देता था। मोटोरोला 68000 श्रृंखला में निम्नलिखित सभी चिप्स ने इस सीमा को विरासत में मिला है।
32 बिट एड्रेस, 36 एड्रेस पिंस: पेंटियम प्रो (उर्फ पी 6)
पेंटियम प्रो और सभी पेंटियम 4एस में 36-बिट एड्रेसिंग है, जिसके परिणामस्वरूप कुल 64 गीगाबाइट्स का एड्रेस लगाने योग्य स्थान है, लेकिन इसके लिए जरूरी है कि ऑपरेटिंग सिस्टम भौतिक एड्रेस विस्तार का समर्थन करे।
64 बिट कंप्यूटिंग
एआरएम, इंटेल या एएमडी से डिजाइन जैसे आधुनिक 64-बिट प्रोसेसर 64-बिट कंप्यूटिंग हैं # रैम पतों के लिए 64 बिट्स से कम का समर्थन करने के लिए प्रोसेसर की सीमाएं। वे आमतौर पर 40 से 52 भौतिक एड्रेस बिट्स को लागू करते हैं[1][2][3][4] (1 TB से 4 PB रैम तक सपोर्ट करता है)। यहाँ वर्णित पिछले आर्किटेक्चर की तरह, इनमें से कुछ को तकनीक में सुधार के रूप में रैंडम एक्सेस मेमोरी एड्रेसिंग की उच्च सीमा का समर्थन करने के लिए डिज़ाइन किया गया है। इंटेल64 और AMD64 दोनों में, 52-बिट भौतिक एड्रेस सीमा को आर्किटेक्चर विनिर्देशों (4 PB) में परिभाषित किया गया है।
ऑपरेटिंग सिस्टम रैम की सीमा
सीपी/एम और 8080 एड्रेसिंग लिमिट
माइक्रो कंप्यूटर के लिए पहला प्रमुख ऑपरेटिंग सिस्टम CP/M था। यह ऑपरेटिंग सिस्टम अल्टेयर 8800 जैसे माइक्रो कंप्यूटर के साथ संगत था, जिसे गैरी किल्डाल द्वारा प्रोग्रामिंग भाषा PL/M के संयोजन के साथ बनाया गया था, और इसे इंटेल द्वारा अस्वीकार किए जाने के बाद किल्डल की कंपनी डिजिटल अनुसंधान द्वारा कंप्यूटर निर्माताओं को लाइसेंस दिया गया था। इन कंप्यूटरों द्वारा उपयोग किया जाने वाला इंटेल 8080 एक 8 बिट प्रोसेसर था, जिसमें 16-बिट एड्रेस स्पेस था, जो इसे 64 KB मेमोरी तक एक्सेस करने की अनुमति देता था; इसके कारण CP/M के साथ उपयोग किए जाने वाले .COM निष्पादकों का अधिकतम आकार 64 KB है, जैसा कि 16-बिट माइक्रोप्रोसेसरों के लिए DOS ऑपरेटिंग सिस्टम द्वारा उपयोग किए जाते हैं।
आईबीएम पीसी और 8088 एड्रेसिंग लिमिट
मूल आईबीएम पीसी में, मूल रैम सीमा 640 केबी है। यह 1024 केबी (1 एमबी) के कुल एड्रेसेबल मेमोरी स्पेस के ऊपरी 384 केबी (ऊपरी मेमोरी क्षेत्र (यूएमए)) में हार्डवेयर एड्रेसिंग स्पेस की अनुमति देने के लिए है। 640k बाधा को दूर करने के तरीके, जैसा कि ज्ञात था, 286 और बाद में x86 प्रोसेसर में उपलब्ध विशेष एड्रेसिंग मोड का उपयोग करना सम्मिलित था। 1 एमबी कुल एड्रेस स्पेस 8088 सीपीयू पर लगाई गई 20-बिट एड्रेस स्पेस सीमा का परिणाम था।
रंगीन वीडियो बफ़र स्थान का उपयोग करते हुए, कुछ तृतीय-पक्ष उपयोगिताएँ 640k पारंपरिक मेमोरी क्षेत्र के शीर्ष पर मेमोरी जोड़ सकती हैं, हार्डवेयर एडेप्टर द्वारा उपयोग किए जाने वाले आधार पते तक मेमोरी का विस्तार करने के लिए। यह अंततः MDA आधार पते तक रैम को बैकफ़िल कर सकता है।
हार्डवेयर एक्सटेंशन ने 8086 सीपीयू की तुलना में अधिक मेमोरी तक पहुंच की अनुमति दी, जिसे पेजिंग मेमोरी के माध्यम से संबोधित किया जा सकता था। इस मेमोरी को [[विस्तारित मेमोरी]] के रूप में जाना जाता था। लोटस, इंटेल और माइक्रोसॉफ्ट से बना लीम कंसोर्टियम द्वारा एक उद्योग वास्तविक मानक विकसित किया गया था। यह मानक [[विस्तारित मेमोरी विशिष्टता]] (ईएमएस) था। विस्तारित मेमोरी हार्डवेयर से मेमोरी के पृष्ठ यूएमए अंतरिक्ष में एक मुक्त क्षेत्र में रखी गई एड्रेसिंग विंडो के माध्यम से और अन्य मेमोरी तक पहुंचने के लिए आवश्यक होने पर अन्य पृष्ठों के लिए इसका आदान-प्रदान करके पहुंच योग्य थे। EMS ने 16 एमबी स्पेस का समर्थन किया।
286 सीपीयू आर्किटेक्चर में एक क्विक का उपयोग करते हुए, उच्च मेमोरी एरिया (HMA) को एक्सेस किया जा सकता था, क्योंकि x86 आर्किटेक्चर में 20-बिट एड्रेसिंग की 1 एमबी सीमा से पहले 64 केबी ऊपर था।
286 सीपीयू आर्किटेक्चर की 24-बिट मेमोरी एड्रेसिंग क्षमताओं का उपयोग करते हुए, कुल 16 एमबी का एड्रेस स्पेस एक्सेस किया जा सकता था। 1 एमबी की सीमा से ऊपर की मेमोरी दो विस्तार मेमोरी कहा जाता था। हालांकि 640 केबी और 1 एमबी के मध्य का क्षेत्र आईबीएम पीसी संगत में हार्डवेयर एड्रेसिंग के लिए आरक्षित था। डॉस और अन्य वास्तविक मोड प्रोग्राम, जो 20-बिट पतों तक सीमित हैं, केवल विस्तारित मेमोरी पर ईएमएस एमुलेशन या विस्तारित मेमोरी के लिए ईएमएस एनालॉग के माध्यम से इस स्थान तक पहुंच सकते हैं। Microsoft ने एक मानक विकसित किया जिसे विस्तारित मेमोरी विशिष्टता (XMS) के रूप में जाना जाता है। एचएमए के ऊपर मेमोरी तक पहुँचने के लिए 286 सीपीयू के संरक्षित मोड का उपयोग आवश्यक है।
i386 सीपीयू आर्किटेक्चर के विकास के साथ, एड्रेस स्पेस को 32-बिट एड्रेसिंग और 4 GB की सीमा में ले जाया गया। इस सीपीयू के साथ, DOS कार्यक्रमों के लिए 16 MB मेमोरी क्षेत्रों तक पहुंच उपलब्ध थी, जो DOS एक्सटेंडर का उपयोग करते थे, जैसे DOS/4GW, MiniGW/16, MiniGW, और अन्य। प्रारंभ में वीसीपीआई के रूप में ज्ञात बातचीत के लिए एक वास्तविक उद्योग मेमोरी मानक विकसित किया गया था। बाद में, एक Microsoft मानक ने इसे बदल दिया, जिसे DOS संरक्षित मोड इंटरफ़ेस के रूप में जाना जाता है। इन मानकों ने ईएमएस और एक्सएमएस द्वारा उपयोग की जाने वाली पेजिंग योजना के बजाय 16 एमबी स्पेस तक सीधे पहुंच की अनुमति दी।
16-बिट ओएस/2 रैम सीमा
ऑपरेटिंग सिस्टम में रिज़र्व स्पेस के कारण 16-बिट OS/2 15 एमबी तक सीमित था। इसने गैर-मेमोरी (16 एमबी से 15 एमबी तक) के लिए 16 एमबी 24-बिट एड्रेस स्पेस का शीर्ष 1 एमबी आरक्षित किया।
32-बिट x86 रैम सीमा
32-बिट x86 प्रोसेसर के गैर-पीएई मोड में, प्रयोग करने योग्य रैंडम-एक्सेस मेमोरी 4GB से कम तक सीमित हो सकती है। मेमोरी और एड्रेस स्पेस की सीमाएं प्लेटफॉर्म और ऑपरेटिंग सिस्टम के अनुसार अलग-अलग होती हैं। 32-बिट प्लेटफॉर्म के लिए भौतिक मेमोरी की सीमाएं भौतिक एड्रेस एक्सटेंशन (PAE) की उपस्थिति और उपयोग पर भी निर्भर करती हैं, जो 32-बिट सिस्टम को 4GB से अधिक भौतिक मेमोरी का उपयोग करने की अनुमति देता है।
पीएई और 64-बिट सिस्टम x86 प्रोसेसर के पूर्ण एड्रेस स्पेस को संबोधित करने में सक्षम हो सकते हैं।
यह भी देखें
संदर्भ
- ↑ "AMD64 Programmer's Manual Volume 2: System Programming" (PDF). Advanced Micro Devices. December 2016. p. 120.
- ↑ "Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide, Part 1" (PDF). Intel. September 2016. p. 4-2.
- ↑ "ARM Architecture Reference Manual ARMv8, for ARMv8-A architecture profile". pp. D4-1723, D4-1724, D4-1731.
- ↑ http://infocenter.arm.com/help/topic/com.arm.doc.den0001c/DEN0001C_principles_of_arm_memory_maps.pdf[bare URL PDF]
एक्सटर्नल संबंध
- MSDN Article: Memory Limits for Windows Releases
- The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of रैम is installed – explains the issue
- Windows Vista SP1 includes reporting of Installed System Memory (रैम) – details about the रैम limit