रैम सीमा

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

प्रयोग करने योग्य भौतिक रैम के लिए सॉफ़्टवेयर सीमाएँ उपस्थित हो सकती हैं। ऑपरेटिंग सिस्टम को केवल निश्चित मात्रा में मेमोरी एलोकेट करने के लिए डिज़ाइन किया जा सकता है जिसमें ऊपरी एड्रेस बिट्स को I/O या सुपरवाइजर मोड या अन्य सिक्योरिटी इनफार्मेशन जैसे पदनामों को इंगित करने के लिए आरक्षित किया जाता है। या ऑपरेटिंग सिस्टम एड्रेसेबल मेमोरी के लिए निश्चित सीमा के साथ इंटरनल डेटा स्ट्रक्चर पर निर्भर हो सकता है।

मास-मार्केट पर्सनल कंप्यूटर के लिए, मास-मार्केट सॉफ़्टवेयर रन कराने के लिए आवश्यकता से अधिक मेमोरी सॉकेट, एड्रेस लाइन या अन्य हार्डवेयर प्रदान करने में निर्माता को कोई वित्तीय लाभ नहीं हो सकता है। जब मेमोरी डिवाइस प्रोसेसर की तुलना में अपेक्षाकृत बहुमूल्य थे, तो अधिकांशतः सिस्टम के साथ दी जाने वाली रैम व्यय के कारण हार्डवेयर की एड्रेस कैपेसिटी से अत्यल्प थी।

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

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

जैसे-जैसे इंटीग्रेटेड परिपथ मेमोरी कम अपव्ययी होती गई, बड़े भौतिक मेमोरी स्पेस के साथ सिस्टम डिजाइन करना संभव हो गया।

16 से कम एड्रेस पिंस
इंटीग्रेटेड I/O और मेमोरी ऑन-चिप वाले माइक्रोकंट्रोलर डिवाइस में कभी-कभी एक्सटर्नल डिवाइस के लिए कोई छोटी एड्रेस बस उपलब्ध नहीं होती थी। उदाहरण के लिए, 2 किलोबाइट एड्रेस स्पेस के साथ उपलब्ध माइक्रोकंट्रोलर का वैरिएंट हो सकता है जो एक्सटर्नल रोम के लिए 11 लाइन एड्रेस बस लाता है, यह I/O पिन को एड्रेस बस पिन के रूप में पुन: असाइन करके किया जा सकता है। इंटीग्रेटेड रोम के साथ कुछ सामान्य-उद्देश्य वाले प्रोसेसर, इंटीग्रेटेड रोम और एक्सटर्नल 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-बिट एड्रेस स्पेस था, जो इसे 4जीबी की अधिकतम एड्रेसेबल मेमोरी सीमा प्रदान करता था। मोटोरोला 68000 श्रृंखला में निम्नलिखित सभी चिप्स ने इस सीमा को इनहेरिट किया है।

32 बिट एड्रेस, 36 एड्रेस पिंस: पेंटियम प्रो (उर्फ पी 6)
पेंटियम प्रो और सभी पेंटियम 4 एस में 36-बिट एड्रेसिंग है, जिसके परिणामस्वरूप 64 गीगाबाइट्स का कुल एड्रेसेबल स्पेस है, किन्तु इसके लिए आवश्यक है कि ऑपरेटिंग सिस्टम फिजिकल एड्रेस एक्सटेंशन का समर्थन करे।

64 बिट कंप्यूटिंग
आधुनिक 64-बिट के प्रोसेसर जैसे एआरएम, इंटेल या एएमडी सामान्यतः रैम एड्रेस के लिए 64 बिट से कम का समर्थन करने तक सीमित हैं। वे सामान्यतः 40 से 52 भौतिक एड्रेस बिट्स को प्रस्तावित करते हैं   (1 TB से 4 PB रैम तक सपोर्ट करता है)। यहाँ वर्णित पूर्व आर्किटेक्चर की भाँति, इनमें से कुछ को तकनीक में सुधार के रूप में  रैंडम एक्सेस मेमोरी  एड्रेसिंग की उच्च सीमा का समर्थन करने के लिए डिज़ाइन किया गया है। इंटेल64 और एएमडी64 दोनों में, 52-बिट भौतिक एड्रेस सीमा को आर्किटेक्चर स्पेसिफिकेशन्स (4 PB) में परिभाषित किया गया है।

