फ्लैट मेमोरी मॉडल: Difference between revisions
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
== मेमोरी मॉडल == | == मेमोरी मॉडल == | ||
{{Main|1= | {{Main|1=मेमोरी मॉडल (एड्रेसिंग स्कीम)|l1=मेमोरी मॉडल}} | ||
अधिकांश आधुनिक मेमोरी मॉडल तीन श्रेणियों में से एक में आते हैं: | अधिकांश आधुनिक मेमोरी मॉडल तीन श्रेणियों में से एक में आते हैं: | ||
Line 18: | Line 18: | ||
=== फ्लैट मेमोरी मॉडल === | === फ्लैट मेमोरी मॉडल === | ||
* प्रोग्रामर, साफ डिजाइन के लिए सरल इंटरफ़ेस | * प्रोग्रामर, साफ डिजाइन के लिए सरल इंटरफ़ेस | ||
* | *एक समान पहुंच गति के कारण सबसे अधिक लचीलापन (विभाजित मेमोरी पृष्ठ स्विच सामान्यतः अन्य पृष्ठों की लंबी पहुंच के कारण भिन्न विलंबता उत्पन्न करते हैं, या तो बदलते पृष्ठ में अतिरिक्त सीपीयू तर्क, या हार्डवेयर आवश्यकताओं के कारण) | ||
* सरल नियंत्रक अनुप्रयोगों के लिए न्यूनतम हार्डवेयर और सीपीयू रियल एस्टेट | * सरल नियंत्रक अनुप्रयोगों के लिए न्यूनतम हार्डवेयर और सीपीयू रियल एस्टेट | ||
*अधिकतम निष्पादन गति, बस सीपीयू या तर्क के कारण कोई विलंबता नहीं है।{{why|date=November 2016}} | *अधिकतम निष्पादन गति, बस सीपीयू या तर्क के कारण कोई विलंबता नहीं है।{{why|date=November 2016}} | ||
*सामान्य कंप्यूटिंग या मल्टीटास्किंग ऑपरेटिंग प्रणाली के लिए उपयुक्त नहीं है जब तक कि बढ़ाया न जाए{{why|date=November 2016}} अतिरिक्त मेमोरी प्रबंधन हार्डवेयर/सॉफ्टवेयर के साथ; किंतु आधुनिक [[जटिल निर्देश सेट कंप्यूटर]] प्रोसेसर में लगभग | *सामान्य कंप्यूटिंग या मल्टीटास्किंग ऑपरेटिंग प्रणाली के लिए उपयुक्त नहीं है जब तक कि बढ़ाया न जाए{{why|date=November 2016}} अतिरिक्त मेमोरी प्रबंधन हार्डवेयर/सॉफ्टवेयर के साथ; किंतु आधुनिक [[जटिल निर्देश सेट कंप्यूटर]] प्रोसेसर में लगभग सदैव ऐसा ही होता है, जो फ्लैट मेमोरी मॉडल पर उन्नत मेमोरी प्रबंधन और सुरक्षा तकनीक को लागू करता है। [[लिनक्स]] उदा. फ्लैट मेमोरी मॉडल का उपयोग करता है, x86 मेमोरी सेगमेंटेशन#प्रैक्टिस देखें। | ||
=== पृष्ठांकित मेमोरी मॉडल === | === पृष्ठांकित मेमोरी मॉडल === | ||
Line 29: | Line 29: | ||
*अधिक सीपीयू रियल एस्टेट, कुछ कम गति | *अधिक सीपीयू रियल एस्टेट, कुछ कम गति | ||
* कार्यक्रम के लिए और अधिक जटिल | * कार्यक्रम के लिए और अधिक जटिल | ||
*कठोर पृष्ठ सीमाएँ, | *कठोर पृष्ठ सीमाएँ, सदैव सबसे अधिक मेमोरी कुशल नहीं | ||
*[[Pentium Pro]] में [[ भौतिक पता विस्तार ]] ( | *[[Pentium Pro|पेंटियम प्रो]] में [[ भौतिक पता विस्तार | फिजिकल एड्रेस एक्सटेंशन]] (पीएई) और बाद में x86 सीपीयू का उपयोग करते समय इस मेमोरी मॉडल की आवश्यकता होती है जिससे 4GB से अधिक भौतिक मेमोरी को संबोधित करने के लिए 36-बिट भौतिक पतों का समर्थन किया जा सके। | ||
=== x86 | === x86 सेगमेंटेड मेमोरी मॉडल === | ||
{{Main| | {{Main|मेमोरी सेगमेंटेशन|x86 मेमोरी मॉडल}} | ||
*पेजेड मेमोरी के समान, किंतु पेजिंग दो अपेक्षाकृत स्थानांतरित रजिस्टरों के निहित जोड़ से प्राप्त की जाती है: खंड: ऑफसेट | *पेजेड मेमोरी के समान, किंतु पेजिंग दो अपेक्षाकृत स्थानांतरित रजिस्टरों के निहित जोड़ से प्राप्त की जाती है: खंड: ऑफसेट | ||
*पृष्ठांकित मेमोरी मॉडल की तुलना में परिवर्तनीय पृष्ठ सीमाएं, अधिक कुशल और लचीली | *परिवर्तनीय पृष्ठ सीमाएँ, पेजेड मेमोरी मॉडल की तुलना में अधिक कुशल और लचीली पृष्ठांकित मेमोरी मॉडल की तुलना में परिवर्तनीय पृष्ठ सीमाएं, अधिक कुशल और लचीली | ||
* प्रोग्रामर के दृष्टिकोण से काफी जटिल और अजीब | * प्रोग्रामर के दृष्टिकोण से काफी जटिल और अजीब | ||
* कंपाइलर्स के लिए और अधिक कठिन | * कंपाइलर्स के लिए और अधिक कठिन |
Revision as of 19:07, 28 April 2023
फ्लैट मेमोरी मॉडल या लीनियर मेमोरी मॉडल एक मेमोरी एड्रेसिंग प्रतिमान को संदर्भित करता है जिसमें मेमोरी प्रोग्राम को एकल सन्निहित एड्रेस स्पेस के रूप में दिखाई देती है।[1] सीपीयू सीधे (और एड्रेसिंग मोड या सिक्वेंशियल एड्रेसिंग मोड्स) मेमोरी को किसी भी प्रकार के मेमोरी सेगमेंटेशन या पेजिंग स्कीम का सहारा लिए बिना सभी उपलब्ध कंप्यूटर मेमोरी लोकेशन को एड्रेस कर सकता है।
ऑपरेटिंग प्रणाली की कार्यक्षमता, संसाधन सुरक्षा, कंप्यूटर मल्टीटास्किंग की सुविधा के लिए या प्रोसेसर के भौतिक एड्रेस स्पेस द्वारा लगाई गई सीमाओं से परे मेमोरी क्षमता को बढ़ाने के लिए मेमोरी प्रबंधन और सीपीयू कैश या एड्रेस ट्रांसलेशन अभी भी फ्लैट मेमोरी मॉडल के शीर्ष पर लागू किया जा सकता है। किंतु फ्लैट मेमोरी मॉडल की प्रमुख विशेषता यह है कि संपूर्ण मेमोरी स्पेस रैखिक, अनुक्रमिक और सन्निहित है।
एक साधारण नियंत्रक में, या एकल टास्किंग एम्बेडेड एप्लिकेशन में, जहां मेमोरी प्रबंधन की आवश्यकता नहीं है और न ही वांछनीय है, फ्लैट मेमोरी मॉडल सबसे उपयुक्त है, क्योंकि यह प्रोग्रामर के दृष्टिकोण से सबसे सरल इंटरफ़ेस प्रदान करता है, जिसमें सभी मेमोरी स्थान और न्यूनतम डिजाइन जटिलता तक सीधी पहुंच होती है।
एक सामान्य प्रयोजन के कंप्यूटर प्रणाली में, जिसमें मल्टीटास्किंग, संसाधन आवंटन और सुरक्षा की आवश्यकता होती है, फ्लैट मेमोरी प्रणाली को कुछ मेमोरी मैनेजमेंट स्कीम द्वारा संवर्धित किया जाना चाहिए, जो सामान्यतः समर्पित हार्डवेयर (सीपीयू के अंदर या बाहर) और सॉफ्टवेयर के संयोजन के माध्यम से ऑपरेटिंग प्रणाली में कार्यान्वित किया जाता है। फ्लैट मेमोरी मॉडल (भौतिक एड्रेसिंग स्तर पर) अभी भी इस प्रकार के मेमोरी प्रबंधन को लागू करने के लिए सबसे बड़ा लचीलापन प्रदान करता है।
अधिकांश प्रोसेसर आर्किटेक्चर फ्लैट मेमोरी डिज़ाइन को लागू करते हैं, जिसमें सभी प्रारंभिक 8 बिट प्रोसेसर, मोटोरोला 68000 श्रृंखला आदि सम्मिलित हैं। अपवाद मूल इंटेल 8086 था, इंटेल का पहला 16-बिट माइक्रोप्रोसेसर, जिसने कच्चे खंडित मेमोरी मॉडल को लागू किया जिसने अनुमति दी सभी पतों को 16-बिट से अधिक तक विस्तारित करने की लागत के बिना 64 KiB से अधिक मेमोरी तक पहुंचे।
धिक मेमोरी तक पहुंच। करने
मेमोरी मॉडल
अधिकांश आधुनिक मेमोरी मॉडल तीन श्रेणियों में से एक में आते हैं:
फ्लैट मेमोरी मॉडल
- प्रोग्रामर, साफ डिजाइन के लिए सरल इंटरफ़ेस
- एक समान पहुंच गति के कारण सबसे अधिक लचीलापन (विभाजित मेमोरी पृष्ठ स्विच सामान्यतः अन्य पृष्ठों की लंबी पहुंच के कारण भिन्न विलंबता उत्पन्न करते हैं, या तो बदलते पृष्ठ में अतिरिक्त सीपीयू तर्क, या हार्डवेयर आवश्यकताओं के कारण)
- सरल नियंत्रक अनुप्रयोगों के लिए न्यूनतम हार्डवेयर और सीपीयू रियल एस्टेट
- अधिकतम निष्पादन गति, बस सीपीयू या तर्क के कारण कोई विलंबता नहीं है।[why?]
- सामान्य कंप्यूटिंग या मल्टीटास्किंग ऑपरेटिंग प्रणाली के लिए उपयुक्त नहीं है जब तक कि बढ़ाया न जाए[why?] अतिरिक्त मेमोरी प्रबंधन हार्डवेयर/सॉफ्टवेयर के साथ; किंतु आधुनिक जटिल निर्देश सेट कंप्यूटर प्रोसेसर में लगभग सदैव ऐसा ही होता है, जो फ्लैट मेमोरी मॉडल पर उन्नत मेमोरी प्रबंधन और सुरक्षा तकनीक को लागू करता है। लिनक्स उदा. फ्लैट मेमोरी मॉडल का उपयोग करता है, x86 मेमोरी सेगमेंटेशन#प्रैक्टिस देखें।
पृष्ठांकित मेमोरी मॉडल
- मल्टीटास्किंग, सामान्य ऑपरेटिंग प्रणाली डिज़ाइन, संसाधन सुरक्षा और आवंटन के लिए उपयुक्त
- वर्चुअल मेमोरी कार्यान्वयन के लिए उपयुक्त
- अधिक सीपीयू रियल एस्टेट, कुछ कम गति
- कार्यक्रम के लिए और अधिक जटिल
- कठोर पृष्ठ सीमाएँ, सदैव सबसे अधिक मेमोरी कुशल नहीं
- पेंटियम प्रो में फिजिकल एड्रेस एक्सटेंशन (पीएई) और बाद में x86 सीपीयू का उपयोग करते समय इस मेमोरी मॉडल की आवश्यकता होती है जिससे 4GB से अधिक भौतिक मेमोरी को संबोधित करने के लिए 36-बिट भौतिक पतों का समर्थन किया जा सके।
x86 सेगमेंटेड मेमोरी मॉडल
- पेजेड मेमोरी के समान, किंतु पेजिंग दो अपेक्षाकृत स्थानांतरित रजिस्टरों के निहित जोड़ से प्राप्त की जाती है: खंड: ऑफसेट
- परिवर्तनीय पृष्ठ सीमाएँ, पेजेड मेमोरी मॉडल की तुलना में अधिक कुशल और लचीली पृष्ठांकित मेमोरी मॉडल की तुलना में परिवर्तनीय पृष्ठ सीमाएं, अधिक कुशल और लचीली
- प्रोग्रामर के दृष्टिकोण से काफी जटिल और अजीब
- कंपाइलर्स के लिए और अधिक कठिन
- पृष्ठ ओवरलैप / खराब संसाधन सुरक्षा और अलगाव कर सकते हैं
- मैनी टू वन एड्रेस ट्रांसलेशन पत्राचार: कई खंड: ऑफसेट संयोजन एक ही भौतिक पते पर हल होते हैं
- प्रोग्रामिंग त्रुटियों की अधिक संभावना
- मूल इंटेल 8086, 8088, 80186, 80286 में लागू किया गया, और 80386 और बाद की सभी x86 मशीनों द्वारा समर्थित आज के पेंटियम और कोर 2 प्रोसेसर के माध्यम से। यह मेमोरी मॉडल तब से x86 मशीनों में बना हुआ है, जो अब मल्टी-मोड ऑपरेशन प्रदान करते हैं और शायद ही कभी संगत सेगमेंट मोड में काम करते हैं।[clarification needed] विवरण के लिए x86 मेमोरी सेगमेंटेशन देखें।
x86 आर्किटेक्चर के भीतर, वास्तविक मोड (या अनुकरण) में काम करते समय, भौतिक पते की गणना इस प्रकार की जाती है:[2]
- पता = 16 × खंड + ऑफसेट
(यानी, 16-बिट सेगमेंट रजिस्टर को 4 बिट्स से स्थानांतरित कर दिया जाता है और 16-बिट ऑफ़सेट में जोड़ा जाता है, जिसके परिणामस्वरूप 20-बिट पता होता है।)
यह भी देखें
- एड्रेस स्पेस
- मेमोरी मॉडल (बहुविकल्पी)
संदर्भ
- ↑ Gonzalez, Antonio; Latorre, Fernando; Magklis, Grigorios (2011). Processor Microarchitecture: An Implementation Perspective. Morgan & Claypool Publishers. p. 72. ISBN 9781608454525.
- ↑ General description of Real Mode "The physical address can be calculated as Value_in_segment_register
- 16 + Value_in_offset_register."