मेमोरी एड्रेस: Difference between revisions

From Vigyanwiki
Line 19: Line 19:
अधिकांश आधुनिक कम्प्यूटर [[ बाइट |बाइट]] -एड्रेसेबल होते हैं। प्रत्येक एड्रेस एक बाइट (8 बिट) स्टोरेज की पहचान करता है। एक बाइट से बड़े डेटा को लगातार एड्रेस के क्रम में संग्रहीत किया जा सकता है। [[ शब्द-पता योग्य |वर्ड -एड्रेसेबल]] कंप्यूटर मौजूद हैं, जहां न्यूनतम एड्रेसेबल स्टोरेज यूनिट प्रोसेसर का शब्द है। उदाहरण के लिए, डेटा जनरल नोवा मिनीकंप्यूटर, टेक्सास इंस्ट्रूमेंट्स टीएमएस 9900 और नेशनल सेमीकंडक्टर [[ IMP-16 |आईऍमपी-16]] माइक्रो कंप्यूटर 16-बिट शब्दों का उपयोग करते हैं, और कई 36-बिट मेनफ्रेम कंप्यूटर (जैसे, [[ PDP-10 |पीडीपी-10]] थे, जो 18-बिट शब्द एड्रेसिंग का उपयोग करते थे बाइट एड्रेसिंग नहीं, 2<sup>18</sup> 36-बिट शब्दों का एड्रेस लोकेशन, लगभग 1 मेगाबाइट स्टोरेज। मेमोरी को संबोधित करने की दक्षता पतों के लिए उपयोग की जाने वाली बस के बिट आकार पर निर्भर करती है - जितने अधिक बिट का उपयोग किया जाता है, उतने ही अधिक एड्रेस कंप्यूटर के लिए उपलब्ध होते हैं। उदाहरण के लिए, एक 20-बिट एड्रेस बस (जैसे [[ इंटेल 8086 |इंटेल 8086]]) के साथ एक 8-बिट-बाइट-एड्रेसेबल मशीन 2<sup>20</sup> (1,048,576) मेमोरी लोकेशन, या एक एमबी मेमोरी को संबोधित कर सकती है, जबकि एक 32-बिट बस (जैसे इंटेल 80386) 2<sup>32</sup> (4,294,967,296) स्थानों या एक 4 जीबी पता स्थान को संबोधित करता है। इसके विपरीत, एक 18-बिट एड्रेस बस के साथ एक 36-बिट वर्ड-एड्रेसेबल मशीन केवल 2<sup>18</sup> (262,144) 36-बिट स्थानों (9,437,184 बिट्स) को संबोधित करती है, जो 1,179,648 8-बिट बाइट्स, या 1152 केबी, या 1.125 एमबी के बराबर है - थोड़ा 8086 से अधिक।
अधिकांश आधुनिक कम्प्यूटर [[ बाइट |बाइट]] -एड्रेसेबल होते हैं। प्रत्येक एड्रेस एक बाइट (8 बिट) स्टोरेज की पहचान करता है। एक बाइट से बड़े डेटा को लगातार एड्रेस के क्रम में संग्रहीत किया जा सकता है। [[ शब्द-पता योग्य |वर्ड -एड्रेसेबल]] कंप्यूटर मौजूद हैं, जहां न्यूनतम एड्रेसेबल स्टोरेज यूनिट प्रोसेसर का शब्द है। उदाहरण के लिए, डेटा जनरल नोवा मिनीकंप्यूटर, टेक्सास इंस्ट्रूमेंट्स टीएमएस 9900 और नेशनल सेमीकंडक्टर [[ IMP-16 |आईऍमपी-16]] माइक्रो कंप्यूटर 16-बिट शब्दों का उपयोग करते हैं, और कई 36-बिट मेनफ्रेम कंप्यूटर (जैसे, [[ PDP-10 |पीडीपी-10]] थे, जो 18-बिट शब्द एड्रेसिंग का उपयोग करते थे बाइट एड्रेसिंग नहीं, 2<sup>18</sup> 36-बिट शब्दों का एड्रेस लोकेशन, लगभग 1 मेगाबाइट स्टोरेज। मेमोरी को संबोधित करने की दक्षता पतों के लिए उपयोग की जाने वाली बस के बिट आकार पर निर्भर करती है - जितने अधिक बिट का उपयोग किया जाता है, उतने ही अधिक एड्रेस कंप्यूटर के लिए उपलब्ध होते हैं। उदाहरण के लिए, एक 20-बिट एड्रेस बस (जैसे [[ इंटेल 8086 |इंटेल 8086]]) के साथ एक 8-बिट-बाइट-एड्रेसेबल मशीन 2<sup>20</sup> (1,048,576) मेमोरी लोकेशन, या एक एमबी मेमोरी को संबोधित कर सकती है, जबकि एक 32-बिट बस (जैसे इंटेल 80386) 2<sup>32</sup> (4,294,967,296) स्थानों या एक 4 जीबी पता स्थान को संबोधित करता है। इसके विपरीत, एक 18-बिट एड्रेस बस के साथ एक 36-बिट वर्ड-एड्रेसेबल मशीन केवल 2<sup>18</sup> (262,144) 36-बिट स्थानों (9,437,184 बिट्स) को संबोधित करती है, जो 1,179,648 8-बिट बाइट्स, या 1152 केबी, या 1.125 एमबी के बराबर है - थोड़ा 8086 से अधिक।


कुछ पुराने कंप्यूटर दशमलव संख्यात्मक अंक-एड्रेसेबल थे। उदाहरण के लिए, [[ आईबीएम 1620 |आईबीएम 1620]] की [[ चुंबकीय-कोर मेमोरी |चुंबकीय-कोर मेमोरी]] में प्रत्येक एड्रेस ने एक छह बिट [[ बाइनरी-कोडेड दशमलव |बाइनरी-कोडेड दशमलव]] अंक की पहचान की, जिसमें पैरिटी बिट, [[ झंडा बिट |फ्लैग बिट]] और चार संख्यात्मक बिट्स शामिल थे। 1620 में 5 अंकों के दशमलव पतों का उपयोग किया गया था, इसलिए सिद्धांत रूप में उच्चतम संभव एड्रेस 99,999 था। अभ्यास के दौरान, सीपीयू ने 20,000 मेमोरी लोकेशन का समर्थन किया जिसमे दो और वैकल्पिक बाहरी मेमोरी इकाइयों को जोड़ा जा सकता है जोकि प्रत्येक 20,000 एड्रेस का समर्थन करता है, कुल 60,000 (00000-59999) तक के लिए।
कुछ पुराने कंप्यूटर (डेसीमल कंप्यूटर) डेसीमल डिजिट-एड्रेसेबल योग्य थे। उदाहरण के लिए, [[ आईबीएम 1620 |आईबीएम 1620]] की [[ चुंबकीय-कोर मेमोरी |चुंबकीय-कोर मेमोरी]] में प्रत्येक पता 6 -बिट [[ बाइनरी-कोडेड दशमलव |बाइनरी-कोडेड]] डेसीमल अंक द्वारा पहचाना जाता है, जिसमें पैरिटी बिट, [[ झंडा बिट |फ्लैग बिट]], और चार संख्यात्मक बिट्स शामिल हैं। 1620 के दशक में 5 अंकों के डेसीमल एड्रेस का उपयोग किया गया था, इसलिए सिद्धांत रूप में, उच्चतम संभव पता 99,999 था। व्यवहार में, सीपीयू ने 20,000 मेमोरी स्थानों का समर्थन किया, और कुल 60,000 (00000-59999) के लिए दो वैकल्पिक बाहरी मेमोरी इकाइयां जोड़ी गईं, जिनमें से प्रत्येक 20,000 एड्रेस का समर्थन करती थी।


=== वर्ड साइज बनाम एड्रेस साइज ===
=== वर्ड साइज बनाम एड्रेस साइज ===
वर्ड ([[ कंप्यूटर आर्किटेक्चर |कंप्यूटर आर्किटेक्चर]]) आकार कंप्यूटर आर्किटेक्चर की एक विशेषता है जो एक समय में सीपीयू द्वारा प्रोसेस किए जा सकने वाले बिट्स की संख्या को दर्शाता है। [[ अंतः स्थापित प्रणालियाँ |अंतः स्थापित प्रणालियाँ]] सहित आधुनिक प्रोसेसर में आमतौर पर 8, 16, 24, 32 या 64 बिट्स का वर्ड आकार होता है; अधिकांश वर्तमान सामान्य-उद्देश्य वाले कंप्यूटर 32 या 64 बिट का उपयोग करते हैं। ऐतिहासिक रूप में कई अलग-अलग आकारों का उपयोग किया गया था, जिनमें 8, 9, 10, 12, 18, 24, 36, 39, 40, 48 और 60 बिट्स शामिल थे।
वर्ड साइज [[ कंप्यूटर आर्किटेक्चर |कंप्यूटर आर्किटेक्चर]] की एक विशेषता है जो बिट्स की संख्या का प्रतिनिधित्व करता है जिसे एक सीपीयू एक समय में प्रोसेस कर सकता है। आधुनिक प्रोसेसर, एम्बेडेड सिस्टम सहित, आमतौर पर 8, 16, 24, 32, या 64 बिट्स का शब्द आकार होता है; अधिकांश वर्तमान सामान्य-उद्देश्य वाले कंप्यूटर या तो 32 या 64 बिट्स का उपयोग करते हैं। 8, 9, 10, 12, 18, 24, 36, 39, 40, 48, और 60 बिट्स सहित कई अलग-अलग बिट आकारों का ऐतिहासिक रूप से उपयोग किया गया है।


अक्सर, आधुनिक कंप्यूटर के वर्ड आकार का जिक्र करते समय, उस कंप्यूटर पर एड्रेस स्पेस के आकार का भी वर्णन किया जाता है। उदाहरण के लिए, एक कंप्यूटर जिसे [[ 32-बिट |32-बिट]] कहा जाता है, आमतौर पर जो 32-बिट मेमोरी एड्रेस की भी अनुमति देता है; एक बाइट-एड्रेसेबल 32-बिट कंप्यूटर 2<sup>32</sup> = 4,294,967,296 बाइट्स मेमोरी या 4 गीगाबाइट्स को संबोधित करता है। यह एक मेमोरी एड्रेस को एक वर्ड में स्टोर करने की अनुमति देता है।
बहुत बार, आधुनिक कंप्यूटर के शब्द आकार का जिक्र करते समय, उस कंप्यूटर पर पता स्थान के आकार का भी वर्णन किया जाता है। उदाहरण के लिए, "[[ 32-बिट |32-बिट]]" लेबल वाला कंप्यूटर आमतौर पर 32-बिट मेमोरी पतों की अनुमति देता है; एक बाइट-एड्रेसेबल 32-बिट कंप्यूटर 232 = 4,294,967,296 बाइट्स मेमोरी, या 4 बाईट्स (जीबी) को एड्रेस कर सकता है। यह एक स्मृति पते को एक शब्द में कुशलतापूर्वक संग्रहित करने की अनुमति देता है।


हालांकि, यह हमेशा सच नहीं होता है। कंप्यूटर के मेमोरी एड्रेस उनके वर्ड आकार से बड़े या छोटे हो सकते हैं। उदाहरण के लिए, कई [[ 8 बिट |8 बिट]] प्रोसेसर, जैसे कि [[ एमओएस प्रौद्योगिकी 6502 |एमओएस प्रौद्योगिकी 6502]] जो 16-बिट एड्रेस को समर्थित करते है या वे केवल 256 बाइट्स मेमोरी एड्रेसिंग तक सीमित होते। 16-बिट [[ Intel 8088 |इंटेल]] [[ Intel 8088 |8088]] और [[ इंटेल 8086 |इंटेल]] 8086 ने विभाजन के माध्यम से 20-बिट एड्रेसिंग का समर्थन किया, जिससे उन्हें 64 कीबी बाइट मेमोरी के बजाय 1 मेबी बाइट तक पहुंचने की अनुमति मिली। [[ पेंटियम प्रो |पेंटियम प्रो]] के बाद से सभी इंटेल [[ पेंटियम (ब्रांड) |पेंटियम ब्रांड]] प्रोसेसर में भौतिक एड्रेस एक्सटेंशन (पीएई) शामिल हैं जो 32-बिट आभासी एड्रेस के लिए 36-बिट भौतिक एड्रेस की मैपिंग का समर्थन करते हैं। कई शुरुआती प्रोसेसर में प्रति वर्ड 2 एड्रेस होते थे, जैसे कि 36-बिट प्रोसेसर।
हालांकि, यह हमेशा सच नहीं होता है। कंप्यूटर के मेमोरी एड्रेस उनके वर्ड आकार से बड़े या छोटे हो सकते हैं। उदाहरण के लिए, कई [[ 8 बिट |8 बिट]] प्रोसेसर, जैसे कि [[ एमओएस प्रौद्योगिकी 6502 |एमओएस प्रौद्योगिकी 6502]] जो 16-बिट एड्रेस को समर्थित करते है या वे केवल 256 बाइट्स मेमोरी एड्रेसिंग तक सीमित होते। 16-बिट [[ Intel 8088 |इंटेल]] [[ Intel 8088 |8088]] और [[ इंटेल 8086 |इंटेल]] 8086 ने विभाजन के माध्यम से 20-बिट एड्रेसिंग का समर्थन किया, जिससे उन्हें 64 कीबी बाइट मेमोरी के बजाय 1 मेबी बाइट तक पहुंचने की अनुमति मिली। [[ पेंटियम प्रो |पेंटियम प्रो]] के बाद से सभी इंटेल [[ पेंटियम (ब्रांड) |पेंटियम ब्रांड]] प्रोसेसर में भौतिक एड्रेस एक्सटेंशन (पीएई) शामिल हैं जो 32-बिट आभासी एड्रेस के लिए 36-बिट भौतिक एड्रेस की मैपिंग का समर्थन करते हैं। कई शुरुआती प्रोसेसर में प्रति वर्ड 2 एड्रेस होते थे, जैसे कि 36-बिट प्रोसेसर।

Revision as of 22:37, 3 December 2022

अप्रत्यक्ष मेमोरी का उपयोग करने वाले कंप्यूटर में, मेमोरी एड्रेस के अनुरूप लोकेशन तक पहुँचने में कई स्तर शामिल हो सकते हैं।

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

प्रकार

फिजिकल एड्रेस

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

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

लॉजिकल एड्रेस

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

एड्रेस रेजोल्यूशन की इकाई

अधिकांश आधुनिक कम्प्यूटर बाइट -एड्रेसेबल होते हैं। प्रत्येक एड्रेस एक बाइट (8 बिट) स्टोरेज की पहचान करता है। एक बाइट से बड़े डेटा को लगातार एड्रेस के क्रम में संग्रहीत किया जा सकता है। वर्ड -एड्रेसेबल कंप्यूटर मौजूद हैं, जहां न्यूनतम एड्रेसेबल स्टोरेज यूनिट प्रोसेसर का शब्द है। उदाहरण के लिए, डेटा जनरल नोवा मिनीकंप्यूटर, टेक्सास इंस्ट्रूमेंट्स टीएमएस 9900 और नेशनल सेमीकंडक्टर आईऍमपी-16 माइक्रो कंप्यूटर 16-बिट शब्दों का उपयोग करते हैं, और कई 36-बिट मेनफ्रेम कंप्यूटर (जैसे, पीडीपी-10 थे, जो 18-बिट शब्द एड्रेसिंग का उपयोग करते थे बाइट एड्रेसिंग नहीं, 218 36-बिट शब्दों का एड्रेस लोकेशन, लगभग 1 मेगाबाइट स्टोरेज। मेमोरी को संबोधित करने की दक्षता पतों के लिए उपयोग की जाने वाली बस के बिट आकार पर निर्भर करती है - जितने अधिक बिट का उपयोग किया जाता है, उतने ही अधिक एड्रेस कंप्यूटर के लिए उपलब्ध होते हैं। उदाहरण के लिए, एक 20-बिट एड्रेस बस (जैसे इंटेल 8086) के साथ एक 8-बिट-बाइट-एड्रेसेबल मशीन 220 (1,048,576) मेमोरी लोकेशन, या एक एमबी मेमोरी को संबोधित कर सकती है, जबकि एक 32-बिट बस (जैसे इंटेल 80386) 232 (4,294,967,296) स्थानों या एक 4 जीबी पता स्थान को संबोधित करता है। इसके विपरीत, एक 18-बिट एड्रेस बस के साथ एक 36-बिट वर्ड-एड्रेसेबल मशीन केवल 218 (262,144) 36-बिट स्थानों (9,437,184 बिट्स) को संबोधित करती है, जो 1,179,648 8-बिट बाइट्स, या 1152 केबी, या 1.125 एमबी के बराबर है - थोड़ा 8086 से अधिक।

कुछ पुराने कंप्यूटर (डेसीमल कंप्यूटर) डेसीमल डिजिट-एड्रेसेबल योग्य थे। उदाहरण के लिए, आईबीएम 1620 की चुंबकीय-कोर मेमोरी में प्रत्येक पता 6 -बिट बाइनरी-कोडेड डेसीमल अंक द्वारा पहचाना जाता है, जिसमें पैरिटी बिट, फ्लैग बिट, और चार संख्यात्मक बिट्स शामिल हैं। 1620 के दशक में 5 अंकों के डेसीमल एड्रेस का उपयोग किया गया था, इसलिए सिद्धांत रूप में, उच्चतम संभव पता 99,999 था। व्यवहार में, सीपीयू ने 20,000 मेमोरी स्थानों का समर्थन किया, और कुल 60,000 (00000-59999) के लिए दो वैकल्पिक बाहरी मेमोरी इकाइयां जोड़ी गईं, जिनमें से प्रत्येक 20,000 एड्रेस का समर्थन करती थी।

वर्ड साइज बनाम एड्रेस साइज

वर्ड साइज कंप्यूटर आर्किटेक्चर की एक विशेषता है जो बिट्स की संख्या का प्रतिनिधित्व करता है जिसे एक सीपीयू एक समय में प्रोसेस कर सकता है। आधुनिक प्रोसेसर, एम्बेडेड सिस्टम सहित, आमतौर पर 8, 16, 24, 32, या 64 बिट्स का शब्द आकार होता है; अधिकांश वर्तमान सामान्य-उद्देश्य वाले कंप्यूटर या तो 32 या 64 बिट्स का उपयोग करते हैं। 8, 9, 10, 12, 18, 24, 36, 39, 40, 48, और 60 बिट्स सहित कई अलग-अलग बिट आकारों का ऐतिहासिक रूप से उपयोग किया गया है।

बहुत बार, आधुनिक कंप्यूटर के शब्द आकार का जिक्र करते समय, उस कंप्यूटर पर पता स्थान के आकार का भी वर्णन किया जाता है। उदाहरण के लिए, "32-बिट" लेबल वाला कंप्यूटर आमतौर पर 32-बिट मेमोरी पतों की अनुमति देता है; एक बाइट-एड्रेसेबल 32-बिट कंप्यूटर 232 = 4,294,967,296 बाइट्स मेमोरी, या 4 बाईट्स (जीबी) को एड्रेस कर सकता है। यह एक स्मृति पते को एक शब्द में कुशलतापूर्वक संग्रहित करने की अनुमति देता है।

हालांकि, यह हमेशा सच नहीं होता है। कंप्यूटर के मेमोरी एड्रेस उनके वर्ड आकार से बड़े या छोटे हो सकते हैं। उदाहरण के लिए, कई 8 बिट प्रोसेसर, जैसे कि एमओएस प्रौद्योगिकी 6502 जो 16-बिट एड्रेस को समर्थित करते है या वे केवल 256 बाइट्स मेमोरी एड्रेसिंग तक सीमित होते। 16-बिट इंटेल 8088 और इंटेल 8086 ने विभाजन के माध्यम से 20-बिट एड्रेसिंग का समर्थन किया, जिससे उन्हें 64 कीबी बाइट मेमोरी के बजाय 1 मेबी बाइट तक पहुंचने की अनुमति मिली। पेंटियम प्रो के बाद से सभी इंटेल पेंटियम ब्रांड प्रोसेसर में भौतिक एड्रेस एक्सटेंशन (पीएई) शामिल हैं जो 32-बिट आभासी एड्रेस के लिए 36-बिट भौतिक एड्रेस की मैपिंग का समर्थन करते हैं। कई शुरुआती प्रोसेसर में प्रति वर्ड 2 एड्रेस होते थे, जैसे कि 36-बिट प्रोसेसर।

सिद्धांत रूप में, आधुनिक बाइट-एड्रेसेबल 64-बिट कंप्यूटर 264 बाइट्स जोकि 16 एक्सबीबाइट को संबोधित कर सकते हैं लेकिन व्यवहार में मेमोरी की मात्रा सीपीयू, मेमोरी कंट्रोलर, या मुद्रित परिपथ बोर्ड डिज़ाइन जैसे, भौतिक मेमोरी कनेक्टर की संख्या या सोल्डर-ऑन ​​मेमोरी की मात्रा द्वारा सीमित होती है। .

प्रत्येक मेमोरी लोकेशन की विषय-सूची

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

जब यह महंगा था तब कुछ शुरुआती प्रोग्रामर ने मेमोरी की बचत करने के तरीके के रूप में निर्देशों और डेटा वर्ड्स को जोड़ा: मैनचेस्टर मार्क 1 के पास 40-बिट वर्ड में डेटा के छोटे बिट्स को स्टोर करने के लिए जगह थी - इसके प्रोसेसर ने बीच में एक छोटे से हिस्से को नजरअंदाज कर दिया। एक वर्ड - और जिसे अक्सर अतिरिक्त डेटा संग्रहण के रूप में उपयोग किया जाता था।[citation needed] कंप्यूटर वायरस जैसे स्व-प्रतिकृति प्रोग्राम स्वयं को कभी डेटा के रूप में और कभी-कभी निर्देश के रूप में व्यवहार करते हैं। स्व-संशोधित कोड आमतौर पर आजकल बहिष्कृत है, क्योंकि यह कुछ बाइट्स की बचत के लिए परीक्षण और रखरखाव को असमान रूप से कठिन बना देता है, और मशीन के राज्य कंप्यूटर विज्ञान के बारे में कंपाइलर या प्रोसेसर की धारणाओं के कारण गलत परिणाम भी दे सकता है, लेकिन अभी भी है कभी-कभी जानबूझकर इसे बहुत सावधानी से उपयोग किया जाता है।

एप्लिकेशन प्रोग्रामिंग में एड्रेस लोकेशन

आधुनिक कंप्यूटर मल्टीटास्किंग वातावरण में, एक एप्लिकेशन प्रोग्राम में आमतौर पर इसके एड्रेस स्पेस में निम्न प्रकार की मेमोरी होती है:

एड्रेस लोकेशन के कुछ हिस्सों को बिल्कुल भी मैप नहीं किया जा सकता है।

कुछ सिस्टम में "स्प्लिट" मेमोरी आर्किटेक्चर होता है जहां मशीन कोड, स्थिरांक और डेटा अलग-अलग स्थानों पर होते हैं, और अलग-अलग लोकेशन के आकार हो सकते हैं। उदाहरण के लिए, PIC18 माइक्रोकंट्रोलर्स के पास फ्लैश मेमोरी में मशीन कोड और स्थिरांक को संबोधित करने के लिए 21-बिट प्रोग्राम काउंटर और SRAM में डेटा को संबोधित करने के लिए 12-बिट एड्रेस रजिस्टर हैं।

योजनाओं को संबोधित करना

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

भौतिक और आभासी मेमोरी में तार्किक पतों का मानचित्रण भी अप्रत्यक्ष के कई स्तरों को जोड़ता है; नीचे देखें।

मेमोरी मॉडल

कई प्रोग्रामर मेमोरी को इस तरह संबोधित करना पसंद करते हैं कि कोड स्पेस और डेटा स्पेस के साथ-साथ भौतिक और वर्चुअल मेमोरी के बीच कोई अंतर नहीं हो - दूसरे शब्दों में, संख्यात्मक रूप से समान पॉइंटर्स रैम के ठीक उसी बाइट को संदर्भित करते हैं।

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

x86 आर्किटेक्चर में मेमोरी मॉडल

प्रारंभिक x86 कंप्यूटर दो संख्याओं के संयोजन के आधार पर मेमोरी विभाजन एड्रेस का उपयोग करते थे: एकx86 मेमोरी सेगमेंटेशन , और दूसरा उस सेगमेंट के भीतर एक ऑफ़सेट।

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


यह भी देखें

  • मेमोरी एड्रेस रजिस्टर

संदर्भ


==