सीपी/एम और 8080 एड्रेसिंग लिमिट
माइक्रो कंप्यूटर के लिए प्रथम प्रमुख ऑपरेटिंग सिस्टम सीपी/एम था। यह ऑपरेटिंग सिस्टम अल्टेयर 8800 जैसे माइक्रो कंप्यूटर के साथ संगत था, जिसे गैरी किल्डाल द्वारा प्रोग्रामिंग भाषा पीएल/एम के संयोजन के साथ बनाया गया था और इसे इंटेल द्वारा अस्वीकार किए जाने के पश्चात किल्डल की कंपनी डिजिटल अनुसंधान  द्वारा कंप्यूटर निर्माताओं को लाइसेंस प्रदान किया गया था। इन कंप्यूटरों द्वारा उपयोग किया जाने वाला इंटेल 8080  8 बिट  प्रोसेसर था, जिसमें 16-बिट एड्रेस स्पेस था, जो इसे 64 केबी मेमोरी तक एक्सेस करने की अनुमति प्रदान करता था; इसके कारण सीपी/एम के साथ उपयोग किए जाने वाले .COM निष्पादकों का अधिकतम साइज 64 केबी है, जैसे कि 16-बिट माइक्रोप्रोसेसरों के लिए डॉस ऑपरेटिंग सिस्टम द्वारा उपयोग किए जाते हैं।

आईबीएम पीसी और 8088 एड्रेसिंग लिमिट
मूल आईबीएम पीसी में, मूल रैम की लिमिट 640 केबी की है। यह 1024 केबी (1 एमबी) के कुल एड्रेसेबल मेमोरी स्पेस के अपर 384 केबी (अपर मेमोरी क्षेत्र (यूएमए)) में हार्डवेयर एड्रेसिंग स्पेस की अनुमति देने के लिए है। 640k बैरियर को दूर करने के प्रकारों में 286 और x86 प्रोसेसर में उपलब्ध विशेष एड्रेसिंग मोड का उपयोग करना सम्मिलित था। 1 एमबी कुल एड्रेस स्पेस 8088 सीपीयू पर लगाई गई 20-बिट एड्रेस स्पेस सीमा का परिणाम था।

कलर वीडियो बफ़र स्पेस का उपयोग करके कुछ थर्ड-पार्टी उपयोगिताएँ 640k कन्वेंशनल मेमोरी एरिया के शीर्ष पर मेमोरी ऐड कर सकते हैं जिससे कि मेमोरी को हार्डवेयर एडेप्टर द्वारा उपयोग किए जाने वाले बेस एड्रेस तक विस्तृत किया जा सकता है। यह अंततः एमडीए बेस एड्रेस तक रैम को बैकफ़िल कर सकता है।

हार्डवेयर एक्सटेंशन ने 8086 सीपीयू की तुलना में अधिक मेमोरी एक्सेस की अनुमति प्रदान की, जिसे पेजिंग मेमोरी के माध्यम से संबोधित किया जा सकता था। इस मेमोरी को एक्सपैंडेड मेमोरी के रूप में जाना जाता था। लोटस, इंटेल और माइक्रोसॉफ्ट से बने लिम कंसोर्टियम द्वारा उद्योग विकसित किया गया था। यह मानक एक्सपैंडेड मेमोरी स्पेसिफिकेशन (ईएमएस) था। एक्सपैंडेड मेमोरी हार्डवेयर से मेमोरी के पेज यूएमए स्पेस में फ्री एरिया में रखी गई एड्रेसिंग विंडो के माध्यम से और अन्य मेमोरी एक्सेस करने के लिए आवश्यकता होने पर अन्य पेजों के लिए एक्सचेंज करके एक्सेस किए जा सकते थे। ईएमएस ने 16 एमबी स्पेस का समर्थन किया।

286 सीपीयू आर्किटेक्चर में क्विक का उपयोग करके हाई मेमोरी एरिया (एचएमए) को एक्सेस किया जा सकता था, क्योंकि x86 आर्किटेक्चर में 20-बिट एड्रेसिंग की 1 एमबी सीमा से पूर्व 64 केबी अधिक थी।

