फ्लैट मेमोरी मॉडल: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
फ्लैट मेमोरी मॉडल या लीनियर मेमोरी मॉडल [[ स्मृति पता ]] | फ्लैट मेमोरी मॉडल या लीनियर मेमोरी मॉडल एक मेमोरी[[ स्मृति पता | एड्रेसिंग]] प्रतिमान को संदर्भित करता है जिसमें [[स्मृति|मेमोरी]] प्रोग्राम को एकल सन्निहित [[ पता स्थान | एड्रेस स्पेस]] के रूप में दिखाई देती है।<ref>{{cite book|last1=Gonzalez|first1=Antonio|last2=Latorre|first2=Fernando|last3=Magklis|first3=Grigorios|title=Processor Microarchitecture: An Implementation Perspective|year=2011|publisher=Morgan & Claypool Publishers|isbn=9781608454525|page=72|url=https://books.google.com/books?id=3fW4HiTiUo4C&dq=Processor+Microarchitecture%3A+An+Implementation+Perspective&pg=PP1}}</ref> [[ CPU | सीपीयू]] सीधे (और एड्रेसिंग मोड या सिक्वेंशियल एड्रेसिंग मोड्स) मेमोरी को किसी भी प्रकार के [[ स्मृति विभाजन | मेमोरी सेगमेंटेशन]] या [[पेजिंग]] स्कीम का सहारा लिए बिना सभी उपलब्ध कंप्यूटर मेमोरी लोकेशन को एड्रेस कर सकता है। | ||
[[ऑपरेटिंग सिस्टम]] की कार्यक्षमता, संसाधन सुरक्षा, [[कंप्यूटर मल्टीटास्किंग]] की सुविधा के लिए या प्रोसेसर के भौतिक | [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] की कार्यक्षमता, संसाधन सुरक्षा, [[कंप्यूटर मल्टीटास्किंग]] की सुविधा के लिए या प्रोसेसर के भौतिक एड्रेस स्पेस द्वारा लगाई गई सीमाओं से परे मेमोरी क्षमता को बढ़ाने के लिए मेमोरी प्रबंधन और सीपीयू कैश # एड्रेस ट्रांसलेशन अभी भी फ्लैट मेमोरी मॉडल के शीर्ष पर लागू किया जा सकता है। लेकिन फ्लैट मेमोरी मॉडल की प्रमुख विशेषता यह है कि संपूर्ण मेमोरी स्पेस रैखिक, अनुक्रमिक और सन्निहित है। | ||
एक साधारण नियंत्रक में, या एकल टास्किंग एम्बेडेड एप्लिकेशन में, जहां मेमोरी प्रबंधन की आवश्यकता नहीं है और न ही वांछनीय है, फ्लैट मेमोरी मॉडल सबसे उपयुक्त है, क्योंकि यह प्रोग्रामर के दृष्टिकोण से सबसे सरल इंटरफ़ेस प्रदान करता है, जिसमें सभी मेमोरी तक सीधी पहुंच होती है। स्थान और न्यूनतम डिजाइन जटिलता। | एक साधारण नियंत्रक में, या एकल टास्किंग एम्बेडेड एप्लिकेशन में, जहां मेमोरी प्रबंधन की आवश्यकता नहीं है और न ही वांछनीय है, फ्लैट मेमोरी मॉडल सबसे उपयुक्त है, क्योंकि यह प्रोग्रामर के दृष्टिकोण से सबसे सरल इंटरफ़ेस प्रदान करता है, जिसमें सभी मेमोरी तक सीधी पहुंच होती है। स्थान और न्यूनतम डिजाइन जटिलता। | ||
एक सामान्य प्रयोजन के कंप्यूटर | एक सामान्य प्रयोजन के कंप्यूटर प्रणाली में, जिसमें मल्टीटास्किंग, संसाधन आवंटन और सुरक्षा की आवश्यकता होती है, फ्लैट मेमोरी प्रणाली को कुछ मेमोरी मैनेजमेंट स्कीम द्वारा संवर्धित किया जाना चाहिए, जो आमतौर पर समर्पित हार्डवेयर (सीपीयू के अंदर या बाहर) और सॉफ्टवेयर के संयोजन के माध्यम से कार्यान्वित किया जाता है। ऑपरेटिंग प्रणाली में। फ्लैट मेमोरी मॉडल (भौतिक एड्रेसिंग स्तर पर) अभी भी इस प्रकार के मेमोरी प्रबंधन को लागू करने के लिए सबसे बड़ा लचीलापन प्रदान करता है। | ||
अधिकांश प्रोसेसर आर्किटेक्चर फ्लैट मेमोरी डिज़ाइन को लागू करते हैं, जिसमें सभी शुरुआती [[ 8 बिट ]] प्रोसेसर, [[मोटोरोला 68000 श्रृंखला]] आदि शामिल हैं। अपवाद मूल [[इंटेल 8086]] था, इंटेल का पहला 16-बिट माइक्रोप्रोसेसर, जिसने कच्चे खंडित मेमोरी मॉडल को लागू किया जिसने अनुमति दी सभी पतों को 16-बिट से अधिक तक विस्तारित करने की लागत के बिना 64 KiB से अधिक मेमोरी तक पहुंच। | अधिकांश प्रोसेसर आर्किटेक्चर फ्लैट मेमोरी डिज़ाइन को लागू करते हैं, जिसमें सभी शुरुआती [[ 8 बिट ]] प्रोसेसर, [[मोटोरोला 68000 श्रृंखला]] आदि शामिल हैं। अपवाद मूल [[इंटेल 8086]] था, इंटेल का पहला 16-बिट माइक्रोप्रोसेसर, जिसने कच्चे खंडित मेमोरी मॉडल को लागू किया जिसने अनुमति दी सभी पतों को 16-बिट से अधिक तक विस्तारित करने की लागत के बिना 64 KiB से अधिक मेमोरी तक पहुंच। | ||
'''धिक मेमोरी तक पहुंच।''' | |||
== मेमोरी मॉडल == | == मेमोरी मॉडल == | ||
Line 16: | Line 18: | ||
=== फ्लैट मेमोरी मॉडल === | === फ्लैट मेमोरी मॉडल === | ||
* प्रोग्रामर, साफ डिजाइन के लिए सरल इंटरफ़ेस | * प्रोग्रामर, साफ डिजाइन के लिए सरल इंटरफ़ेस | ||
*एकसमान पहुंच गति के कारण सबसे अधिक लचीलापन (विभाजित मेमोरी पृष्ठ स्विच आमतौर पर अन्य पृष्ठों की लंबी पहुंच के कारण भिन्न विलंबता उत्पन्न करते हैं, या तो बदलते पृष्ठ में अतिरिक्त | *एकसमान पहुंच गति के कारण सबसे अधिक लचीलापन (विभाजित मेमोरी पृष्ठ स्विच आमतौर पर अन्य पृष्ठों की लंबी पहुंच के कारण भिन्न विलंबता उत्पन्न करते हैं, या तो बदलते पृष्ठ में अतिरिक्त सीपीयू तर्क, या हार्डवेयर आवश्यकताओं के कारण) | ||
* सरल नियंत्रक अनुप्रयोगों के लिए न्यूनतम हार्डवेयर और सीपीयू रियल एस्टेट{{clarify|date=November 2016}} | * सरल नियंत्रक अनुप्रयोगों के लिए न्यूनतम हार्डवेयर और सीपीयू रियल एस्टेट{{clarify|date=November 2016}} | ||
*अधिकतम निष्पादन गति, बस सीपीयू या तर्क के कारण कोई विलंबता नहीं है।{{why|date=November 2016}} | *अधिकतम निष्पादन गति, बस सीपीयू या तर्क के कारण कोई विलंबता नहीं है।{{why|date=November 2016}} | ||
*सामान्य कंप्यूटिंग या मल्टीटास्किंग ऑपरेटिंग | *सामान्य कंप्यूटिंग या मल्टीटास्किंग ऑपरेटिंग प्रणाली के लिए उपयुक्त नहीं है जब तक कि बढ़ाया न जाए{{why|date=November 2016}} अतिरिक्त मेमोरी प्रबंधन हार्डवेयर/सॉफ्टवेयर के साथ; लेकिन आधुनिक [[जटिल निर्देश सेट कंप्यूटर]] प्रोसेसर में लगभग हमेशा ऐसा ही होता है, जो फ्लैट मेमोरी मॉडल पर उन्नत मेमोरी प्रबंधन और सुरक्षा तकनीक को लागू करता है। [[लिनक्स]] उदा. फ्लैट मेमोरी मॉडल का उपयोग करता है, x86 मेमोरी सेगमेंटेशन#प्रैक्टिस देखें। | ||
=== पृष्ठांकित | === पृष्ठांकित मेमोरी मॉडल === | ||
{{Main|Paging}} | {{Main|Paging}} | ||
*मल्टीटास्किंग, सामान्य ऑपरेटिंग | *मल्टीटास्किंग, सामान्य ऑपरेटिंग प्रणाली डिज़ाइन, संसाधन सुरक्षा और आवंटन के लिए उपयुक्त | ||
* वर्चुअल मेमोरी कार्यान्वयन के लिए उपयुक्त | * वर्चुअल मेमोरी कार्यान्वयन के लिए उपयुक्त | ||
*अधिक सीपीयू रियल एस्टेट, कुछ कम गति | *अधिक सीपीयू रियल एस्टेट, कुछ कम गति | ||
* कार्यक्रम के लिए और अधिक जटिल | * कार्यक्रम के लिए और अधिक जटिल | ||
*कठोर पृष्ठ सीमाएँ, हमेशा सबसे अधिक | *कठोर पृष्ठ सीमाएँ, हमेशा सबसे अधिक मेमोरी कुशल नहीं | ||
*[[Pentium Pro]] में [[ भौतिक पता विस्तार ]] (PAE) और बाद में x86 | *[[Pentium Pro]] में [[ भौतिक पता विस्तार ]] (PAE) और बाद में x86 सीपीयू का उपयोग करते समय इस मेमोरी मॉडल की आवश्यकता होती है ताकि 4GB से अधिक भौतिक मेमोरी को संबोधित करने के लिए 36-बिट भौतिक पतों का समर्थन किया जा सके। | ||
=== x86 खंडित मेमोरी मॉडल === | === x86 खंडित मेमोरी मॉडल === | ||
Line 34: | Line 36: | ||
*पेजेड मेमोरी के समान, लेकिन पेजिंग दो अपेक्षाकृत स्थानांतरित रजिस्टरों के निहित जोड़ से प्राप्त की जाती है: खंड: ऑफसेट | *पेजेड मेमोरी के समान, लेकिन पेजिंग दो अपेक्षाकृत स्थानांतरित रजिस्टरों के निहित जोड़ से प्राप्त की जाती है: खंड: ऑफसेट | ||
*पृष्ठांकित | *पृष्ठांकित मेमोरी मॉडल की तुलना में परिवर्तनीय पृष्ठ सीमाएं, अधिक कुशल और लचीली | ||
* प्रोग्रामर के दृष्टिकोण से काफी जटिल और अजीब | * प्रोग्रामर के दृष्टिकोण से काफी जटिल और अजीब | ||
* कंपाइलर्स के लिए और अधिक कठिन | * कंपाइलर्स के लिए और अधिक कठिन | ||
Line 40: | Line 42: | ||
*मैनी टू वन एड्रेस ट्रांसलेशन पत्राचार: कई खंड: ऑफसेट संयोजन एक ही भौतिक पते पर हल होते हैं | *मैनी टू वन एड्रेस ट्रांसलेशन पत्राचार: कई खंड: ऑफसेट संयोजन एक ही भौतिक पते पर हल होते हैं | ||
*प्रोग्रामिंग त्रुटियों की अधिक संभावना | *प्रोग्रामिंग त्रुटियों की अधिक संभावना | ||
* मूल इंटेल 80[[86]], [[8088]], [[80186]], [[80286]] में लागू किया गया, और [[80386]] और बाद की सभी x86 मशीनों द्वारा समर्थित आज के [[पेंटियम]] और [[कोर 2]] प्रोसेसर के माध्यम से। यह मेमोरी मॉडल तब से x86 मशीनों में बना हुआ है, जो अब मल्टी-मोड ऑपरेशन प्रदान करते हैं और शायद ही कभी संगत सेगमेंट मोड में काम करते हैं।{{Clarify|date=July 2010}} विवरण के लिए x86 | * मूल इंटेल 80[[86]], [[8088]], [[80186]], [[80286]] में लागू किया गया, और [[80386]] और बाद की सभी x86 मशीनों द्वारा समर्थित आज के [[पेंटियम]] और [[कोर 2]] प्रोसेसर के माध्यम से। यह मेमोरी मॉडल तब से x86 मशीनों में बना हुआ है, जो अब मल्टी-मोड ऑपरेशन प्रदान करते हैं और शायद ही कभी संगत सेगमेंट मोड में काम करते हैं।{{Clarify|date=July 2010}} विवरण के लिए x86 मेमोरी सेगमेंटेशन देखें। | ||
x86 आर्किटेक्चर के भीतर, [[वास्तविक मोड]] (या अनुकरण) में काम करते समय, भौतिक पते की गणना इस प्रकार की जाती है:<ref>[http://www.deinmeister.de/x86modes.htm General description of Real Mode] "The physical address can be calculated as Value_in_segment_register{{not a typo| *}}<!-- it is a citation --> 16 + Value_in_offset_register."</ref> | x86 आर्किटेक्चर के भीतर, [[वास्तविक मोड]] (या अनुकरण) में काम करते समय, भौतिक पते की गणना इस प्रकार की जाती है:<ref>[http://www.deinmeister.de/x86modes.htm General description of Real Mode] "The physical address can be calculated as Value_in_segment_register{{not a typo| *}}<!-- it is a citation --> 16 + Value_in_offset_register."</ref> | ||
Line 47: | Line 49: | ||
== यह भी देखें == | == यह भी देखें == | ||
* | * एड्रेस स्पेस | ||
* [[मेमोरी मॉडल (बहुविकल्पी)]] | * [[मेमोरी मॉडल (बहुविकल्पी)]] | ||
Revision as of 18:27, 28 April 2023
फ्लैट मेमोरी मॉडल या लीनियर मेमोरी मॉडल एक मेमोरी एड्रेसिंग प्रतिमान को संदर्भित करता है जिसमें मेमोरी प्रोग्राम को एकल सन्निहित एड्रेस स्पेस के रूप में दिखाई देती है।[1] सीपीयू सीधे (और एड्रेसिंग मोड या सिक्वेंशियल एड्रेसिंग मोड्स) मेमोरी को किसी भी प्रकार के मेमोरी सेगमेंटेशन या पेजिंग स्कीम का सहारा लिए बिना सभी उपलब्ध कंप्यूटर मेमोरी लोकेशन को एड्रेस कर सकता है।
ऑपरेटिंग प्रणाली की कार्यक्षमता, संसाधन सुरक्षा, कंप्यूटर मल्टीटास्किंग की सुविधा के लिए या प्रोसेसर के भौतिक एड्रेस स्पेस द्वारा लगाई गई सीमाओं से परे मेमोरी क्षमता को बढ़ाने के लिए मेमोरी प्रबंधन और सीपीयू कैश # एड्रेस ट्रांसलेशन अभी भी फ्लैट मेमोरी मॉडल के शीर्ष पर लागू किया जा सकता है। लेकिन फ्लैट मेमोरी मॉडल की प्रमुख विशेषता यह है कि संपूर्ण मेमोरी स्पेस रैखिक, अनुक्रमिक और सन्निहित है।
एक साधारण नियंत्रक में, या एकल टास्किंग एम्बेडेड एप्लिकेशन में, जहां मेमोरी प्रबंधन की आवश्यकता नहीं है और न ही वांछनीय है, फ्लैट मेमोरी मॉडल सबसे उपयुक्त है, क्योंकि यह प्रोग्रामर के दृष्टिकोण से सबसे सरल इंटरफ़ेस प्रदान करता है, जिसमें सभी मेमोरी तक सीधी पहुंच होती है। स्थान और न्यूनतम डिजाइन जटिलता।
एक सामान्य प्रयोजन के कंप्यूटर प्रणाली में, जिसमें मल्टीटास्किंग, संसाधन आवंटन और सुरक्षा की आवश्यकता होती है, फ्लैट मेमोरी प्रणाली को कुछ मेमोरी मैनेजमेंट स्कीम द्वारा संवर्धित किया जाना चाहिए, जो आमतौर पर समर्पित हार्डवेयर (सीपीयू के अंदर या बाहर) और सॉफ्टवेयर के संयोजन के माध्यम से कार्यान्वित किया जाता है। ऑपरेटिंग प्रणाली में। फ्लैट मेमोरी मॉडल (भौतिक एड्रेसिंग स्तर पर) अभी भी इस प्रकार के मेमोरी प्रबंधन को लागू करने के लिए सबसे बड़ा लचीलापन प्रदान करता है।
अधिकांश प्रोसेसर आर्किटेक्चर फ्लैट मेमोरी डिज़ाइन को लागू करते हैं, जिसमें सभी शुरुआती 8 बिट प्रोसेसर, मोटोरोला 68000 श्रृंखला आदि शामिल हैं। अपवाद मूल इंटेल 8086 था, इंटेल का पहला 16-बिट माइक्रोप्रोसेसर, जिसने कच्चे खंडित मेमोरी मॉडल को लागू किया जिसने अनुमति दी सभी पतों को 16-बिट से अधिक तक विस्तारित करने की लागत के बिना 64 KiB से अधिक मेमोरी तक पहुंच।
धिक मेमोरी तक पहुंच।
मेमोरी मॉडल
अधिकांश आधुनिक मेमोरी मॉडल तीन श्रेणियों में से एक में आते हैं:
फ्लैट मेमोरी मॉडल
- प्रोग्रामर, साफ डिजाइन के लिए सरल इंटरफ़ेस
- एकसमान पहुंच गति के कारण सबसे अधिक लचीलापन (विभाजित मेमोरी पृष्ठ स्विच आमतौर पर अन्य पृष्ठों की लंबी पहुंच के कारण भिन्न विलंबता उत्पन्न करते हैं, या तो बदलते पृष्ठ में अतिरिक्त सीपीयू तर्क, या हार्डवेयर आवश्यकताओं के कारण)
- सरल नियंत्रक अनुप्रयोगों के लिए न्यूनतम हार्डवेयर और सीपीयू रियल एस्टेट[clarification needed]
- अधिकतम निष्पादन गति, बस सीपीयू या तर्क के कारण कोई विलंबता नहीं है।[why?]
- सामान्य कंप्यूटिंग या मल्टीटास्किंग ऑपरेटिंग प्रणाली के लिए उपयुक्त नहीं है जब तक कि बढ़ाया न जाए[why?] अतिरिक्त मेमोरी प्रबंधन हार्डवेयर/सॉफ्टवेयर के साथ; लेकिन आधुनिक जटिल निर्देश सेट कंप्यूटर प्रोसेसर में लगभग हमेशा ऐसा ही होता है, जो फ्लैट मेमोरी मॉडल पर उन्नत मेमोरी प्रबंधन और सुरक्षा तकनीक को लागू करता है। लिनक्स उदा. फ्लैट मेमोरी मॉडल का उपयोग करता है, x86 मेमोरी सेगमेंटेशन#प्रैक्टिस देखें।
पृष्ठांकित मेमोरी मॉडल
- मल्टीटास्किंग, सामान्य ऑपरेटिंग प्रणाली डिज़ाइन, संसाधन सुरक्षा और आवंटन के लिए उपयुक्त
- वर्चुअल मेमोरी कार्यान्वयन के लिए उपयुक्त
- अधिक सीपीयू रियल एस्टेट, कुछ कम गति
- कार्यक्रम के लिए और अधिक जटिल
- कठोर पृष्ठ सीमाएँ, हमेशा सबसे अधिक मेमोरी कुशल नहीं
- Pentium Pro में भौतिक पता विस्तार (PAE) और बाद में 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."