फ्लैट मेमोरी मॉडल: 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 | सीपीयू]] सीधे (और एड्रेसिंग मोड या सिक्वेंशियल एड्रेसिंग मोड्स) मेमोरी को किसी भी प्रकार के [[ स्मृति विभाजन | मेमोरी सेगमेंटेशन]] या [[पेजिंग]] स्कीम का सहारा लिए बिना सभी उपलब्ध कंप्यूटर मेमोरी लोकेशन को एड्रेस कर सकता है। | फ्लैट मेमोरी मॉडल या लीनियर मेमोरी मॉडल एक मेमोरी[[ स्मृति पता | एड्रेसिंग]] प्रतिमान को संदर्भित करता है जिसमें [[स्मृति|मेमोरी]] प्रोग्राम को एकल सन्निहित [[ पता स्थान | एड्रेस स्पेस]] के रूप में दिखाई देती है।<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 | सीपीयू]] सीधे (और एड्रेसिंग मोड या सिक्वेंशियल एड्रेसिंग मोड्स) मेमोरी को किसी भी प्रकार के [[ स्मृति विभाजन | मेमोरी सेगमेंटेशन]] या [[पेजिंग]] स्कीम का सहारा लिए बिना सभी उपलब्ध कंप्यूटर मेमोरी लोकेशन को एड्रेस कर सकता है। | ||
[[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] की कार्यक्षमता, संसाधन सुरक्षा, [[कंप्यूटर मल्टीटास्किंग]] की सुविधा के लिए या प्रोसेसर के भौतिक एड्रेस स्पेस द्वारा लगाई गई सीमाओं से परे मेमोरी क्षमता को बढ़ाने के लिए मेमोरी प्रबंधन और सीपीयू कैश | [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] की कार्यक्षमता, संसाधन सुरक्षा, [[कंप्यूटर मल्टीटास्किंग]] की सुविधा के लिए या प्रोसेसर के भौतिक एड्रेस स्पेस द्वारा लगाई गई सीमाओं से परे मेमोरी क्षमता को बढ़ाने के लिए मेमोरी प्रबंधन और सीपीयू कैश या एड्रेस ट्रांसलेशन अभी भी फ्लैट मेमोरी मॉडल के शीर्ष पर लागू किया जा सकता है। किंतु फ्लैट मेमोरी मॉडल की प्रमुख विशेषता यह है कि संपूर्ण मेमोरी स्पेस रैखिक, अनुक्रमिक और सन्निहित है। | ||
एक साधारण नियंत्रक में, या एकल टास्किंग एम्बेडेड एप्लिकेशन में, जहां मेमोरी प्रबंधन की आवश्यकता नहीं है और न ही वांछनीय है, फ्लैट मेमोरी मॉडल सबसे उपयुक्त है, क्योंकि यह प्रोग्रामर के दृष्टिकोण से सबसे सरल इंटरफ़ेस प्रदान करता है, जिसमें सभी मेमोरी तक सीधी पहुंच होती है। स्थान और न्यूनतम डिजाइन जटिलता। | एक साधारण नियंत्रक में, या एकल टास्किंग एम्बेडेड एप्लिकेशन में, जहां मेमोरी प्रबंधन की आवश्यकता नहीं है और न ही वांछनीय है, फ्लैट मेमोरी मॉडल सबसे उपयुक्त है, क्योंकि यह प्रोग्रामर के दृष्टिकोण से सबसे सरल इंटरफ़ेस प्रदान करता है, जिसमें सभी मेमोरी तक सीधी पहुंच होती है। स्थान और न्यूनतम डिजाइन जटिलता। | ||
Line 9: | Line 9: | ||
अधिकांश प्रोसेसर आर्किटेक्चर फ्लैट मेमोरी डिज़ाइन को लागू करते हैं, जिसमें सभी शुरुआती [[ 8 बिट ]] प्रोसेसर, [[मोटोरोला 68000 श्रृंखला]] आदि शामिल हैं। अपवाद मूल [[इंटेल 8086]] था, इंटेल का पहला 16-बिट माइक्रोप्रोसेसर, जिसने कच्चे खंडित मेमोरी मॉडल को लागू किया जिसने अनुमति दी सभी पतों को 16-बिट से अधिक तक विस्तारित करने की लागत के बिना 64 KiB से अधिक मेमोरी तक पहुंच। | अधिकांश प्रोसेसर आर्किटेक्चर फ्लैट मेमोरी डिज़ाइन को लागू करते हैं, जिसमें सभी शुरुआती [[ 8 बिट ]] प्रोसेसर, [[मोटोरोला 68000 श्रृंखला]] आदि शामिल हैं। अपवाद मूल [[इंटेल 8086]] था, इंटेल का पहला 16-बिट माइक्रोप्रोसेसर, जिसने कच्चे खंडित मेमोरी मॉडल को लागू किया जिसने अनुमति दी सभी पतों को 16-बिट से अधिक तक विस्तारित करने की लागत के बिना 64 KiB से अधिक मेमोरी तक पहुंच। | ||
'''धिक मेमोरी तक पहुंच। करने की लागत के बिना 64 KiB से अधिक मेमोरी तक पहुंच।''' | '''धिक मेमोरी तक पहुंच। करने की लागत के बिना 64 KiB से अधिक मेमोरी तक पहुंच।मोरी तक पहुंच। करने की लागत के बिना 64 KiB से अधिक मेमोरी तक पहुंच।''' | ||
== मेमोरी मॉडल == | == मेमोरी मॉडल == | ||
Line 21: | Line 21: | ||
* सरल नियंत्रक अनुप्रयोगों के लिए न्यूनतम हार्डवेयर और सीपीयू रियल एस्टेट{{clarify|date=November 2016}} | * सरल नियंत्रक अनुप्रयोगों के लिए न्यूनतम हार्डवेयर और सीपीयू रियल एस्टेट{{clarify|date=November 2016}} | ||
*अधिकतम निष्पादन गति, बस सीपीयू या तर्क के कारण कोई विलंबता नहीं है।{{why|date=November 2016}} | *अधिकतम निष्पादन गति, बस सीपीयू या तर्क के कारण कोई विलंबता नहीं है।{{why|date=November 2016}} | ||
*सामान्य कंप्यूटिंग या मल्टीटास्किंग ऑपरेटिंग प्रणाली के लिए उपयुक्त नहीं है जब तक कि बढ़ाया न जाए{{why|date=November 2016}} अतिरिक्त मेमोरी प्रबंधन हार्डवेयर/सॉफ्टवेयर के साथ; | *सामान्य कंप्यूटिंग या मल्टीटास्किंग ऑपरेटिंग प्रणाली के लिए उपयुक्त नहीं है जब तक कि बढ़ाया न जाए{{why|date=November 2016}} अतिरिक्त मेमोरी प्रबंधन हार्डवेयर/सॉफ्टवेयर के साथ; किंतु आधुनिक [[जटिल निर्देश सेट कंप्यूटर]] प्रोसेसर में लगभग हमेशा ऐसा ही होता है, जो फ्लैट मेमोरी मॉडल पर उन्नत मेमोरी प्रबंधन और सुरक्षा तकनीक को लागू करता है। [[लिनक्स]] उदा. फ्लैट मेमोरी मॉडल का उपयोग करता है, x86 मेमोरी सेगमेंटेशन#प्रैक्टिस देखें। | ||
=== पृष्ठांकित मेमोरी मॉडल === | === पृष्ठांकित मेमोरी मॉडल === | ||
Line 35: | Line 35: | ||
{{Main|Memory segmentation|x86 memory models}} | {{Main|Memory segmentation|x86 memory models}} | ||
*पेजेड मेमोरी के समान, | *पेजेड मेमोरी के समान, किंतु पेजिंग दो अपेक्षाकृत स्थानांतरित रजिस्टरों के निहित जोड़ से प्राप्त की जाती है: खंड: ऑफसेट | ||
*पृष्ठांकित मेमोरी मॉडल की तुलना में परिवर्तनीय पृष्ठ सीमाएं, अधिक कुशल और लचीली | *पृष्ठांकित मेमोरी मॉडल की तुलना में परिवर्तनीय पृष्ठ सीमाएं, अधिक कुशल और लचीली | ||
* प्रोग्रामर के दृष्टिकोण से काफी जटिल और अजीब | * प्रोग्रामर के दृष्टिकोण से काफी जटिल और अजीब |
Revision as of 18:32, 28 April 2023
फ्लैट मेमोरी मॉडल या लीनियर मेमोरी मॉडल एक मेमोरी एड्रेसिंग प्रतिमान को संदर्भित करता है जिसमें मेमोरी प्रोग्राम को एकल सन्निहित एड्रेस स्पेस के रूप में दिखाई देती है।[1] सीपीयू सीधे (और एड्रेसिंग मोड या सिक्वेंशियल एड्रेसिंग मोड्स) मेमोरी को किसी भी प्रकार के मेमोरी सेगमेंटेशन या पेजिंग स्कीम का सहारा लिए बिना सभी उपलब्ध कंप्यूटर मेमोरी लोकेशन को एड्रेस कर सकता है।
ऑपरेटिंग प्रणाली की कार्यक्षमता, संसाधन सुरक्षा, कंप्यूटर मल्टीटास्किंग की सुविधा के लिए या प्रोसेसर के भौतिक एड्रेस स्पेस द्वारा लगाई गई सीमाओं से परे मेमोरी क्षमता को बढ़ाने के लिए मेमोरी प्रबंधन और सीपीयू कैश या एड्रेस ट्रांसलेशन अभी भी फ्लैट मेमोरी मॉडल के शीर्ष पर लागू किया जा सकता है। किंतु फ्लैट मेमोरी मॉडल की प्रमुख विशेषता यह है कि संपूर्ण मेमोरी स्पेस रैखिक, अनुक्रमिक और सन्निहित है।
एक साधारण नियंत्रक में, या एकल टास्किंग एम्बेडेड एप्लिकेशन में, जहां मेमोरी प्रबंधन की आवश्यकता नहीं है और न ही वांछनीय है, फ्लैट मेमोरी मॉडल सबसे उपयुक्त है, क्योंकि यह प्रोग्रामर के दृष्टिकोण से सबसे सरल इंटरफ़ेस प्रदान करता है, जिसमें सभी मेमोरी तक सीधी पहुंच होती है। स्थान और न्यूनतम डिजाइन जटिलता।
एक सामान्य प्रयोजन के कंप्यूटर प्रणाली में, जिसमें मल्टीटास्किंग, संसाधन आवंटन और सुरक्षा की आवश्यकता होती है, फ्लैट मेमोरी प्रणाली को कुछ मेमोरी मैनेजमेंट स्कीम द्वारा संवर्धित किया जाना चाहिए, जो आमतौर पर समर्पित हार्डवेयर (सीपीयू के अंदर या बाहर) और सॉफ्टवेयर के संयोजन के माध्यम से कार्यान्वित किया जाता है। ऑपरेटिंग प्रणाली में। फ्लैट मेमोरी मॉडल (भौतिक एड्रेसिंग स्तर पर) अभी भी इस प्रकार के मेमोरी प्रबंधन को लागू करने के लिए सबसे बड़ा लचीलापन प्रदान करता है।
अधिकांश प्रोसेसर आर्किटेक्चर फ्लैट मेमोरी डिज़ाइन को लागू करते हैं, जिसमें सभी शुरुआती 8 बिट प्रोसेसर, मोटोरोला 68000 श्रृंखला आदि शामिल हैं। अपवाद मूल इंटेल 8086 था, इंटेल का पहला 16-बिट माइक्रोप्रोसेसर, जिसने कच्चे खंडित मेमोरी मॉडल को लागू किया जिसने अनुमति दी सभी पतों को 16-बिट से अधिक तक विस्तारित करने की लागत के बिना 64 KiB से अधिक मेमोरी तक पहुंच।
धिक मेमोरी तक पहुंच। करने की लागत के बिना 64 KiB से अधिक मेमोरी तक पहुंच।मोरी तक पहुंच। करने की लागत के बिना 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."