286 सीपीयू आर्किटेक्चर की 24-बिट मेमोरी एड्रेसिंग क्षमताओं का उपयोग करके कुल 16 एमबी का एड्रेस स्पेस एक्सेस किया जा सकता था। 1 एमबी की सीमा से अधिक की मेमोरी एक्सपैंडेड मेमोरी कहलाती थी। चूँकि 640 केबी और 1 एमबी के मध्य का क्षेत्र आईबीएम पीसी संगत में हार्डवेयर एड्रेसिंग के लिए आरक्षित था। डॉस और अन्य रियल मोड प्रोग्राम, जो 20-बिट एड्रेस तक सीमित हैं, केवल एक्सपैंडेड मेमोरी पर ईएमएस एमुलेशन या एक्सपैंडेड मेमोरी के लिए ईएमएस एनालॉग के माध्यम से इस स्पेस पर एक्सेस कर सकते हैं। माइक्रोसॉफ्ट ने स्टैण्डर्ड विकसित किया जिसे एक्सपैंडेड मेमोरी स्पेसिफिकेशन (एक्सएमएस) के रूप में जाना जाता है। एचएमए के ऊपर मेमोरी एक्सेस्सिंग के लिए 286 सीपीयू के प्रोटेक्टेड मोड का उपयोग आवश्यक है।

i386 सीपीयू आर्किटेक्चर के विकास के साथ एड्रेस स्पेस को 32-बिट एड्रेसिंग और 4 जीबी लिमिट में ले जाया गया। इस सीपीयू के साथ 16 एमबी मेमोरी क्षेत्र डॉस प्रोग्राम के लिए उपलब्ध थे जो डॉस एक्सटेंडर जैसे डॉस/4जीडब्ल्यू, मिनीजीडब्ल्यू/16, मिनीजीडब्ल्यू और अन्य का उपयोग करते थे। प्रारंभ में वीसीपीआई के साथ इंटरेक्शन के लिए रियल उद्योग मेमोरी स्टैण्डर्ड विकसित किया गया था। जिसके पश्चात्, माइक्रोसॉफ्ट स्टैण्डर्ड ने इसे परिवर्तित कर दिया, जिसे डॉस प्रोटेक्टेड मोड इंटरफ़ेस के रूप में जाना जाता है। इन मानकों ने ईएमएस और एक्सएमएस द्वारा उपयोग की जाने वाली पेजिंग स्कीम के अतिरिक्त 16 एमबी स्पेस तक डायरेक्ट एक्सेस की अनुमति दी।

16-बिट ओएस/2 रैम सीमा
ऑपरेटिंग सिस्टम में रिज़र्व स्पेस के कारण 16-बिट ओएस/2 15 एमबी तक सीमित था। इसने नॉन-मेमोरी (16 एमबी से 15 एमबी तक) के लिए 16 एमबी 24-बिट एड्रेस स्पेस का शीर्ष 1 एमबी आरक्षित किया।

32-बिट x86 रैम सीमा
32-बिट x86 प्रोसेसर के नॉन-पीएई मोड में, उपयोगी रैंडम-एक्सेस मेमोरी 4जीबी से कम तक सीमित हो सकती है। मेमोरी और एड्रेस स्पेस की सीमाएं प्लेटफॉर्म और ऑपरेटिंग सिस्टम के अनुसार भिन्न-भिन्न होती हैं। 32-बिट प्लेटफॉर्म के लिए भौतिक मेमोरी की सीमाएं भौतिक एड्रेस एक्सटेंशन (पीएई) की उपस्थिति और उपयोग पर भी निर्भर करती हैं, जो 32-बिट सिस्टम को 4जीबी से अधिक भौतिक मेमोरी का उपयोग करने की अनुमति देता है।

पीएई और 64-बिट सिस्टम x86 प्रोसेसर के पूर्ण एड्रेस स्पेस को संबोधित करने में सक्षम हो सकते हैं।

यह भी देखें

 * डॉस मेमोरी प्रबंधन
 * मदरबोर्ड

एक्सटर्नल संबंध

 * 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 जीबी of रैम is installed – explains the issue
 * Windows Vista SP1 includes reporting of Installed System Memory (रैम) – details about the रैम limit