स्मृति पता

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

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

प्रकार

भौतिक पते

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

तार्किक पते

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

पता संकल्प की इकाई

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

कुछ पुराने कंप्यूटर (दशमलव कंप्यूटर), दशमलव संख्यात्मक अंक-एड्रेसेबल थे। उदाहरण के लिए, आईबीएम 1620 की चुंबकीय-कोर मेमोरी में प्रत्येक पता एक एकल छह बिट बाइनरी-कोडित दशमलव अंक की पहचान करता है, जिसमें समानता बिट, झंडा बिट और चार संख्यात्मक बिट शामिल हैं। 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-बिट कंप्यूटर 2 को संबोधित कर सकता है32 = 4,294,967,296 मेमोरी बाइट्स, या 4 जीबीबाइट्स (जीआईबी)। यह एक स्मृति पते को एक शब्द में कुशलतापूर्वक संग्रहीत करने की अनुमति देता है।

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

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

प्रत्येक स्मृति स्थान की सामग्री

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

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

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

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

हो सकता है कि पता स्थान के कुछ हिस्सों को बिल्कुल भी मैप न किया गया हो।

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

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

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

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

मेमोरी मॉडल

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

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

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

शुरुआती x86 कंप्यूटर दो नंबरों के संयोजन के आधार पर स्मृति विभाजन एड्रेस का उपयोग करते हैं: एक x86 मेमोरी सेगमेंटेशन और उस सेगमेंट के भीतर एक ऑफसेट (कंप्यूटर साइंस)।

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


यह भी देखें

  • आधार पता
  • endianness
  • निम्न स्तर की प्रोग्रामिंग भाषा
  • मेमोरी एड्रेस रजिस्टर


इस पेज में लापता आंतरिक लिंक की सूची

  • बाइनरी संख्या
  • स्मृति परीक्षक
  • उपयोगिता का कार्यक्रम
  • स्मृति प्रबंधन इकाई
  • शब्द (कंप्यूटर वास्तुकला)
  • बाइट-एड्रेसेबल
  • समता द्वियक
  • दशमलव कंप्यूटर
  • भौतिक पता विस्तार
  • स्वयं नकल
  • सापेक्ष पता
  • एड्रेसिंग मोड
  • ऑफसेट (कंप्यूटर विज्ञान)
  • निम्न-स्तरीय प्रोग्रामिंग भाषा

संदर्भ