मेमोरी प्रबंधन इकाई: Difference between revisions

From Vigyanwiki
(Created page with "{{short description|Hardware translating virtual addresses to physical address}} thumb|इस [[ Motorola 68451 MMU का उपयोग M...")
 
No edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{short description|Hardware translating virtual addresses to physical address}}
{{short description|Hardware translating virtual addresses to physical address}}
[[Image:MC68451 p1160081.jpg|thumb|इस [[ Motorola 68451 ]] MMU का उपयोग [[ Motorola 68010 ]]|300x300px . के साथ किया जा सकता है]]
[[Image:MC68451 p1160081.jpg|thumb|300x300पीx . के साथ किया जा सकता है]]
एक मेमोरी मैनेजमेंट यूनिट (MMU), जिसे कभी-कभी पेजेड मेमोरी मैनेजमेंट यूनिट (PMMU) कहा जाता है,<ref>{{foldoc|memory+management+unit|Memory Management Unit|new=yes}}</ref> एक [[ संगणक धातु सामग्री ]] इकाई है जिसमें सभी कंप्यूटर मेमोरी संदर्भ स्वयं से गुजरते हैं, मुख्य रूप से आभासी पते का भौतिक पतों में अनुवाद करते हैं।
मेमोरी मैनेजमेंट इकाई (एमएमयू), जिसे कभी-कभी पेजेड मेमोरी मैनेजमेंट इकाई (पीएमएमयू) कहा जाता है।<ref name=":0">{{foldoc|memory+management+unit|Memory Management Unit|new=yes}}</ref> [[ संगणक धातु सामग्री |संगणक धातु पदार्थ]] इकाई है जिसमें सभी कंप्यूटर मेमोरी संदर्भ स्वयं से निकलते हैं ।मुख्य रूप से आभासी पते का भौतिक पतों में अनुवाद करते हैं।
 
एक एमएमयू प्रभावी रूप से [[ अप्रत्यक्ष स्मृति ]] प्रबंधन करता है, एक ही समय में [[ [[ स्मृति ]] सुरक्षा ]], [[ सीपीयू कैश ]] कंट्रोल, [[ कंप्यूटर बस ]] [[ मध्यस्थ (इलेक्ट्रॉनिक्स) ]] और, सरल कंप्यूटर आर्किटेक्चर (विशेष रूप से [[ 8 बिट ]] सिस्टम), [[ बैंक स्विचिंग ]] में संभालता है।


एमएमयू प्रभावी रूप से [[ अप्रत्यक्ष स्मृति |अप्रत्यक्ष मेमोरी]] प्रबंधन करता है,। एक ही समय में[[ स्मृति | मेमोरी]] सुरक्षा [[ सीपीयू कैश |सीपीयू कैश]] कंट्रोल, [[ कंप्यूटर बस |कंप्यूटर बस]] [[ मध्यस्थ (इलेक्ट्रॉनिक्स) |आर्बिटर(इलेक्ट्रॉनिक्स)]] और, सरल कंप्यूटर आर्किटेक्चर (विशेष रूप से [[ 8 बिट |8 बिट]] प्रणाली), [[ बैंक स्विचिंग |बैंक स्विचिंग]] में संभालता है।
== अवलोकन ==
== अवलोकन ==
[[Image:MMU principle updated.png|thumb|325px|एमएमयू के संचालन की योजना<ref name="TanenMOS">{{cite book |author=Tanenbaum, Andrew S. |title=Modern operating systems |publisher=Prentice-Hall |location=Upper Saddle River (New Jersey) |year=2009 |isbn=978-0-13-600663-3 }}</ref>{{Rp|186 ff.}}]]
[[Image:MMU principle updated.png|thumb|325px|एमएमयू के संचालन की योजना<ref name="TanenMOS">{{cite book |author=Tanenbaum, Andrew S. |title=Modern operating systems |publisher=Prentice-Hall |location=Upper Saddle River (New Jersey) |year=2009 |isbn=978-0-13-600663-3 }}</ref>{{Rp|186 ff.}}]]
आधुनिक एमएमयू आमतौर पर वर्चुअल [[ पता स्थान ]] (प्रोसेसर द्वारा उपयोग किए जाने वाले पतों की श्रेणी) को पेज (कंप्यूटर साइंस) में विभाजित करते हैं, प्रत्येक का आकार 2 होता है, आमतौर पर कुछ [[ किलोबाइट ]], लेकिन वे बहुत बड़े हो सकते हैं। पते के निचले हिस्से (पृष्ठ के भीतर ऑफ़सेट) को अपरिवर्तित छोड़ दिया जाता है। ऊपरी पता बिट्स वर्चुअल पेज नंबर हैं।<ref name="ucsd-lecture">{{cite web
आधुनिक एमएमयू सामान्यतः वर्चुअल [[ पता स्थान |पता स्पेस]] (प्रोसेसर द्वारा उपयोग किए जाने वाले पतों की श्रेणी) को पेज (कंप्यूटर साइंस) में विभाजित करते हैं,प्रत्येक का आकार 2 होता है, सामान्यतः कुछ [[ किलोबाइट |किलोबाइट]] , किंतु वे बहुत बड़े हो सकते हैं। पते के निचले भाग (पृष्ठ के अन्दर ऑफ़समुच्चय) को अपरिवर्तित छोड़ दिया जाता है। ऊपरी पता बिट्स वर्चुअल पेज नंबर हैं।<ref name="ucsd-lecture">{{cite web
  | url = http://cseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture7.pdf
  | url = http://cseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture7.pdf
  | title = Lecture 7: Memory Management
  | title = Lecture 7: Memory Management
Line 16: Line 15:




=== [[ पृष्ठ तालिका ]] प्रविष्टियाँ ===
=== [[ पृष्ठ तालिका | पृष्ठ तालिका]] प्रविष्टियाँ ===
अधिकांश एमएमयू पेज टेबल नामक आइटम की इन-मेमोरी टेबल का उपयोग करते हैं, जिसमें प्रति पेज एक [[ पृष्ठ तालिका प्रविष्टि ]] (पीटीई) होती है।{{dubious|date=October 2021}}, वर्चुअल पेज नंबरों को मुख्य मेमोरी में भौतिक पेज नंबरों पर मैप करने के लिए। पीटीई के एक सहयोगी कैश को [[ अनुवाद लुकसाइड बफर ]] (टीएलबी) कहा जाता है और हर बार वर्चुअल एड्रेस मैप किए जाने पर मुख्य मेमोरी तक पहुंचने की आवश्यकता से बचने के लिए इसका उपयोग किया जाता है। अन्य एमएमयू में स्मृति की एक निजी सरणी हो सकती है<ref>{{cite book|url=http://bitsavers.trailing-edge.com/pdf/rca/spectra70/model46/70-46-601_70-46_RefMan_Mar68.pdf|title=Spectra 70 70-46 Processor Manual|publisher=[[RCA]]|page=4|date=March 1968|access-date=August 15, 2013}}</ref> या रजिस्टर जो पेज टेबल प्रविष्टियों का एक सेट रखते हैं। भौतिक पृष्ठ संख्या को पूर्ण भौतिक पता देने के लिए पृष्ठ ऑफ़सेट के साथ जोड़ दिया जाता है।<ref name="ucsd-lecture" />
अधिकांश एमएमयू पेज टेबल नामक आइटम की इन-मेमोरी टेबल का उपयोग करते हैं जिसमें प्रति पेज [[ पृष्ठ तालिका प्रविष्टि |पृष्ठ तालिका प्रविष्टि]] (पीटीई) होती है।, वर्चुअल पेज नंबरों को मुख्य मेमोरी में भौतिक पेज नंबरों पर मैप करने के लिएहोती है । पीटीई के सहयोगी कैश को [[ अनुवाद लुकसाइड बफर |अनुवाद लुकसाइड बफर]] (टीएलबी) कहा जाता है और हर बार वर्चुअल एड्रेस मैप किए जाने पर मुख्य मेमोरी तक पहुंचने की आवश्यकता से बचने के लिए इसका उपयोग किया जाता है। अन्य एमएमयू में मेमोरी की निजी सरणी हो सकती है <ref>{{cite book|url=http://bitsavers.trailing-edge.com/pdf/rca/spectra70/model46/70-46-601_70-46_RefMan_Mar68.pdf|title=Spectra 70 70-46 Processor Manual|publisher=[[RCA]]|page=4|date=March 1968|access-date=August 15, 2013}}</ref> या रजिस्टर जो पेज टेबल प्रविष्टियों का समुच्चय रखते हैं। भौतिक पृष्ठ संख्या को पूर्ण भौतिक पता देने के लिए पृष्ठ ऑफ़समुच्चय के साथ जोड़ दिया जाता है। <ref name="ucsd-lecture" />


एक पीटीई में इस बारे में जानकारी भी शामिल हो सकती है कि क्या पृष्ठ को लिखा गया है (गंदा बिट), जब इसे अंतिम बार उपयोग किया गया था (एक्सेस बिट, कम से कम हाल ही में उपयोग किए गए (एलआरयू) पृष्ठ प्रतिस्थापन एल्गोरिदम के लिए), किस तरह की प्रक्रियाएं ([[ उपयोगकर्ता मोड ]] या [[ पर्यवेक्षक मोड ]]) इसे पढ़ और लिख सकता है, और क्या यह [[ कैश (कंप्यूटिंग) ]] होना चाहिए।
पीटीई में इस बारे में जानकारी भी सम्मिलित हो सकती है कि क्या पृष्ठ को लिखा गया है (गंदा बिट), जब इसे अंतिम बार उपयोग किया गया था (एक्सेस बिट, कम से कम वर्तमान में उपयोग किए गए (एलआरयू) पृष्ठ प्रतिस्थापन एल्गोरिदम के लिए), किस तरह की प्रक्रियाएं ([[ उपयोगकर्ता मोड | उपयोगकर्ता मोड]] या [[ पर्यवेक्षक मोड |पर्यवेक्षक मोड]] ) इसे पढ़ और लिख सकता है, और क्या यह [[ कैश (कंप्यूटिंग) |कैश (कंप्यूटिंग)]] होना चाहिए।


कभी-कभी, एक पीटीई वर्चुअल पेज तक पहुंच को प्रतिबंधित करता है, शायद इसलिए कि उस वर्चुअल पेज पर कोई भौतिक [[ यादृच्छिक अभिगम स्मृति ]] (रैम) आवंटित नहीं की गई है। इस मामले में, एमएमयू सीपीयू को [[ पृष्ठ दोष ]] का संकेत देता है। [[ ऑपरेटिंग सिस्टम ]] (ओएस) तब स्थिति को संभालता है, शायद रैम के एक अतिरिक्त फ्रेम को खोजने की कोशिश करके और अनुरोधित आभासी पते पर इसे मैप करने के लिए एक नया पीटीई स्थापित करता है। यदि कोई RAM मुफ़्त नहीं है, तो कुछ प्रतिस्थापन [[ कलन विधि ]] का उपयोग करके मौजूदा पृष्ठ (पीड़ित के रूप में जाना जाता है) को चुनना और इसे डिस्क पर सहेजना आवश्यक हो सकता है (एक प्रक्रिया जिसे [[ पेजिंग ]] कहा जाता है)। कुछ एमएमयू के साथ, पीटीई की कमी भी हो सकती है, ऐसे में ओएस को नए मैपिंग के लिए एक को मुक्त करना होगा।<ref name="ucsd-lecture" />
कभी-कभी, पीटीई वर्चुअल पेज तक पहुंच को प्रतिबंधित करता है,। संभवतः इसलिए कि उस वर्चुअल पेज पर कोई भौतिक [[ यादृच्छिक अभिगम स्मृति |यादृच्छिक अभिगम मेमोरी]] (रैम) आवंटित नहीं की गई है। इस स्थिति में, एमएमयू सीपीयू को [[ पृष्ठ दोष |पृष्ठ दोष]] का संकेत देता है। [[ ऑपरेटिंग सिस्टम |ऑपरेटिंग प्रणाली]] (ओएस) तब स्थिति को संभालता है,। संभवतः रैम के अतिरिक्त फ्रेम को खोजने की कोशिश करके और अनुरोधित आभासी पते पर इसे मैप करने के लिए नया पीटीई स्थापित करता है। यदि कोई रैम मुफ़्त नहीं है, तो कुछ प्रतिस्थापन [[ कलन विधि |कलन विधि]] का उपयोग करके वर्तमान पृष्ठ (पीड़ित के रूप में जाना जाता है) को चुनना और इसे डिस्क पर सहेजना आवश्यक हो सकता है ( प्रक्रिया जिसे [[ पेजिंग |पेजिंग]] कहा जाता है)। कुछ एमएमयू के साथ, पीटीई की कमी भी हो सकती है ऐसे में ओएस को नए मैपिंग के लिए एक को मुक्त करना होगा।<ref name="ucsd-lecture" />


एमएमयू क्रमशः अवैध या गैर-मौजूदा मेमोरी एक्सेस पर अवैध एक्सेस त्रुटि की स्थिति या [[ अमान्य पृष्ठ दोष ]] उत्पन्न कर सकता है, जिससे ऑपरेटिंग सिस्टम द्वारा नियंत्रित किए जाने पर [[ विखंडन दोष ]] या [[ बस त्रुटि ]] की स्थिति हो सकती है।
एमएमयू क्रमशः अवैध या गैर-वर्तमान मेमोरी एक्सेस पर अवैध एक्सेस त्रुटि की स्थिति या [[ अमान्य पृष्ठ दोष |अमान्य पृष्ठ दोष]] उत्पन्न कर सकता है, जिससे ऑपरेटिंग प्रणाली द्वारा नियंत्रित किए जाने पर [[ विखंडन दोष |विखंडन दोष]] या [[ बस त्रुटि |बस त्रुटि]] की स्थिति हो सकती है।


=== लाभ ===
=== लाभ ===
[[Image:VLSI VI475 HMMU chip from an Apple Macintosh II - front.jpg|thumb|VLSI VI475 MMU Apple HMMU <br>[[ Macintosh II ]] से<br>[[ Motorola 68020 ]] के साथ प्रयोग किया गया]]
[[Image:VLSI VI475 HMMU chip from an Apple Macintosh II - front.jpg|thumb|वीएलएसआई VI475 एमएमयू एप्पल Hएमएमयू <br>[[ Macintosh II | लबादाII]] से<br>[[ Motorola 68020 | मोटोरोला 68020]] के साथ प्रयोग किया गया]]
कुछ मामलों में, एक पृष्ठ दोष एक [[ सॉफ्टवेयर बग ]] का संकेत दे सकता है, जिसे एमएमयू के प्रमुख लाभों में से एक के रूप में स्मृति सुरक्षा का उपयोग करके रोका जा सकता है: एक ऑपरेटिंग सिस्टम इसका उपयोग किसी विशेष प्रोग्राम की मेमोरी तक पहुंच को अस्वीकार करके गलत प्रोग्रामों से बचाने के लिए कर सकता है। तक पहुंच नहीं होनी चाहिए। आमतौर पर, एक ऑपरेटिंग सिस्टम प्रत्येक प्रोग्राम को अपना वर्चुअल एड्रेस स्पेस प्रदान करता है।<ref name="ucsd-lecture" />
कुछ स्थितियों में, पृष्ठ दोष [[ सॉफ्टवेयर बग |सॉफ्टवेयर बग]] का संकेत दे सकता है जिसे एमएमयू के प्रमुख लाभों में से एक के रूप में मेमोरी सुरक्षा का उपयोग करके रोका जा सकता है ऑपरेटिंग प्रणाली इसका उपयोग किसी विशेष प्रोग्राम की मेमोरी तक पहुंच को अस्वीकार करके गलत प्रोग्रामों से बचाने के लिए कर सकता है। सामान्यतः, ऑपरेटिंग प्रणाली प्रत्येक प्रोग्राम को अपना वर्चुअल एड्रेस स्पेस प्रदान करता है।<ref name="ucsd-lecture" />


एक एमएमयू स्मृति के [[ विखंडन (कंप्यूटर) ]] की समस्या को भी कम करता है। स्मृति के ब्लॉक आवंटित और मुक्त होने के बाद, मुक्त स्मृति खंडित (असंतत) हो सकती है ताकि मुक्त स्मृति का सबसे बड़ा सन्निहित ब्लॉक कुल राशि से बहुत छोटा हो। वर्चुअल मेमोरी के साथ, वर्चुअल एड्रेस की एक सन्निहित श्रेणी को भौतिक मेमोरी के कई गैर-सन्निहित ब्लॉकों में मैप किया जा सकता है; यह गैर-सन्निहित आवंटन पेजिंग के लाभों में से एक है।<ref name="ucsd-lecture" />
एमएमयू मेमोरी के [[ विखंडन (कंप्यूटर) |विखंडन (कंप्यूटर)]] की समस्या को भी कम करता है। मेमोरी के ब्लॉक आवंटित और मुक्त होने के बाद, मुक्त मेमोरी खंडित (असंतत) हो सकती है । जिससे मुक्त मेमोरी का सबसे बड़ा सन्निहित ब्लॉक कुल राशि से बहुत छोटा हो। वर्चुअल मेमोरी के साथ, वर्चुअल एड्रेस की सन्निहित श्रेणी को भौतिक मेमोरी के कई गैर-सन्निहित ब्लॉकों में मैप किया जा सकता है यह गैर-सन्निहित आवंटन पेजिंग के लाभों में से एक है।<ref name="ucsd-lecture" />


कुछ शुरुआती [[ माइक्रोप्रोसेसर ]] डिज़ाइनों में, मेमोरी प्रबंधन एक अलग एकीकृत सर्किट द्वारा किया गया था जैसे कि [[ वीएलएसआई प्रौद्योगिकी ]] VI475 (1986), [[ मोटोरोला 68851 ]] (1984) जिसका उपयोग मैकिन्टोश II में मोटोरोला 68020 सीपीयू के साथ किया गया था, या Z8010<ref>{{cite document|url=http://www.bitsavers.org/components/zilog/z8000/z8000DataSheets/z8010_mmu.pdf|title=Z8010 Z8000 MMU Memory Management Unit Product Specification|date=April 1985|publisher=[[Zilog]]}}</ref> और Z8015 (1985)<ref>{{cite document |url=http://www.bitsavers.org/components/zilog/_dataBooks/1983_84_Components_Data_Book.pdf |title=1983/84 Data Book |pages=215–234 |publisher=Zilog |access-date=2021-04-27}}</ref><ref>{{cite magazine|url=https://archive.org/details/byte-magazine-1983-04/page/n235/mode/2up?q=z8015|title=Virtual Memory for Microcomputers|first=Stephen|last=Schmidt|magazine=[[Byte (magazine)|Byte]]|volume=8|issue=4|date=April 1983|pages=234–235}}</ref> प्रोसेसर के [[ Zilog Z8000 ]] परिवार के साथ प्रयोग किया जाता है। बाद में माइक्रोप्रोसेसरों (जैसे [[ मोटोरोला 68030 ]] और [[ ज़िलोग Z280 ]]) ने एमएमयू को सीपीयू के साथ एक ही एकीकृत सर्किट पर रखा, जैसा कि इंटेल 802[[ 86 ]] और बाद में x86 माइक्रोप्रोसेसरों ने किया था।
कुछ प्रारंभिक [[ माइक्रोप्रोसेसर |माइक्रोप्रोसेसर]] रचनाओ में, मेमोरी प्रबंधन एक अलग एकीकृत परिपथ द्वारा किया गया था जैसे कि [[ वीएलएसआई प्रौद्योगिकी |वीएलएसआई प्रौद्योगिकी]] VI475 (1986), [[ मोटोरोला 68851 |मोटोरोला 68851]] (1984) जिसका उपयोग मैकिन्टोश II में मोटोरोला 68020 सीपीयू के साथ किया गया था,या Z8010 <ref>{{cite document|url=http://www.bitsavers.org/components/zilog/z8000/z8000DataSheets/z8010_mmu.pdf|title=Z8010 Z8000 MMU Memory Management Unit Product Specification|date=April 1985|publisher=[[Zilog]]}}</ref> और Z8015 (1985) <ref>{{cite document |url=http://www.bitsavers.org/components/zilog/_dataBooks/1983_84_Components_Data_Book.pdf |title=1983/84 Data Book |pages=215–234 |publisher=Zilog |access-date=2021-04-27}}</ref><ref>{{cite magazine|url=https://archive.org/details/byte-magazine-1983-04/page/n235/mode/2up?q=z8015|title=Virtual Memory for Microcomputers|first=Stephen|last=Schmidt|magazine=[[Byte (magazine)|Byte]]|volume=8|issue=4|date=April 1983|pages=234–235}}</ref> प्रोसेसर के [[ Zilog Z8000 |ज़िलोग Z8000]] वर्ग के साथ प्रयोग किया जाता है। बाद में माइक्रोप्रोसेसरों (जैसे [[ मोटोरोला 68030 |मोटोरोला 68030]] और [[ ज़िलोग Z280 |ज़िलोग Z280]] ) ने एमएमयू को सीपीयू के साथ एक ही एकीकृत परिपथ पर रखा है जैसा कि इंटेल 802[[ 86 | 86]] और बाद में x86 माइक्रोप्रोसेसरों ने किया था।


हालांकि यह आलेख आधुनिक एमएमयू पर केंद्रित है, आमतौर पर पृष्ठों पर आधारित, प्रारंभिक प्रणालियों ने आधार-सीमा को संबोधित करने के लिए एक समान अवधारणा का उपयोग किया जो आगे [[ विभाजन (स्मृति) ]] में विकसित हुआ। वे कभी-कभी आधुनिक वास्तुकला पर भी मौजूद होते हैं। [[ x86 आर्किटेक्चर ]] ने [[ 80286 ]] में पेजिंग के बजाय विभाजन प्रदान किया, और [[ 80386 ]] और बाद के प्रोसेसर में पेजिंग और सेगमेंटेशन दोनों प्रदान करता है (हालांकि विभाजन का उपयोग 64-बिट ऑपरेशन में उपलब्ध नहीं है)।
चूंकि यह आलेख आधुनिक एमएमयू पर केंद्रित है, सामान्यतः पृष्ठों पर आधारित, प्रारंभिक प्रणालियों ने आधार-सीमा को संबोधित करने के लिए समान अवधारणा का उपयोग किया था । जो आगे [[ विभाजन (स्मृति) |विभाजन (मेमोरी)]] में विकसित हुआ। वे कभी-कभी आधुनिक वास्तुकला पर भी उपस्थित होते हैं। [[ x86 आर्किटेक्चर |x86 आर्किटेक्चर]] ने [[ 80286 |80286]] में पेजिंग के अतिरिक्त विभाजन प्रदान किया, और [[ 80386 |80386]] और बाद के प्रोसेसर में पेजिंग और सेगमेंटेशन दोनों प्रदान करता है (चूंकि विभाजन का उपयोग 64-बिट ऑपरेशन में उपलब्ध नहीं है)।


== उदाहरण ==
== उदाहरण ==
अधिकांश आधुनिक प्रणालियाँ स्मृति को उन पृष्ठों में विभाजित करती हैं जो हैं {{nowrap|4-64 [[Kilobyte|KB]]}} आकार में, अक्सर तथाकथित विशाल पृष्ठों का उपयोग करने की क्षमता के साथ {{nowrap|2 [[Megabyte|MB]]}} या {{nowrap|1 GB}} आकार में (अक्सर दोनों प्रकार संभव होते हैं)। पृष्ठ अनुवाद एक अनुवाद लुकसाइड बफर (TLB) में कैश किए जाते हैं। कुछ प्रणालियाँ, मुख्य रूप से पुराने [[ RISC ]] डिज़ाइन, OS में [[ जाल (कंप्यूटिंग) ]] जब TLB में कोई पृष्ठ अनुवाद नहीं मिलता है। अधिकांश सिस्टम हार्डवेयर-आधारित ट्री वॉकर का उपयोग करते हैं। अधिकांश सिस्टम एमएमयू को अक्षम करने की अनुमति देते हैं, लेकिन कुछ ओएस कोड में फंसने पर एमएमयू को अक्षम कर देते हैं।
अधिकांश आधुनिक प्रणालियाँ मेमोरी को उन पृष्ठों में विभाजित करती हैं जो {{nowrap|4-64 [[Kilobyte|KB]]}} आकार में, अधिकांशतः तथाकथित विशाल पृष्ठों का उपयोग करने की क्षमता के साथ {{nowrap|2 [[Megabyte|MB]]}} या {{nowrap|1 GB}} आकार में (अधिकांशतः दोनों प्रकार संभव होते हैं)। पृष्ठ अनुवाद अनुवाद लुकसाइड बफर (टीएलबी) में कैश किए जाते हैं। कुछ प्रणालियाँ, मुख्य रूप से पुराने [[ RISC |RIएससी]] रचना, ओएस में [[ जाल (कंप्यूटिंग) |जाल (कंप्यूटिंग)]] जब टीएलबी में कोई पृष्ठ अनुवाद नहीं मिलता है। अधिकांश प्रणाली हार्डवेयर-आधारित ट्री वॉकर का उपयोग करते हैं। अधिकांश प्रणाली एमएमयू को अक्षम करने की अनुमति देते हैं, किंतु कुछ ओएस कोड में फंसने पर एमएमयू को अक्षम कर देते हैं।


=== [[ वैक्स ]] ===
=== [[ वैक्स ]] ===
VAX पृष्ठ 512 बाइट्स हैं, जो बहुत छोटा है। एक OS कई पेजों के साथ ऐसा व्यवहार कर सकता है जैसे कि वे एक ही बड़े पेज हों। उदाहरण के लिए, VAX पर [[ Linux ]] आठ पृष्ठों को एक साथ समूहित करता है। इस प्रकार, सिस्टम को होने के रूप में देखा जाता है {{nowrap|4 KB}} पृष्ठ। वैक्स मेमोरी को चार निश्चित-उद्देश्य वाले क्षेत्रों में विभाजित करता है, प्रत्येक {{nowrap|1 [[Gigabyte|GB]]}} आकार में। वे हैं:
वैक्स पृष्ठ 512 बाइट्स हैं, जो बहुत छोटा है । ओएस कई पेजों के साथ ऐसा व्यवहार कर सकता है जैसे कि वे एक ही बड़े पेज हों। उदाहरण के लिए, वैक्स पर [[ Linux |लिनक्स]] आठ पृष्ठों को साथ समूहित करता है। इस प्रकार, प्रणाली को {{nowrap|4 KB}} पृष्ठ के रूप में देखा जाता है। वैक्स मेमोरी को चार निश्चित-उद्देश्य वाले क्षेत्रों में विभाजित करता है,प्रत्येक {{nowrap|1 [[Gigabyte|GB]]}} आकार में हैं
;P0 स्थान: सामान्य प्रयोजन प्रति-प्रक्रिया स्मृति जैसे ढेर के लिए प्रयुक्त।
;पी0 स्पेस: सामान्य प्रयोजन प्रति-प्रक्रिया मेमोरी जैसे ढेर के लिए प्रयुक्त।
;P1 स्थान: (या नियंत्रण स्थान) जो प्रति-प्रक्रिया भी है और आमतौर पर पर्यवेक्षक, कार्यकारी, [[ कर्नेल (ऑपरेटिंग सिस्टम) ]], उपयोगकर्ता [[ स्टैक (सार डेटा प्रकार) ]] और ऑपरेटिंग सिस्टम द्वारा प्रबंधित अन्य प्रति-प्रक्रिया नियंत्रण संरचनाओं के लिए उपयोग किया जाता है।
;पी1 स्पेस: (या नियंत्रण स्पेस) जो प्रति-प्रक्रिया भी है और सामान्यतः पर्यवेक्षक, कार्यकारी, [[ कर्नेल (ऑपरेटिंग सिस्टम) |कर्नेल (ऑपरेटिंग प्रणाली)]] , उपयोगकर्ता [[ स्टैक (सार डेटा प्रकार) |स्टैक (सार डेटा प्रकार)]] और ऑपरेटिंग प्रणाली द्वारा प्रबंधित अन्य प्रति-प्रक्रिया नियंत्रण संरचनाओं के लिए उपयोग किया जाता है।
;S0 स्पेस: (या सिस्टम स्पेस) जो सभी प्रक्रियाओं के लिए वैश्विक है और ऑपरेटिंग सिस्टम कोड और डेटा को स्टोर करता है, पेजटेबल सहित, पेजेड या नहीं।
;एस0 स्पेस: जो सभी प्रक्रियाओं के लिए वैश्विक(या प्रणाली स्पेस) है और ऑपरेटिंग प्रणाली कोड और डेटा को स्टोर करता है, पेजटेबल सहित, पेजेड या नहीं होती है।
;S1 स्पेस: जो अप्रयुक्त है और [[ डिजिटल उपकरण निगम ]] के लिए आरक्षित है।
;एस1 स्पेस: जो अप्रयुक्त है और [[ डिजिटल उपकरण निगम |डिजिटल उपकरण निगम]] के लिए आरक्षित है।


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


=== एआरएम ===
=== एआरएम ===
[[ एआरएम वास्तुकला ]]-आधारित एप्लिकेशन प्रोसेसर एआरएम के वर्चुअल मेमोरी सिस्टम आर्किटेक्चर द्वारा परिभाषित एमएमयू को लागू करते हैं। वर्तमान आर्किटेक्चर वर्णन करने के लिए पृष्ठ तालिका प्रविष्टि को परिभाषित करता है {{nowrap|4 KB}} तथा {{nowrap|64 KB}} पन्ने, {{nowrap|1 MB}} अनुभाग और {{nowrap|16 MB}} सुपर-सेक्शन; विरासत संस्करणों को भी परिभाषित किया गया है {{nowrap|1 KB}} छोटा पृष्ठ। यदि उपयोग कर रहे हैं तो एआरएम दो-स्तरीय पृष्ठ तालिका का उपयोग करता है {{nowrap|4 KB}} तथा {{nowrap|64 KB}} पृष्ठ, या के लिए केवल एक-स्तरीय पृष्ठ तालिका {{nowrap|1 MB}} अनुभाग और {{nowrap|16 MB}} खंड।
[[ एआरएम वास्तुकला ]]-आधारित एप्लिकेशन प्रोसेसर एआरएम के वर्चुअल मेमोरी प्रणाली आर्किटेक्चर द्वारा परिभाषित एमएमयू को प्रयुक्त करते हैं। वर्तमान आर्किटेक्चर वर्णन करने के लिए पृष्ठ तालिका प्रविष्टि को परिभाषित करता है {{nowrap|4 KB}} तथा {{nowrap|64 KB}} पन्ने, {{nowrap|1 MB}} अनुभाग और {{nowrap|16 MB}} सुपर-सेक्शन; विरासत संस्करणों को भी परिभाषित किया गया है और {{nowrap|1 KB}} छोटा पृष्ठ है। यदि उपयोग कर रहे हैं तो एआरएम दो-स्तरीय पृष्ठ तालिका का उपयोग करता है {{nowrap|4 KB}} तथा {{nowrap|64 KB}} पृष्ठ, या के लिए केवल एक-स्तरीय पृष्ठ तालिका {{nowrap|1 MB}} अनुभाग और {{nowrap|16 MB}} खंड होते है।
 
टीएलबी अपडेट पेज टेबल वॉकिंग हार्डवेयर द्वारा स्वचालित रूप से किए जाते हैं। पीटीई में विशेषाधिकार, कैशेबिलिटी जानकारी, एक [[ एनएक्स बिट ]] और एक गैर-सुरक्षित बिट के आधार पर पढ़ने/लिखने की अनुमति शामिल है।<ref>{{cite web|url=http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344i/DDI0344I_cortex_a8_r3p1_trm.pdf |title=Cortex-A8 Technical Reference Manual |website=Infoventer.arm.com |access-date=2017-05-03}}</ref>
 


=== आईबीएम सिस्टम/360 मॉडल 67, आईबीएम सिस्टम/370, और उत्तराधिकारी ===
टीएलबी अपडेट पेज टेबल वॉकिंग हार्डवेयर द्वारा स्वचालित रूप से किए जाते हैं। पीटीई में विशेषाधिकार, कैशेबिलिटी जानकारी, [[ एनएक्स बिट |एनएक्स बिट]] और गैर-सुरक्षित बिट के आधार पर पढ़ने/लिखने की अनुमति सम्मिलित है।<ref>{{cite web|url=http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344i/DDI0344I_cortex_a8_r3p1_trm.pdf |title=Cortex-A8 Technical Reference Manual |website=Infoventer.arm.com |access-date=2017-05-03}}</ref>
आईबीएम सिस्टम/360 मॉडल 67, जिसे अगस्त 1965 में पेश किया गया था, में एक एमएमयू शामिल है जिसे डायनेमिक एड्रेस ट्रांसलेशन (डीएटी) बॉक्स कहा जाता है।<ref>{{cite web|url=http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_FS360.html |title=IBM Archives: System/360 Dates and characteristics |website=03.ibm.com |access-date=2017-05-03}}</ref><ref name=IBM-S360-67-FuncChar>{{cite web|url=http://www.bitsavers.org/pdf/ibm/360/functional_characteristics/GA27-2719-2_360-67_funcChar.pdf|title=IBM System/360 Model 67 Functional Characteristics, Third Edition|id=GA27-2719-2|date=February 1972|access-date=October 29, 2021}}</ref> इसमें पृष्ठ तालिका के बाहर एक्सेस किए गए और गंदे बिट्स को संग्रहीत करने की असामान्य विशेषता है (सभी S/360 प्रोसेसर के लिए चार बिट मेमोरी_प्रोटेक्शन#प्रोटेक्शन_की के साथ)। वे वर्चुअल मेमोरी के बजाय भौतिक मेमोरी को संदर्भित करते हैं, और विशेष-उद्देश्य निर्देशों द्वारा उपयोग किए जाते हैं।<ref name=IBM-S360-67-FuncChar/> यह ओएस के लिए ओवरहेड को कम करता है, जिसे अन्यथा पेज टेबल से एक्सेस और गंदे बिट्स को अधिक भौतिक रूप से उन्मुख डेटा संरचना में प्रचारित करने की आवश्यकता होगी। यह [[ ऑपरेटिंग सिस्टम-स्तरीय वर्चुअलाइजेशन ]] | ओएस-स्तरीय वर्चुअलाइजेशन को आसान बनाता है, जिसे बाद में [[ पैरावर्चुअलाइजेशन ]] कहा जाता है।
=== आईबीएम प्रणाली/360 मॉडल 67, आईबीएम प्रणाली/370, और उत्तराधिकारी ===
आईबीएम प्रणाली/360 मॉडल 67, जिसे अगस्त 1965 में प्रस्तुत किया गया था, में एमएमयू सम्मिलित है जिसे डायनेमिक एड्रेस ट्रांसलेशन (डीएटी) बॉक्स कहा जाता है।<ref>{{cite web|url=http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_FS360.html |title=IBM Archives: System/360 Dates and characteristics |website=03.ibm.com |access-date=2017-05-03}}</ref><ref name=IBM-S360-67-FuncChar>{{cite web|url=http://www.bitsavers.org/pdf/ibm/360/functional_characteristics/GA27-2719-2_360-67_funcChar.pdf|title=IBM System/360 Model 67 Functional Characteristics, Third Edition|id=GA27-2719-2|date=February 1972|access-date=October 29, 2021}}</ref> इसमें पृष्ठ तालिका के बाहर एक्सेस किए गए और गंदे बिट्स को संग्रहीत करने की असामान्य विशेषता है (सभी एस/360 प्रोसेसर के लिए चार बिट मेमोरी प्रोटेक्शन प्रोटेक्शन के साथ)। वे वर्चुअल मेमोरी के अतिरिक्त भौतिक मेमोरी को संदर्भित करते हैं, और विशेष-उद्देश्य निर्देशों द्वारा उपयोग किए जाते हैं।<ref name=IBM-S360-67-FuncChar/> यह ओएस के लिए ओवरहेड को कम करता है,जिसे अन्यथा पेज टेबल से एक्सेस और गंदे बिट्स को अधिक भौतिक रूप से उन्मुख डेटा संरचना में प्रचारित करने की आवश्यकता होगी। यह [[ ऑपरेटिंग सिस्टम-स्तरीय वर्चुअलाइजेशन |ऑपरेटिंग प्रणाली-स्तरीय वर्चुअलाइजेशन]] को आसान बनाता है, जिसे बाद में [[ पैरावर्चुअलाइजेशन |पैरावर्चुअलाइजेशन]] कहा जाता है।


अगस्त, 1972 से शुरू होकर, आईबीएम सिस्टम/370 में एक समान एमएमयू है, हालांकि यह शुरू में सिस्टम/360 मॉडल 67 के 32-बिट वर्चुअल एड्रेस स्पेस के बजाय केवल 24-बिट वर्चुअल एड्रेस स्पेस का समर्थन करता है। यह एक्सेस किए गए को भी स्टोर करता है। और पेज टेबल के बाहर गंदे बिट्स। 1983 की शुरुआत में, सिस्टम/370-XA आर्किटेक्चर ने वर्चुअल एड्रेस स्पेस को 31 बिट्स तक विस्तारित किया, और 2000 में, [[ 64-बिट ]] z/आर्किटेक्चर को पेश किया गया, जिसमें एड्रेस स्पेस को 64 बिट्स तक विस्तारित किया गया; वे पेज टेबल के बाहर एक्सेस और गंदे बिट्स को स्टोर करना जारी रखते हैं।
अगस्त, 1972 से प्रारंभ होकर, आईबीएम प्रणाली/370 में समान एमएमयू है,। चूंकि यह प्रारंभ में प्रणाली/360 मॉडल 67 के 32-बिट वर्चुअल एड्रेस स्पेस के अतिरिक्त केवल 24-बिट वर्चुअल एड्रेस स्पेस का समर्थन करता है। यह एक्सेस किए गए को भी स्टोर करता है। और पेज टेबल के बाहर गंदे बिट्स होते है। 1983 की प्रारंभ में, प्रणाली/370-XA आर्किटेक्चर ने वर्चुअल एड्रेस स्पेस को 31 बिट्स तक विस्तारित किया। और 2000 में, [[ 64-बिट |64-बिट]] z/आर्किटेक्चर को प्रस्तुत किया गया था। जिसमें एड्रेस स्पेस को 64 बिट्स तक विस्तारित किया गया; वे पेज टेबल के बाहर एक्सेस और गंदे बिट्स को स्टोर करना जारी रखते हैं।


=== दिसंबर अल्फा ===
=== [[ डीईसी अल्फा |डीईसी]] अल्फा ===
[[ डीईसी अल्फा ]] प्रोसेसर मेमोरी को विभाजित करता है {{nowrap|8 KB}} पृष्ठ। एक TLB चूक के बाद, निम्न-स्तरीय [[ फर्मवेयर ]] मशीन कोड (यहाँ [[ PALcode ]] कहा जाता है) तीन-स्तरीय ट्री-स्ट्रक्चर्ड पेज टेबल पर चलता है। पते निम्नानुसार टूट गए हैं: 21 बिट्स अप्रयुक्त, पेड़ के रूट स्तर को इंडेक्स करने के लिए 10 बिट्स, पेड़ के मध्य स्तर को इंडेक्स करने के लिए 10 बिट्स, पेड़ के पत्ते के स्तर को इंडेक्स करने के लिए 10 बिट्स, और 13 बिट्स जो गुजरते हैं संशोधन के बिना भौतिक पते पर। पूर्ण पढ़ने/लिखने/निष्पादित अनुमति बिट्स समर्थित हैं।
[[ डीईसी अल्फा | डीईसी अल्फा]] प्रोसेसर मेमोरी {{nowrap|8 KB}} पृष्ठ को विभाजित करता है। टीएलबी चूक के बाद, निम्न-स्तरीय [[ फर्मवेयर |फर्मवेयर]] मशीन कोड (यहाँ [[ PALcode |पालकोड]] कहा जाता है) तीन-स्तरीय ट्री-स्ट्रक्चर्ड पेज टेबल पर चलता है। पते निम्नानुसार टूट गए हैं: 21 बिट्स अप्रयुक्त, पेड़ के रूट स्तर को इंडेक्स करने के लिए 10 बिट्स, पेड़ के मध्य स्तर को इंडेक्स करने के लिए 10 बिट्स, पेड़ के पत्ते के स्तर को इंडेक्स करने के लिए 10 बिट्स, और 13 बिट्स जो निकलते हैं संशोधन के बिना भौतिक पते पर। पूर्ण पढ़ने/लिखने/निष्पादित अनुमति बिट्स समर्थित हैं।


===एमआईपीएस===
===एमआईपीएस===
[[ एमआईपीएस वास्तुकला ]] टीएलबी में एक से 64 प्रविष्टियों का समर्थन करता है। टीएलबी प्रविष्टियों की संख्या संश्लेषण से पहले सीपीयू विन्यास पर विन्यास योग्य है। टीएलबी प्रविष्टियां दोहरी हैं। प्रत्येक टीएलबी प्रविष्टि वर्चुअल पेज नंबर (वीपीएन 2) को दो पेज फ्रेम नंबरों (पीएफएन 0 या पीएफएन 1) में से किसी एक में मैप करती है, जो वर्चुअल एड्रेस के कम से कम महत्वपूर्ण बिट पर निर्भर करती है जो पेज [[ मुखौटा (कंप्यूटिंग) ]] का हिस्सा नहीं है। यह बिट और पेज मास्क बिट्स VPN2 में स्टोर नहीं होते हैं। प्रत्येक टीएलबी प्रविष्टि का अपना पृष्ठ आकार होता है, जिसका कोई भी मान हो सकता है {{nowrap|1 KB}} प्रति {{nowrap|256 MB}} चार के गुणकों में। टीएलबी प्रविष्टि में प्रत्येक पीएफएन में एक कैशिंग विशेषता, एक गंदा और एक वैध स्थिति बिट होता है। एक वीपीएन 2 में एक वैश्विक स्थिति बिट और एक ओएस असाइन की गई आईडी होती है जो वर्चुअल एड्रेस टीएलबी एंट्री मैच में भाग लेती है, अगर वैश्विक स्थिति बिट शून्य पर सेट है। एक पीएफएन पेज मास्क बिट्स के बिना भौतिक पता संग्रहीत करता है।
[[ एमआईपीएस वास्तुकला | एमआईपीएस वास्तुकला]] टीएलबी में एक से 64 प्रविष्टियों का समर्थन करता है। टीएलबी प्रविष्टियों की संख्या संश्लेषण से पहले सीपीयू विन्यास पर विन्यास योग्य है। टीएलबी प्रविष्टियां दोहरी हैं। प्रत्येक टीएलबी प्रविष्टि वर्चुअल पेज नंबर (वीपीएन 2) को दो पेज फ्रेम नंबरों (पीएफएन 0 या पीएफएन 1) में से किसी एक में मैप करती है,जो वर्चुअल एड्रेस के कम से कम महत्वपूर्ण बिट पर निर्भर करती है जो पेज [[ मुखौटा (कंप्यूटिंग) |मुखौटा (कंप्यूटिंग)]] का भाग नहीं है। यह बिट और पेज मास्क बिट्स VपीN2 में स्टोर नहीं होते हैं। प्रत्येक टीएलबी प्रविष्टि का अपना पृष्ठ आकार होता है, जिसका कोई भी मान हो सकता है {{nowrap|1 KB}} प्रति {{nowrap|256 MB}} चार के गुणकों में। टीएलबी प्रविष्टि में प्रत्येक पीएफएन में कैशिंग विशेषता, गंदा और वैध स्थिति बिट होता है। वीपीएन 2 में वैश्विक स्थिति बिट और ओएस असाइन की गई आईडी होती है जो वर्चुअल एड्रेस टीएलबी एंट्री मैच में भाग लेती है,। यदि वैश्विक स्थिति बिट शून्य पर समुच्चय है। पीएफएन पेज मास्क बिट्स के बिना भौतिक पता संग्रहीत करता है।
 
टीएलबी रीफिल अपवाद तब उत्पन्न होता है जब टीएलबी में मैप किए गए वर्चुअल पते से मेल खाने वाली कोई प्रविष्टियां नहीं होती हैं। एक मिलान होने पर एक टीएलबी अमान्य अपवाद उत्पन्न होता है लेकिन प्रविष्टि को अमान्य चिह्नित किया जाता है। एक टीएलबी संशोधित अपवाद तब उत्पन्न होता है जब कोई स्टोर निर्देश मैप किए गए पते का संदर्भ देता है और मेल खाने वाली प्रविष्टि की गंदी स्थिति सेट नहीं होती है। यदि टीएलबी अपवाद को संसाधित करते समय एक टीएलबी अपवाद होता है, एक डबल गलती टीएलबी अपवाद, इसे अपने स्वयं के अपवाद हैंडलिंग के लिए भेजा जाता है।


MIPS32 और MIPS32r2 वर्चुअल एड्रेस स्पेस के 32 बिट्स और फिजिकल एड्रेस स्पेस के 36 बिट्स तक सपोर्ट करते हैं। MIPS64 वर्चुअल एड्रेस स्पेस के 64 बिट तक और फिजिकल एड्रेस स्पेस के 59 बिट तक सपोर्ट करता है।
टीएलबी रीफिल अपवाद तब उत्पन्न होता है जब टीएलबी में मैप किए गए वर्चुअल पते से मेल खाने वाली कोई प्रविष्टियां नहीं होती हैं। एक मिलान होने पर टीएलबी अमान्य अपवाद उत्पन्न होता है । किंतु प्रविष्टि को अमान्य चिह्नित किया जाता है। टीएलबी संशोधित अपवाद तब उत्पन्न होता है । जब कोई स्टोर निर्देश मैप किए गए पते का संदर्भ देता है और मेल खाने वाली प्रविष्टि की गंदी स्थिति समुच्चय नहीं होती है। यदि टीएलबी अपवाद को संसाधित करते समय टीएलबी अपवाद होता है,। डबल गलती टीएलबी अपवाद, इसे अपने स्वयं के अपवाद हैंडलिंग के लिए भेजा जाता है।


===[[ सूर्य 1 ]]===
MIपीएस32 और MIपीएस32r2 वर्चुअल एड्रेस स्पेस के 32 बिट्स और फिजिकल एड्रेस स्पेस के 36 बिट्स तक सपोर्ट करते हैं। MIपीएस64 वर्चुअल एड्रेस स्पेस के 64 बिट तक और फिजिकल एड्रेस स्पेस के 59 बिट तक सपोर्ट करता है।
मूल सन 1 [[ मोटोरोला 68000 ]] माइक्रोप्रोसेसर के आसपास बनाया गया एक [[ सिंगल बोर्ड कंप्यूटर ]] है और 1982 में पेश किया गया। इसमें मूल सन 1 मेमोरी प्रबंधन इकाई शामिल है जो सीपीयू पर चलने वाली कई प्रक्रियाओं के लिए एड्रेस ट्रांसलेशन, मेमोरी प्रोटेक्शन, मेमोरी शेयरिंग और मेमोरी आवंटन प्रदान करती है। . सीपीयू की निजी ऑन-बोर्ड रैम, बाहरी [[ बहुतों को ]] मेमोरी, ऑन-बोर्ड इनपुट/आउटपुट|I/O और मल्टीबस I/O तक सभी पहुंच एमएमयू के माध्यम से चलती है, जहां एड्रेस ट्रांसलेशन और सुरक्षा एक समान तरीके से की जाती है। एमएमयू को सीपीयू बोर्ड पर हार्डवेयर में लागू किया जाता है।


MMU में एक संदर्भ रजिस्टर, एक [[ स्मृति विभाजन ]] मैप और एक पेज मैप होता है। सीपीयू से वर्चुअल एड्रेस को सेगमेंट मैप द्वारा इंटरमीडिएट एड्रेस में ट्रांसलेट किया जाता है, जो बदले में पेज मैप द्वारा फिजिकल एड्रेस में ट्रांसलेट किया जाता है। पृष्ठ का आकार है {{nowrap|2 KB}} और खंड का आकार है {{nowrap|32 KB}} जो प्रति सेगमेंट 16 पेज देता है। एक साथ 16 संदर्भों को मैप किया जा सकता है। किसी संदर्भ के लिए अधिकतम तार्किक पता स्थान है {{nowrap|1024 pages}} या {{nowrap|2 MB.}} अधिकतम भौतिक पता जिसे एक साथ मैप किया जा सकता है वह भी है {{nowrap|2 MB.}}
===[[ सूर्य 1 |सन 1]]===
मल्टीटास्किंग ऑपरेटिंग सिस्टम में संदर्भ रजिस्टर महत्वपूर्ण है क्योंकि यह सीपीयू को सभी अनुवाद स्थिति की जानकारी को पुनः लोड किए बिना प्रक्रियाओं के बीच स्विच करने की अनुमति देता है। 4-बिट संदर्भ रजिस्टर पर्यवेक्षक नियंत्रण के तहत खंड मानचित्र के 16 अनुभागों के बीच स्विच कर सकता है, जो 16 संदर्भों को समवर्ती रूप से मैप करने की अनुमति देता है। प्रत्येक संदर्भ का अपना वर्चुअल पता स्थान होता है। विभिन्न संदर्भों के खंड या पृष्ठ मानचित्रों में समान मान लिखकर आभासी पता स्थान और अंतर-संदर्भ संचार साझा करना प्रदान किया जा सकता है। अतिरिक्त संदर्भों को खंड मानचित्र को संदर्भ कैश के रूप में मानकर और कम से कम हाल ही में उपयोग किए गए आधार पर पुराने संदर्भों को बदलकर नियंत्रित किया जा सकता है।
मूल सन 1 [[ मोटोरोला 68000 |मोटोरोला 68000]] माइक्रोप्रोसेसर के आसपास बनाया गया [[ सिंगल बोर्ड कंप्यूटर |सिंगल बोर्ड कंप्यूटर]] है और 1982 में प्रस्तुत किया गया था। इसमें मूल सन 1 मेमोरी प्रबंधन इकाई सम्मिलित है जो सीपीयू पर चलने वाली कई प्रक्रियाओं के लिए एड्रेस ट्रांसलेशन, मेमोरी प्रोटेक्शन, मेमोरी शेयरिंग और मेमोरी आवंटन प्रदान करती है। . सीपीयू की निजी ऑन-बोर्ड रैम, बाहरी [[ बहुतों को |बहुतों को]] मेमोरी, ऑन-बोर्ड इनपुट/आउटपुट|I/ओ और मल्टीबस I/ओ तक सभी पहुंच एमएमयू के माध्यम से चलती है,। जहां एड्रेस ट्रांसलेशन और सुरक्षा समान विधि से की जाती है। एमएमयू को सीपीयू बोर्ड पर हार्डवेयर में प्रयुक्त किया जाता है।


संदर्भ रजिस्टर उपयोगकर्ता और पर्यवेक्षक राज्यों के बीच कोई अंतर नहीं करता है। इंटरप्ट और ट्रैप संदर्भों को स्विच नहीं करते हैं, जिसके लिए सभी मान्य इंटरप्ट वैक्टर को हमेशा संदर्भ के पृष्ठ 0 में मैप किया जाना चाहिए, साथ ही साथ वैध पर्यवेक्षक स्टैक भी।<ref>Sun 68000 Board User's Manual, Sun Microsystems, Inc, February 1983, Revision B</ref>
एमएमयू में संदर्भ रजिस्टर, [[ स्मृति विभाजन |मेमोरी विभाजन]] मैप और पेज मैप होता है। सीपीयू से वर्चुअल एड्रेस को सेगमेंट मैप द्वारा इंटरमीडिएट एड्रेस में ट्रांसलेट किया जाता है,। जो बदले में पेज मैप द्वारा फिजिकल एड्रेस में ट्रांसलेट किया जाता है। पृष्ठ का आकार है {{nowrap|2 KB}} और खंड का आकार है {{nowrap|32 KB}} जो प्रति सेगमेंट 16 पेज देता है। साथ 16 संदर्भों को मैप किया जा सकता है। किसी संदर्भ के लिए अधिकतम तार्किक पता स्पेस है {{nowrap|1024 pages}} या {{nowrap|2 MB.}} अधिकतम भौतिक पता जिसे एक साथ मैप किया जा सकता है । वह {{nowrap|2 MB.}} भी है ।


मल्टीटास्किंग ऑपरेटिंग प्रणाली में संदर्भ रजिस्टर महत्वपूर्ण है । क्योंकि यह सीपीयू को सभी अनुवाद स्थिति की जानकारी को पुनः लोड किए बिना प्रक्रियाओं के बीच स्विच करने की अनुमति देता है। 4-बिट संदर्भ रजिस्टर पर्यवेक्षक नियंत्रण के अनुसार खंड मानचित्र के 16 अनुभागों के बीच स्विच कर सकता है, जो 16 संदर्भों को समवर्ती रूप से मैप करने की अनुमति देता है। प्रत्येक संदर्भ का अपना वर्चुअल पता स्पेस होता है। विभिन्न संदर्भों के खंड या पृष्ठ मानचित्रों में समान मान लिखकर आभासी पता स्पेस और अंतर-संदर्भ संचार साझा करना प्रदान किया जा सकता है। अतिरिक्त संदर्भों को खंड मानचित्र को संदर्भ कैश के रूप में मानकर और कम से कम वर्तमान में उपयोग किए गए आधार पर पुराने संदर्भों को बदलकर नियंत्रित किया जा सकता है।


संदर्भ रजिस्टर उपयोगकर्ता और पर्यवेक्षक राज्यों के बीच कोई अंतर नहीं करता है। इंटरप्ट और ट्रैप संदर्भों को स्विच नहीं करते हैं, जिसके लिए सभी मान्य इंटरप्ट वैक्टर को सदैव संदर्भ के पृष्ठ 0 में मैप किया जाना चाहिए, साथ ही साथ वैध पर्यवेक्षक स्टैक भी मापा जाना चाहिए।<ref>Sun 68000 Board User's Manual, Sun Microsystems, Inc, February 1983, Revision B</ref>
=== [[ पावरपीसी ]] ===
=== [[ पावरपीसी ]] ===
PowerPC में G1, G2, G3, और G4 पृष्ठ सामान्य रूप से होते हैं {{nowrap|4 KB.}} एक टीएलबी चूक के बाद, मानक पावरपीसी एमएमयू एक साथ दो लुकअप शुरू करता है। एक लुकअप चार या आठ डेटा ब्लॉक एड्रेस ट्रांसलेशन (डीबीएटी) रजिस्टरों में से एक के साथ पते का मिलान करने का प्रयास करता है, या चार या आठ निर्देश ब्लॉक एड्रेस ट्रांसलेशन रजिस्टर (आईबीएटी), जैसा उपयुक्त हो। BAT रजिस्टर मेमोरी के रैखिक भाग को जितना बड़ा कर सकते हैं मैप कर सकते हैं {{nowrap|256 MB,}} और आमतौर पर ओएस द्वारा ओएस कर्नेल के स्वयं के उपयोग के लिए एड्रेस स्पेस के बड़े हिस्से को मैप करने के लिए उपयोग किया जाता है। यदि बैट लुकअप सफल होता है, तो अन्य लुकअप रोक दिया जाता है और अनदेखा कर दिया जाता है।
पावरपीसी में जी1, जी2, जी3, और जी4 पृष्ठ सामान्य रूप {{nowrap|4 KB.}} से होते हैं । टीएलबी चूक के बाद, मानक पावरपीसी एमएमयू साथ दो लुकअप प्रारंभ करता है। लुकअप चार या आठ डेटा ब्लॉक एड्रेस ट्रांसलेशन (डीबीएटी) रजिस्टरों में से एक के साथ पते का मिलान करने का प्रयास करता है, या चार या आठ निर्देश ब्लॉक एड्रेस ट्रांसलेशन रजिस्टर (आईबीएटी), जैसा उपयुक्त हो। बैट रजिस्टर मेमोरी के रैखिक भाग को जितना बड़ा कर सकते हैं {{nowrap|256 MB,}} मैप कर सकते हैं और सामान्यतः ओएस द्वारा ओएस कर्नेल के स्वयं के उपयोग के लिए एड्रेस स्पेस के बड़े भाग को मैप करने के लिए उपयोग किया जाता है। यदि बैट लुकअप सफल होता है, तो अन्य लुकअप रोक दिया जाता है और अनदेखा कर दिया जाता है।


अन्य लुकअप, इस परिवार के सभी प्रोसेसर द्वारा सीधे समर्थित नहीं है, एक तथाकथित [[ उलटा पृष्ठ तालिका ]] के माध्यम से है, जो टीएलबी के हैशेड ऑफ-चिप एक्सटेंशन के रूप में कार्य करता है। सबसे पहले, पते के शीर्ष चार बिट्स का उपयोग 16 मेमोरी सेगमेंटेशन रजिस्टरों में से एक का चयन करने के लिए किया जाता है। फिर खंड रजिस्टर से 24 बिट्स उन चार बिट्स को प्रतिस्थापित करते हैं, जो 52-बिट पते का निर्माण करते हैं। खंड रजिस्टरों का उपयोग कई प्रक्रियाओं को एक ही हैश तालिका साझा करने की अनुमति देता है।
अन्य लुकअप, इस वर्ग के सभी प्रोसेसर द्वारा सीधे समर्थित नहीं है,तथाकथित [[ उलटा पृष्ठ तालिका |उलटा पृष्ठ तालिका]] के माध्यम से है, जो टीएलबी के हैशेड ऑफ-चिप एक्सटेंशन के रूप में कार्य करता है। सबसे पहले, पते के शीर्ष चार बिट्स का उपयोग 16 मेमोरी सेगमेंटेशन रजिस्टरों में से एक का चयन करने के लिए किया जाता है। फिर खंड रजिस्टर से 24 बिट्स उन चार बिट्स को प्रतिस्थापित करते हैं,जो 52-बिट पते का निर्माण करते हैं। खंड रजिस्टरों का उपयोग कई प्रक्रियाओं को एक ही हैश तालिका साझा करने की अनुमति देता है।


52-बिट पता हैश किया गया है, फिर ऑफ-चिप तालिका में एक अनुक्रमणिका के रूप में उपयोग किया जाता है। वहां, मेल खाने वाले के लिए आठ-पृष्ठ तालिका प्रविष्टियों का एक समूह स्कैन किया जाता है। यदि अत्यधिक हैश टकराव के कारण कोई मेल नहीं खाता है, तो प्रोसेसर थोड़ा अलग [[ हैश फंकशन ]] के साथ फिर से प्रयास करता है। यदि यह भी विफल हो जाता है, तो सीपीयू ओएस (एमएमयू अक्षम के साथ) में फंस जाता है ताकि समस्या का समाधान हो सके। नई प्रविष्टि के लिए स्थान बनाने के लिए OS को हैश तालिका से एक प्रविष्टि को त्यागने की आवश्यकता है। ओएस अधिक सामान्य पेड़ जैसी पृष्ठ तालिका या प्रति-मानचित्रण डेटा संरचनाओं से नई प्रविष्टि उत्पन्न कर सकता है जो धीमी और अधिक स्थान-कुशल होने की संभावना है। एनएक्स बिट के लिए समर्थन | नो-निष्पादन नियंत्रण खंड रजिस्टरों में है, जिसके कारण {{nowrap|256 MB}} ग्रैन्युलैरिटी
52-बिट पता हैश किया गया है,फिर ऑफ-चिप तालिका में अनुक्रमणिका के रूप में उपयोग किया जाता है। वहां, मेल खाने वाले के लिए आठ-पृष्ठ तालिका प्रविष्टियों का समूह स्कैन किया जाता है। यदि अत्यधिक हैश टकराव के कारण कोई मेल नहीं खाता है,तो प्रोसेसर थोड़ा अलग [[ हैश फंकशन |हैश फंकशन]] के साथ फिर से प्रयास करता है। यदि यह भी विफल हो जाता है, तो सीपीयू ओएस (एमएमयू अक्षम के साथ) में फंस जाता है जिससे समस्या का समाधान हो सके। नई प्रविष्टि के लिए स्पेस बनाने के लिए ओएस को हैश तालिका से प्रविष्टि को त्यागने की आवश्यकता है। ओएस अधिक सामान्य पेड़ जैसी पृष्ठ तालिका या प्रति-मानचित्रण डेटा संरचनाओं से नई प्रविष्टि उत्पन्न कर सकता है जो धीमी और अधिक स्पेस-कुशल होने की संभावना है। एनएक्स बिट के लिए समर्थन | नो-निष्पादन नियंत्रण खंड रजिस्टरों में है।


इस डिज़ाइन के साथ एक बड़ी समस्या हैश फ़ंक्शन के कारण खराब कैश स्थान है। ट्री-आधारित डिज़ाइन आसन्न स्थानों में आसन्न पृष्ठों के लिए पृष्ठ तालिका प्रविष्टियाँ रखकर इससे बचते हैं। PowerPC पर चलने वाला एक ऑपरेटिंग सिस्टम इस समस्या को कम करने के लिए हैश तालिका के आकार को छोटा कर सकता है।
इस रचना के साथ बड़ी समस्या हैश कार्य के कारण खराब कैश स्पेस है। ट्री-आधारित रचना आसन्न स्पेसों में आसन्न पृष्ठों के लिए पृष्ठ तालिका प्रविष्टियाँ रखकर इससे बचते हैं। पावरपीसी पर चलने वाला ऑपरेटिंग प्रणाली इस समस्या को कम करने के लिए हैश तालिका के आकार को छोटा कर सकता है।


किसी प्रक्रिया की पृष्ठ तालिका प्रविष्टियों को निकालना भी कुछ धीमा है। ओएस इसका सामना करने में देरी करने के लिए खंड मूल्यों का पुन: उपयोग करने से बच सकता है, या यह प्रति-प्रक्रिया हैश टेबल से जुड़ी स्मृति की बर्बादी को भुगतने का चुनाव कर सकता है। G1 चिप्स पृष्ठ तालिका प्रविष्टियों की खोज नहीं करते हैं, लेकिन वे हैश उत्पन्न करते हैं, इस उम्मीद के साथ कि OS सॉफ़्टवेयर के माध्यम से मानक हैश तालिका खोजेगा। ओएस टीएलबी को लिख सकता है। G2, G3 और प्रारंभिक G4 चिप्स हैश तालिका को खोजने के लिए हार्डवेयर का उपयोग करते हैं। नवीनतम चिप्स ओएस को किसी भी विधि को चुनने की अनुमति देते हैं। चिप्स पर जो इसे वैकल्पिक बनाते हैं या इसका बिल्कुल भी समर्थन नहीं करते हैं, OS विशेष रूप से ट्री-आधारित पृष्ठ तालिका का उपयोग करना चुन सकता है।
किसी प्रक्रिया की पृष्ठ तालिका प्रविष्टियों को निकालना भी कुछ धीमा है। ओएस इसका सामना करने में देरी करने के लिए खंड मूल्यों का पुन: उपयोग करने से बच सकता है, या यह प्रति-प्रक्रिया हैश टेबल से जुड़ी मेमोरी की बर्बादी को भुगतने का चुनाव कर सकता है। जी1 चिप्स पृष्ठ तालिका प्रविष्टियों की खोज नहीं करते हैं,। किंतु वे हैश उत्पन्न करते हैं,इस उम्मीद के साथ कि ओएस सॉफ़्टवेयर के माध्यम से मानक हैश तालिका खोजेगा। ओएस टीएलबी को लिख सकता है। जी2, जी3 और प्रारंभिक जी4 चिप्स हैश तालिका को खोजने के लिए हार्डवेयर का उपयोग करते हैं। नवीनतम चिप्स ओएस को किसी भी विधि को चुनने की अनुमति देते हैं। चिप्स पर जो इसे वैकल्पिक बनाते हैं या इसका बिल्कुल भी समर्थन नहीं करते हैं, ओएस विशेष रूप से ट्री-आधारित पृष्ठ तालिका का उपयोग करना चुन सकता है।


=== आइए-32 / x86 ===
=== आइए-32 / x86 ===
OS कोड के लिए भी, पूर्ण सॉफ़्टवेयर संगतता बनाए रखते हुए x86 आर्किटेक्चर बहुत लंबे समय में विकसित हुआ है। इस प्रकार, एमएमयू बेहद जटिल है, जिसमें कई अलग-अलग संभावित ऑपरेटिंग मोड हैं। पारंपरिक 80386 CPU और उसके उत्तराधिकारियों ([[ IA-32 ]]) के सामान्य संचालन का वर्णन यहाँ किया गया है।
ओएस कोड के लिए भी, पूर्ण सॉफ़्टवेयर संगतता बनाए रखते हुए x86 आर्किटेक्चर बहुत लंबे समय में विकसित हुआ है। इस प्रकार, एमएमयू बेहद जटिल है, जिसमें कई अलग-अलग संभावित ऑपरेटिंग मोड हैं। पारंपरिक 80386 सीपीयू और उसके उत्तराधिकारियों ([[ IA-32 ]]) के सामान्य संचालन का वर्णन यहाँ किया गया है।


सीपीयू मुख्य रूप से मेमोरी को विभाजित करता है {{nowrap|4 KB}} पृष्ठ। खंड रजिस्टर, पुराने [[ इंटेल 8088 ]] और 80286 एमएमयू डिजाइन के लिए मौलिक, आधुनिक ओएस में उपयोग नहीं किया जाता है, एक प्रमुख अपवाद के साथ: थ्रेड (कंप्यूटर विज्ञान) तक पहुंच - अनुप्रयोगों के लिए विशिष्ट डेटा या ओएस कर्नेल के लिए सीपीयू-विशिष्ट डेटा, जो किया जाता है एफएस और जीएस खंड रजिस्टरों के स्पष्ट उपयोग के साथ। सभी मेमोरी एक्सेस में एक सेगमेंट रजिस्टर शामिल होता है, जिसे निष्पादित किए जा रहे कोड के अनुसार चुना जाता है। खंड रजिस्टर एक तालिका में एक सूचकांक के रूप में कार्य करता है, जो आभासी पते में जोड़े जाने के लिए एक ऑफसेट प्रदान करता है। FS या GS का उपयोग करने के अलावा, OS सुनिश्चित करता है कि ऑफ़सेट शून्य होगा।
सीपीयू मुख्य रूप से मेमोरी {{nowrap|4 KB}} पृष्ठ को विभाजित करता है। खंड रजिस्टर, पुराने [[ इंटेल 8088 |इंटेल 8088]] और 80286 एमएमयू रचना के लिए मौलिक, आधुनिक ओएस में उपयोग नहीं किया जाता है,प्रमुख अपवाद के साथ: थ्रेड (कंप्यूटर विज्ञान) तक पहुंच अनुप्रयोगों के लिए विशिष्ट डेटा या ओएस कर्नेल के लिए सीपीयू-विशिष्ट डेटा, जो किया जाता है एफएस और जीएस खंड रजिस्टरों के स्पष्ट उपयोग के साथ है। सभी मेमोरी एक्सेस में सेगमेंट रजिस्टर सम्मिलित होता है,जिसे निष्पादित किए जा रहे कोड के अनुसार चुना जाता है। खंड रजिस्टर तालिका में सूचकांक के रूप में कार्य करता है,जो आभासी पते में जोड़े जाने के लिए ऑफसमुच्चय प्रदान करता है। एफएस या जीएस का उपयोग करने के अतिरिक्त, ओएस सुनिश्चित करता है कि ऑफ़समुच्चय शून्य होगा।


ऑफ़सेट जोड़ने के बाद, पता 32 बिट से बड़ा नहीं होना चाहिए। परिणाम एक पेड़-संरचित पृष्ठ तालिका के माध्यम से देखा जा सकता है, पते के बिट्स को निम्नानुसार विभाजित किया जा सकता है: पेड़ की शाखा के लिए 10 बिट्स, शाखा की पत्तियों के लिए 10 बिट्स, और 12 सबसे कम बिट्स सीधे परिणाम में कॉपी किया गया। कुछ ऑपरेटिंग सिस्टम, जैसे [[ OpenBSD ]] अपनी W^X सुविधा के साथ, और Linux [[ Exec Shield ]] या [[ PaX ]] पैच के साथ, कोड खंड की लंबाई को भी सीमित कर सकता है, जैसा कि CS रजिस्टर द्वारा निर्दिष्ट किया गया है, ताकि संशोधित क्षेत्रों में कोड के निष्पादन को रोका जा सके। पता स्थान।
ऑफ़समुच्चय जोड़ने के बाद, पता 32 बिट से बड़ा नहीं होना चाहिए। परिणाम पेड़-संरचित पृष्ठ तालिका के माध्यम से देखा जा सकता है, पते के बिट्स को निम्नानुसार विभाजित किया जा सकता है पेड़ की शाखा के लिए 10 बिट्स, शाखा की पत्तियों के लिए 10 बिट्स, और 12 सबसे कम बिट्स सीधे परिणाम में कॉपी किया गया। कुछ ऑपरेटिंग प्रणाली, जैसे [[ OpenBSD |ओपिनबीएसडी]] अपनी W^X सुविधा के साथ, और लिनक्स [[ Exec Shield |एक्सेक शील्ड]] या [[ PaX |पैक्स]] पैच के साथ, कोड खंड की लंबाई को भी सीमित कर सकता है,जैसा कि सीएस रजिस्टर द्वारा निर्दिष्ट किया गया है,। जिससे संशोधित क्षेत्रों में कोड के निष्पादन को रोका जा सके।  


[[ इंटेल P5 ]] के साथ पेश किए गए एमएमयू के छोटे संशोधनों ने बहुत बड़ी अनुमति दी है {{nowrap|4 MB}} ट्री के निचले स्तर को छोड़ कर पृष्ठ (यह पृष्ठ पदानुक्रम के पहले स्तर को अनुक्रमित करने के लिए 10 बिट्स छोड़ता है और शेष 10+12 बिट्स को सीधे परिणाम में कॉपी किया जाता है)। [[ पेंटियम प्रो ]] के साथ पेश किए गए एमएमयू के मामूली संशोधनों ने [[ भौतिक पता विस्तार ]] (पीएई) सुविधा की शुरुआत की, जिससे तीन-स्तरीय पृष्ठ तालिकाओं के लिए 2+9+9 बिट्स के साथ 36-बिट भौतिक पतों को सक्षम किया गया और 12 सबसे कम बिट्स को सीधे परिणाम में कॉपी किया गया। बड़े पृष्ठ ({{nowrap|2 MB}}) पेड़ के निचले स्तर को छोड़ कर भी उपलब्ध हैं (परिणामस्वरूप दो-स्तरीय तालिका पदानुक्रम के लिए 2+9 बिट्स और शेष 9+12 निम्नतम बिट्स सीधे कॉपी किए गए)। इसके अलावा, [[ पृष्ठ विशेषता तालिका ]] ने एक छोटे ऑन-सीपीयू टेबल में कुछ उच्च बिट्स को देखकर कैशेबिलिटी के विनिर्देशन की अनुमति दी।
[[ इंटेल P5 | इंटेल पी5]] के साथ प्रस्तुत किए गए एमएमयू के छोटे संशोधनों ने बहुत बड़ी अनुमति दी है {{nowrap|4 MB}} ट्री के निचले स्तर को छोड़ कर पृष्ठ (यह पृष्ठ पदानुक्रम के पहले स्तर को अनुक्रमित करने के लिए 10 बिट्स छोड़ता है और शेष 10+12 बिट्स को सीधे परिणाम में कॉपी किया जाता है)। [[ पेंटियम प्रो |पेंटियम प्रो]] के साथ प्रस्तुत किए गए एमएमयू के मामूली संशोधनों ने [[ भौतिक पता विस्तार |भौतिक पता विस्तार]] (पीएई) सुविधा की प्रारंभ की, जिससे तीन-स्तरीय पृष्ठ तालिकाओं के लिए 2+9+9 बिट्स के साथ 36-बिट भौतिक पतों को सक्षम किया गया और 12 सबसे कम बिट्स को सीधे परिणाम में कॉपी किया गया। बड़े पृष्ठ ({{nowrap|2 MB}}) पेड़ के निचले स्तर को छोड़ कर भी उपलब्ध हैं (परिणामस्वरूप दो-स्तरीय तालिका पदानुक्रम के लिए 2+9 बिट्स और शेष 9+12 निम्नतम बिट्स सीधे कॉपी किए गए)। इसके अतिरिक्त, [[ पृष्ठ विशेषता तालिका |पृष्ठ विशेषता तालिका]] ने छोटे ऑन-सीपीयू टेबल में कुछ उच्च बिट्स को देखकर कैशेबिलिटी के विनिर्देशन की अनुमति दी है।


NX बिट | नो-एक्ज़िक्यूट सपोर्ट मूल रूप से केवल प्रति-सेगमेंट के आधार पर प्रदान किया गया था, जिससे इसका उपयोग करना बहुत अजीब हो गया। हाल ही में x86 चिप्स पीएई मोड में प्रति-पृष्ठ नो-एक्ज़ीक्यूट बिट प्रदान करते हैं। ऊपर वर्णित W^X, Exec Shield, और PaX तंत्र, प्रदर्शन हानि और उपलब्ध पता स्थान में कमी के साथ, कोड खंड की लंबाई निर्धारित करके NX बिट की कमी वाली मशीनों x86 प्रोसेसर पर प्रति-पृष्ठ गैर-निष्पादित समर्थन का अनुकरण करते हैं। .
NX बिट | नो-एक्ज़िक्यूट सपोर्ट मूल रूप से केवल प्रति-सेगमेंट के आधार पर प्रदान किया गया था,जिससे इसका उपयोग करना बहुत अलग हो गया। वर्तमान में x86 चिप्स पीएई मोड में प्रति-पृष्ठ नो-एक्ज़ीक्यूट बिट प्रदान करते हैं। ऊपर वर्णित W^X, एक्सेक शील्ड, और पैक्स तंत्र, प्रदर्शन हानि और उपलब्ध पता स्पेस में कमी के साथ, कोड खंड की लंबाई निर्धारित करके NX बिट की कमी वाली मशीनों x86 प्रोसेसर पर प्रति-पृष्ठ गैर-निष्पादित समर्थन का अनुकरण करते हैं। .


=== x86-64 ===
=== x86-64 ===
[[File:HSA-enabled virtual memory with distinct graphics card.svg|thumb|right|upright=1.8|[[ विषम प्रणाली वास्तुकला ]] (HSA) सीपीयू, जीपीयू और डीएसपी के लिए एक एकीकृत वर्चुअल एड्रेस स्पेस बनाता है, जिससे मैपिंग ट्रिक्स और डेटा कॉपी करना समाप्त हो जाता है।]]
[[File:HSA-enabled virtual memory with distinct graphics card.svg|thumb|right|upright=1.8|[[ विषम प्रणाली वास्तुकला | विषम प्रणाली वास्तुकला]] (एचएसए) सीपीयू, जीपीयू और डीएसपी के लिए एक एकीकृत वर्चुअल एड्रेस स्पेस बनाता है, जिससे मैपिंग ट्रिक्स और डेटा कॉपी करना समाप्त हो जाता है।]]
[[ x86-64 ]] x86 का 64-बिट एक्सटेंशन है जो 386 या नए प्रोसेसर के लिए लगभग सभी ऑपरेटिंग सिस्टम द्वारा उपयोग किए जाने वाले [[ फ्लैट मेमोरी मॉडल ]] के पक्ष में विभाजन को लगभग पूरी तरह से हटा देता है। लॉन्ग मोड में, FS और GS सेगमेंट को छोड़कर, सभी सेगमेंट ऑफ़सेट को नज़रअंदाज कर दिया जाता है। जब के साथ प्रयोग किया जाता है {{nowrap|4 KB}} पेज, पेज टेबल ट्री में तीन के बजाय चार स्तर होते हैं।
[[ x86-64 | x86-64]] x86 का 64-बिट एक्सटेंशन है जो 386 या नए प्रोसेसर के लिए लगभग सभी ऑपरेटिंग प्रणाली द्वारा उपयोग किए जाने वाले [[ फ्लैट मेमोरी मॉडल |फ्लैट मेमोरी मॉडल]] के पक्ष में विभाजन को लगभग पूरी तरह से हटा देता है। लॉन्ग मोड में, एफएस और जीएस सेगमेंट को छोड़कर, सभी सेगमेंट ऑफ़समुच्चय को नज़रअंदाज कर दिया जाता है। जब के साथ प्रयोग किया जाता है {{nowrap|4 KB}} पेज, पेज टेबल ट्री में तीन के अतिरिक्त चार स्तर होते हैं।


आभासी पतों को इस प्रकार विभाजित किया गया है: 16 बिट अप्रयुक्त, नौ बिट्स प्रत्येक चार पेड़ स्तरों के लिए (कुल 36 बिट्स के लिए), और 12 सबसे कम बिट्स सीधे परिणाम में कॉपी किए गए हैं। साथ {{nowrap|2 MB}} पेज, पेज टेबल के केवल तीन स्तर हैं, पेजिंग में उपयोग किए जाने वाले कुल 27 बिट्स और ऑफ़सेट के 21 बिट्स के लिए। कुछ नए CPU भी सपोर्ट करते हैं a {{nowrap|1 GB}} पेजिंग के दो स्तरों वाला पेज और {{nowrap|30 bits}} ऑफसेट का।<ref name=amd-volume2>{{cite web
आभासी पतों को इस प्रकार विभाजित किया गया है: 16 बिट अप्रयुक्त, नौ बिट्स प्रत्येक चार पेड़ स्तरों के लिए (कुल 36 बिट्स के लिए), और 12 सबसे कम बिट्स सीधे परिणाम में कॉपी किए गए हैं। साथ {{nowrap|2 MB}} पेज, पेज टेबल के केवल तीन स्तर हैं, पेजिंग में उपयोग किए जाने वाले कुल 27 बिट्स और ऑफ़समुच्चय के 21 बिट्स के लिए। कुछ नए सीपीयू भी सपोर्ट करते हैं a {{nowrap|1 GB}} पेजिंग के दो स्तरों वाला पेज और {{nowrap|30 bits}} ऑफसमुच्चय का होता है।<ref name=amd-volume2>{{cite web
| url = http://support.amd.com/TechDocs/24593.pdf
| url = http://support.amd.com/TechDocs/24593.pdf
| title = AMD64 Architecture Programmer's Manual Volume 2: System Programming
| title = AMD64 Architecture Programmer's Manual Volume 2: System Programming
Line 109: Line 105:
| access-date = 2017-12-05
| access-date = 2017-12-05
}}</ref>
}}</ref>
[[ CPUID ]] का उपयोग यह निर्धारित करने के लिए किया जा सकता है कि {{nowrap|1 GB}} पृष्ठ समर्थित हैं। तीनों मामलों में, {{nowrap|16 highest}} बिट्स को 48 वें बिट के बराबर होना चाहिए, या दूसरे शब्दों में, निम्न {{nowrap|48 bits}} उच्च बिट्स के लिए [[ साइन एक्सटेंशन ]] हैं। यह पश्चगामी संगतता से समझौता किए बिना, पता योग्य सीमा के भविष्य के विस्तार की अनुमति देने के लिए किया जाता है। पृष्ठ तालिका के सभी स्तरों में, पृष्ठ तालिका प्रविष्टि में एक NX बिट | नो-निष्पादित बिट शामिल होता है।


=== यूनिसिस एमसीपी सिस्टम्स (बरोज बी5000) ===
[[ CPUID |सीपीयूआईडी]] का उपयोग यह निर्धारित करने के लिए किया जा सकता है कि {{nowrap|1 GB}} पृष्ठ समर्थित हैं। तीनों स्थितियों में, {{nowrap|16 highest}} बिट्स को 48 वें बिट के बराबर होना चाहिए, या दूसरे शब्दों में, निम्न {{nowrap|48 bits}} उच्च बिट्स के लिए [[ साइन एक्सटेंशन |साइन एक्सटेंशन]] हैं। यह पश्चगामी संगतता से समझौता किए बिना, पता योग्य सीमा के भविष्य के विस्तार की अनुमति देने के लिए किया जाता है। पृष्ठ तालिका के सभी स्तरों में, पृष्ठ तालिका प्रविष्टि में NX बिट | नो-निष्पादित बिट सम्मिलित होता है।


{{clarify-section|date=September 2020}}
=== यूनिसिस एमसीपी प्रणाली्स (बरोज बी5000) ===
1961 से [[ बरोज़ B5000 ]] वर्चुअल मेमोरी ([[ एटलस कंप्यूटर (मैनचेस्टर) ]] के बाद) का समर्थन करने वाला पहला वाणिज्यिक सिस्टम था, भले ही इसमें कोई MMU नहीं है <ref>{{cite journal |last1=Tanenbaum|first1=Andrew S.|last2=Herder|first2=Jorrit N. |last3=Bos|first3=Herbert |date=May 2006 |title=Can We Make Operating Systems Reliable and Secure?|url=https://www.computer.org/csdl/mags/co/2006/05/r5044-abs.html |journal=Computer|volume=39 |issue=5 |pages=44–51 |doi=10.1109/MC.2006.156 |citeseerx=10.1.1.112.3028|s2cid=99779 }}</ref> यह एक एमएमयू के दो कार्य प्रदान करता है - वर्चुअल मेमोरी एड्रेस और मेमोरी प्रोटेक्शन - एक अलग आर्किटेक्चरल दृष्टिकोण के साथ।
1961 से [[ बरोज़ B5000 |बरोज़ B5000]] वर्चुअल मेमोरी ([[ एटलस कंप्यूटर (मैनचेस्टर) | एटलस कंप्यूटर (मैनचेस्टर)]] के बाद) का समर्थन करने वाला पहला वाणिज्यिक प्रणाली था,। तथापि इसमें कोई एमएमयू नहीं है <ref>{{cite journal |last1=Tanenbaum|first1=Andrew S.|last2=Herder|first2=Jorrit N. |last3=Bos|first3=Herbert |date=May 2006 |title=Can We Make Operating Systems Reliable and Secure?|url=https://www.computer.org/csdl/mags/co/2006/05/r5044-abs.html |journal=Computer|volume=39 |issue=5 |pages=44–51 |doi=10.1109/MC.2006.156 |citeseerx=10.1.1.112.3028|s2cid=99779 }}</ref> यह एमएमयू के दो कार्य प्रदान करता है - वर्चुअल मेमोरी एड्रेस और मेमोरी प्रोटेक्शन अलग आर्किटेक्चरल दृष्टिकोण के साथ होता है।


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


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


इसलिए सभी मेमोरी आवंटन पूरी तरह से स्वचालित है (आधुनिक प्रणालियों की विशेषताओं में से एक<ref>{{cite magazine|url=http://users.ipa.net/~dwighth/smalltalk/byte_aug81/design_principles_behind_smalltalk.html |title=Design Principles Behind Smalltalk |author=Daniel H. H. Ingalls |author-link=Daniel Henry Holmes Ingalls Jr. |magazine=[[Byte Magazine]] |date=August 1981 |url-status=dead |archive-url=https://web.archive.org/web/20070927190743/http://users.ipa.net/~dwighth/smalltalk/byte_aug81/design_principles_behind_smalltalk.html |archive-date=2007-09-27 }} </ref>) और इस तंत्र के अलावा अन्य ब्लॉक आवंटित करने का कोई तरीका नहीं है। C डायनेमिक मेमोरी आवंटन या डेलोक जैसी कोई कॉल नहीं है, क्योंकि मेमोरी ब्लॉक भी स्वचालित रूप से त्याग दिए जाते हैं। यह योजना भी [[ आलसी आवंटन ]] है, क्योंकि किसी ब्लॉक को तब तक आवंटित नहीं किया जाएगा जब तक कि उसे वास्तव में संदर्भित नहीं किया जाता है। जब मेमोरी लगभग भर जाती है, तो एमसीपी काम करने वाले सेट की जांच करता है, संघनन की कोशिश करता है (क्योंकि सिस्टम खंडित है, पृष्ठांकित नहीं है), केवल-पढ़ने के लिए खंडों (जैसे कोड-सेगमेंट जिन्हें उनकी मूल प्रति से पुनर्स्थापित किया जा सकता है) और, एक के रूप में अंतिम उपाय, गंदे डेटा सेगमेंट को डिस्क पर रोल आउट करना।
इसलिए सभी मेमोरी आवंटन पूरी तरह से स्वचालित है (आधुनिक प्रणालियों की विशेषताओं में से <ref>{{cite magazine|url=http://users.ipa.net/~dwighth/smalltalk/byte_aug81/design_principles_behind_smalltalk.html |title=Design Principles Behind Smalltalk |author=Daniel H. H. Ingalls |author-link=Daniel Henry Holmes Ingalls Jr. |magazine=[[Byte Magazine]] |date=August 1981 |url-status=dead |archive-url=https://web.archive.org/web/20070927190743/http://users.ipa.net/~dwighth/smalltalk/byte_aug81/design_principles_behind_smalltalk.html |archive-date=2007-09-27 }} </ref>) और इस तंत्र के अतिरिक्त अन्य ब्लॉक आवंटित करने का कोई विधि नहीं है। सी डायनेमिक मेमोरी आवंटन या डेलोक जैसी कोई कॉल नहीं है, क्योंकि मेमोरी ब्लॉक भी स्वचालित रूप से त्याग दिए जाते हैं। यह योजना भी [[ आलसी आवंटन |मंद आवंटन]] है क्योंकि किसी ब्लॉक को तब तक आवंटित नहीं किया जाएगा जब तक कि उसे वास्तव में संदर्भित नहीं किया जाता है। जब मेमोरी लगभग भर जाती है, तो एमसीपी काम करने वाले समुच्चय की जांच करता है, संघनन की कोशिश करता है (क्योंकि प्रणाली खंडित है, पृष्ठांकित नहीं है), केवल-पढ़ने के लिए खंडों (जैसे कोड-सेगमेंट जिन्हें उनकी मूल प्रति से पुनर्स्थापित किया जा सकता है) और, एक के रूप में अंतिम उपाय, गंदे डेटा सेगमेंट को डिस्क पर रोल आउट करना होता है।


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


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


एकमात्र अन्य पहलू प्रदर्शन है{{snd}} क्या एमएमयू-आधारित या गैर-एमएमयू-आधारित सिस्टम बेहतर प्रदर्शन प्रदान करते हैं? एमसीपी सिस्टम मानक हार्डवेयर के शीर्ष पर लागू किया जा सकता है जिसमें एमएमयू होता है (उदाहरण के लिए, एक मानक पीसी)। भले ही सिस्टम कार्यान्वयन किसी तरह से एमएमयू का उपयोग करता हो, यह एमसीपी स्तर पर बिल्कुल भी दिखाई नहीं देगा।
एकमात्र अन्य पहलू प्रदर्शन है क्या एमएमयू-आधारित या गैर-एमएमयू-आधारित प्रणाली उत्तम प्रदर्शन प्रदान करते हैं? एमसीपी प्रणाली मानक हार्डवेयर के शीर्ष पर प्रयुक्त किया जा सकता है जिसमें एमएमयू होता है (उदाहरण के लिए, मानक पीसी)। तथापि प्रणाली कार्यान्वयन किसी तरह से एमएमयू का उपयोग करता हो, यह एमसीपी स्तर पर बिल्कुल भी दिखाई नहीं देता है ।


==यह भी देखें==
==यह भी देखें==
*[[ मेमोरी कंट्रोलर ]]
*[[ मेमोरी कंट्रोलर ]]
==इस पृष्ठ में अनुपलब्ध आंतरिक कड़ियों की सूची==
*आभासी पता
*भौतिक पता
*पृष्ठ (कंप्यूटर विज्ञान)
*गंदा सा
*कम से कम हाल ही में प्रयुक्त
*पृष्ठ प्रतिस्थापन एल्गोरिथ्म
*एकीकृत परिपथ
*स्मृति प्रबंधन
*बेस-लिमिट एड्रेसिंग
*इंटेल 80286
*पेड़ (डेटा संरचना)
*एक्सेप्शन हेंडलिंग
*हैश टक्कर
*हैश टेबल
*कैशे इलाका
*धागा (कंप्यूटर विज्ञान)
*सी गतिशील स्मृति आवंटन
==संदर्भ==
==संदर्भ==
{{Reflist}}
{{Reflist}}
Line 158: Line 132:
{{Memory management navbox}}
{{Memory management navbox}}


{{DEFAULTSORT:Memory Management Unit}}[[Category: केंद्रीय प्रसंस्करण इकाई]]
{{DEFAULTSORT:Memory Management Unit}}
[[Category:डिजिटल सर्किट]]
[[Category:स्मृति प्रबंधन]]
[[Category: वर्चुअल मेमोरी]]
 


[[Category: Machine Translated Page]]
[[Category:CS1 errors]]
[[Category:Created On 08/09/2022]]
[[Category:Citation Style 1 templates|M]]
[[Category:Collapse templates|Memory Management Unit]]
[[Category:Created On 08/09/2022|Memory Management Unit]]
[[Category:Lua-based templates|Memory Management Unit]]
[[Category:Machine Translated Page|Memory Management Unit]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|Memory Management Unit]]
[[Category:Pages with script errors|Memory Management Unit]]
[[Category:Sidebars with styles needing conversion|Memory Management Unit]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready|Memory Management Unit]]
[[Category:Templates based on the Citation/CS1 Lua module]]
[[Category:Templates generating COinS|Cite magazine]]
[[Category:Templates generating microformats|Memory Management Unit]]
[[Category:Templates that add a tracking category|Memory Management Unit]]
[[Category:Templates that are not mobile friendly|Memory Management Unit]]
[[Category:Templates that generate short descriptions|Memory Management Unit]]
[[Category:Templates using TemplateData|Memory Management Unit]]
[[Category:Wikipedia fully protected templates|Cite magazine]]
[[Category:Wikipedia metatemplates|Memory Management Unit]]
[[Category:केंद्रीय प्रसंस्करण इकाई|Memory Management Unit]]
[[Category:डिजिटल सर्किट|Memory Management Unit]]
[[Category:वर्चुअल मेमोरी|Memory Management Unit]]
[[Category:स्मृति प्रबंधन|Memory Management Unit]]

Latest revision as of 17:26, 17 May 2023

300x300पीx . के साथ किया जा सकता है

मेमोरी मैनेजमेंट इकाई (एमएमयू), जिसे कभी-कभी पेजेड मेमोरी मैनेजमेंट इकाई (पीएमएमयू) कहा जाता है।[1] संगणक धातु पदार्थ इकाई है जिसमें सभी कंप्यूटर मेमोरी संदर्भ स्वयं से निकलते हैं ।मुख्य रूप से आभासी पते का भौतिक पतों में अनुवाद करते हैं।

एमएमयू प्रभावी रूप से अप्रत्यक्ष मेमोरी प्रबंधन करता है,। एक ही समय में मेमोरी सुरक्षा सीपीयू कैश कंट्रोल, कंप्यूटर बस आर्बिटर(इलेक्ट्रॉनिक्स) और, सरल कंप्यूटर आर्किटेक्चर (विशेष रूप से 8 बिट प्रणाली), बैंक स्विचिंग में संभालता है।

अवलोकन

एमएमयू के संचालन की योजना[2]: 186 ff. 

आधुनिक एमएमयू सामान्यतः वर्चुअल पता स्पेस (प्रोसेसर द्वारा उपयोग किए जाने वाले पतों की श्रेणी) को पेज (कंप्यूटर साइंस) में विभाजित करते हैं,। प्रत्येक का आकार 2 होता है, सामान्यतः कुछ किलोबाइट , किंतु वे बहुत बड़े हो सकते हैं। पते के निचले भाग (पृष्ठ के अन्दर ऑफ़समुच्चय) को अपरिवर्तित छोड़ दिया जाता है। ऊपरी पता बिट्स वर्चुअल पेज नंबर हैं।[3]


पृष्ठ तालिका प्रविष्टियाँ

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

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

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

एमएमयू क्रमशः अवैध या गैर-वर्तमान मेमोरी एक्सेस पर अवैध एक्सेस त्रुटि की स्थिति या अमान्य पृष्ठ दोष उत्पन्न कर सकता है, जिससे ऑपरेटिंग प्रणाली द्वारा नियंत्रित किए जाने पर विखंडन दोष या बस त्रुटि की स्थिति हो सकती है।

लाभ

वीएलएसआई VI475 एमएमयू एप्पल Hएमएमयू
लबादाII से
मोटोरोला 68020 के साथ प्रयोग किया गया

कुछ स्थितियों में, पृष्ठ दोष सॉफ्टवेयर बग का संकेत दे सकता है । जिसे एमएमयू के प्रमुख लाभों में से एक के रूप में मेमोरी सुरक्षा का उपयोग करके रोका जा सकता है । ऑपरेटिंग प्रणाली इसका उपयोग किसी विशेष प्रोग्राम की मेमोरी तक पहुंच को अस्वीकार करके गलत प्रोग्रामों से बचाने के लिए कर सकता है। सामान्यतः, ऑपरेटिंग प्रणाली प्रत्येक प्रोग्राम को अपना वर्चुअल एड्रेस स्पेस प्रदान करता है।[3]

एमएमयू मेमोरी के विखंडन (कंप्यूटर) की समस्या को भी कम करता है। मेमोरी के ब्लॉक आवंटित और मुक्त होने के बाद, मुक्त मेमोरी खंडित (असंतत) हो सकती है । जिससे मुक्त मेमोरी का सबसे बड़ा सन्निहित ब्लॉक कुल राशि से बहुत छोटा हो। वर्चुअल मेमोरी के साथ, वर्चुअल एड्रेस की सन्निहित श्रेणी को भौतिक मेमोरी के कई गैर-सन्निहित ब्लॉकों में मैप किया जा सकता है । यह गैर-सन्निहित आवंटन पेजिंग के लाभों में से एक है।[3]

कुछ प्रारंभिक माइक्रोप्रोसेसर रचनाओ में, मेमोरी प्रबंधन एक अलग एकीकृत परिपथ द्वारा किया गया था । जैसे कि वीएलएसआई प्रौद्योगिकी VI475 (1986), मोटोरोला 68851 (1984) जिसका उपयोग मैकिन्टोश II में मोटोरोला 68020 सीपीयू के साथ किया गया था,। या Z8010 [5] और Z8015 (1985) [6][7] प्रोसेसर के ज़िलोग Z8000 वर्ग के साथ प्रयोग किया जाता है। बाद में माइक्रोप्रोसेसरों (जैसे मोटोरोला 68030 और ज़िलोग Z280 ) ने एमएमयू को सीपीयू के साथ एक ही एकीकृत परिपथ पर रखा है जैसा कि इंटेल 802 86 और बाद में x86 माइक्रोप्रोसेसरों ने किया था।

चूंकि यह आलेख आधुनिक एमएमयू पर केंद्रित है, सामान्यतः पृष्ठों पर आधारित, प्रारंभिक प्रणालियों ने आधार-सीमा को संबोधित करने के लिए समान अवधारणा का उपयोग किया था । जो आगे विभाजन (मेमोरी) में विकसित हुआ। वे कभी-कभी आधुनिक वास्तुकला पर भी उपस्थित होते हैं। x86 आर्किटेक्चर ने 80286 में पेजिंग के अतिरिक्त विभाजन प्रदान किया, और 80386 और बाद के प्रोसेसर में पेजिंग और सेगमेंटेशन दोनों प्रदान करता है (चूंकि विभाजन का उपयोग 64-बिट ऑपरेशन में उपलब्ध नहीं है)।

उदाहरण

अधिकांश आधुनिक प्रणालियाँ मेमोरी को उन पृष्ठों में विभाजित करती हैं । जो 4-64 KB आकार में, अधिकांशतः तथाकथित विशाल पृष्ठों का उपयोग करने की क्षमता के साथ 2 MB या 1 GB आकार में (अधिकांशतः दोनों प्रकार संभव होते हैं)। पृष्ठ अनुवाद अनुवाद लुकसाइड बफर (टीएलबी) में कैश किए जाते हैं। कुछ प्रणालियाँ, मुख्य रूप से पुराने RIएससी रचना, ओएस में जाल (कंप्यूटिंग) जब टीएलबी में कोई पृष्ठ अनुवाद नहीं मिलता है। अधिकांश प्रणाली हार्डवेयर-आधारित ट्री वॉकर का उपयोग करते हैं। अधिकांश प्रणाली एमएमयू को अक्षम करने की अनुमति देते हैं, किंतु कुछ ओएस कोड में फंसने पर एमएमयू को अक्षम कर देते हैं।

वैक्स

वैक्स पृष्ठ 512 बाइट्स हैं, जो बहुत छोटा है । ओएस कई पेजों के साथ ऐसा व्यवहार कर सकता है जैसे कि वे एक ही बड़े पेज हों। उदाहरण के लिए, वैक्स पर लिनक्स आठ पृष्ठों को साथ समूहित करता है। इस प्रकार, प्रणाली को 4 KB पृष्ठ के रूप में देखा जाता है। वैक्स मेमोरी को चार निश्चित-उद्देश्य वाले क्षेत्रों में विभाजित करता है,। प्रत्येक 1 GB आकार में हैं ।

पी0 स्पेस
सामान्य प्रयोजन प्रति-प्रक्रिया मेमोरी जैसे ढेर के लिए प्रयुक्त।
पी1 स्पेस
(या नियंत्रण स्पेस) जो प्रति-प्रक्रिया भी है और सामान्यतः पर्यवेक्षक, कार्यकारी, कर्नेल (ऑपरेटिंग प्रणाली) , उपयोगकर्ता स्टैक (सार डेटा प्रकार) और ऑपरेटिंग प्रणाली द्वारा प्रबंधित अन्य प्रति-प्रक्रिया नियंत्रण संरचनाओं के लिए उपयोग किया जाता है।
एस0 स्पेस
जो सभी प्रक्रियाओं के लिए वैश्विक(या प्रणाली स्पेस) है और ऑपरेटिंग प्रणाली कोड और डेटा को स्टोर करता है, पेजटेबल सहित, पेजेड या नहीं होती है।
एस1 स्पेस
जो अप्रयुक्त है और डिजिटल उपकरण निगम के लिए आरक्षित है।

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

एआरएम

एआरएम वास्तुकला -आधारित एप्लिकेशन प्रोसेसर एआरएम के वर्चुअल मेमोरी प्रणाली आर्किटेक्चर द्वारा परिभाषित एमएमयू को प्रयुक्त करते हैं। वर्तमान आर्किटेक्चर वर्णन करने के लिए पृष्ठ तालिका प्रविष्टि को परिभाषित करता है । 4 KB तथा 64 KB पन्ने, 1 MB अनुभाग और 16 MB सुपर-सेक्शन; विरासत संस्करणों को भी परिभाषित किया गया है और 1 KB छोटा पृष्ठ है। यदि उपयोग कर रहे हैं तो एआरएम दो-स्तरीय पृष्ठ तालिका का उपयोग करता है । 4 KB तथा 64 KB पृष्ठ, या के लिए केवल एक-स्तरीय पृष्ठ तालिका 1 MB अनुभाग और 16 MB खंड होते है।

टीएलबी अपडेट पेज टेबल वॉकिंग हार्डवेयर द्वारा स्वचालित रूप से किए जाते हैं। पीटीई में विशेषाधिकार, कैशेबिलिटी जानकारी, एनएक्स बिट और गैर-सुरक्षित बिट के आधार पर पढ़ने/लिखने की अनुमति सम्मिलित है।[8]

आईबीएम प्रणाली/360 मॉडल 67, आईबीएम प्रणाली/370, और उत्तराधिकारी

आईबीएम प्रणाली/360 मॉडल 67, जिसे अगस्त 1965 में प्रस्तुत किया गया था, में एमएमयू सम्मिलित है जिसे डायनेमिक एड्रेस ट्रांसलेशन (डीएटी) बॉक्स कहा जाता है।[9][10] इसमें पृष्ठ तालिका के बाहर एक्सेस किए गए और गंदे बिट्स को संग्रहीत करने की असामान्य विशेषता है (सभी एस/360 प्रोसेसर के लिए चार बिट मेमोरी प्रोटेक्शन प्रोटेक्शन के साथ)। वे वर्चुअल मेमोरी के अतिरिक्त भौतिक मेमोरी को संदर्भित करते हैं, और विशेष-उद्देश्य निर्देशों द्वारा उपयोग किए जाते हैं।[10] यह ओएस के लिए ओवरहेड को कम करता है,। जिसे अन्यथा पेज टेबल से एक्सेस और गंदे बिट्स को अधिक भौतिक रूप से उन्मुख डेटा संरचना में प्रचारित करने की आवश्यकता होगी। यह ऑपरेटिंग प्रणाली-स्तरीय वर्चुअलाइजेशन को आसान बनाता है, जिसे बाद में पैरावर्चुअलाइजेशन कहा जाता है।

अगस्त, 1972 से प्रारंभ होकर, आईबीएम प्रणाली/370 में समान एमएमयू है,। चूंकि यह प्रारंभ में प्रणाली/360 मॉडल 67 के 32-बिट वर्चुअल एड्रेस स्पेस के अतिरिक्त केवल 24-बिट वर्चुअल एड्रेस स्पेस का समर्थन करता है। यह एक्सेस किए गए को भी स्टोर करता है। और पेज टेबल के बाहर गंदे बिट्स होते है। 1983 की प्रारंभ में, प्रणाली/370-XA आर्किटेक्चर ने वर्चुअल एड्रेस स्पेस को 31 बिट्स तक विस्तारित किया। और 2000 में, 64-बिट z/आर्किटेक्चर को प्रस्तुत किया गया था। जिसमें एड्रेस स्पेस को 64 बिट्स तक विस्तारित किया गया; वे पेज टेबल के बाहर एक्सेस और गंदे बिट्स को स्टोर करना जारी रखते हैं।

डीईसी अल्फा

डीईसी अल्फा प्रोसेसर मेमोरी 8 KB पृष्ठ को विभाजित करता है। टीएलबी चूक के बाद, निम्न-स्तरीय फर्मवेयर मशीन कोड (यहाँ पालकोड कहा जाता है) तीन-स्तरीय ट्री-स्ट्रक्चर्ड पेज टेबल पर चलता है। पते निम्नानुसार टूट गए हैं: 21 बिट्स अप्रयुक्त, पेड़ के रूट स्तर को इंडेक्स करने के लिए 10 बिट्स, पेड़ के मध्य स्तर को इंडेक्स करने के लिए 10 बिट्स, पेड़ के पत्ते के स्तर को इंडेक्स करने के लिए 10 बिट्स, और 13 बिट्स जो निकलते हैं संशोधन के बिना भौतिक पते पर। पूर्ण पढ़ने/लिखने/निष्पादित अनुमति बिट्स समर्थित हैं।

एमआईपीएस

एमआईपीएस वास्तुकला टीएलबी में एक से 64 प्रविष्टियों का समर्थन करता है। टीएलबी प्रविष्टियों की संख्या संश्लेषण से पहले सीपीयू विन्यास पर विन्यास योग्य है। टीएलबी प्रविष्टियां दोहरी हैं। प्रत्येक टीएलबी प्रविष्टि वर्चुअल पेज नंबर (वीपीएन 2) को दो पेज फ्रेम नंबरों (पीएफएन 0 या पीएफएन 1) में से किसी एक में मैप करती है,। जो वर्चुअल एड्रेस के कम से कम महत्वपूर्ण बिट पर निर्भर करती है । जो पेज मुखौटा (कंप्यूटिंग) का भाग नहीं है। यह बिट और पेज मास्क बिट्स VपीN2 में स्टोर नहीं होते हैं। प्रत्येक टीएलबी प्रविष्टि का अपना पृष्ठ आकार होता है, जिसका कोई भी मान हो सकता है 1 KB प्रति 256 MB चार के गुणकों में। टीएलबी प्रविष्टि में प्रत्येक पीएफएन में कैशिंग विशेषता, गंदा और वैध स्थिति बिट होता है। वीपीएन 2 में वैश्विक स्थिति बिट और ओएस असाइन की गई आईडी होती है जो वर्चुअल एड्रेस टीएलबी एंट्री मैच में भाग लेती है,। यदि वैश्विक स्थिति बिट शून्य पर समुच्चय है। पीएफएन पेज मास्क बिट्स के बिना भौतिक पता संग्रहीत करता है।

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

MIपीएस32 और MIपीएस32r2 वर्चुअल एड्रेस स्पेस के 32 बिट्स और फिजिकल एड्रेस स्पेस के 36 बिट्स तक सपोर्ट करते हैं। MIपीएस64 वर्चुअल एड्रेस स्पेस के 64 बिट तक और फिजिकल एड्रेस स्पेस के 59 बिट तक सपोर्ट करता है।

सन 1

मूल सन 1 मोटोरोला 68000 माइक्रोप्रोसेसर के आसपास बनाया गया सिंगल बोर्ड कंप्यूटर है और 1982 में प्रस्तुत किया गया था। इसमें मूल सन 1 मेमोरी प्रबंधन इकाई सम्मिलित है । जो सीपीयू पर चलने वाली कई प्रक्रियाओं के लिए एड्रेस ट्रांसलेशन, मेमोरी प्रोटेक्शन, मेमोरी शेयरिंग और मेमोरी आवंटन प्रदान करती है। . सीपीयू की निजी ऑन-बोर्ड रैम, बाहरी बहुतों को मेमोरी, ऑन-बोर्ड इनपुट/आउटपुट|I/ओ और मल्टीबस I/ओ तक सभी पहुंच एमएमयू के माध्यम से चलती है,। जहां एड्रेस ट्रांसलेशन और सुरक्षा समान विधि से की जाती है। एमएमयू को सीपीयू बोर्ड पर हार्डवेयर में प्रयुक्त किया जाता है।

एमएमयू में संदर्भ रजिस्टर, मेमोरी विभाजन मैप और पेज मैप होता है। सीपीयू से वर्चुअल एड्रेस को सेगमेंट मैप द्वारा इंटरमीडिएट एड्रेस में ट्रांसलेट किया जाता है,। जो बदले में पेज मैप द्वारा फिजिकल एड्रेस में ट्रांसलेट किया जाता है। पृष्ठ का आकार है 2 KB और खंड का आकार है 32 KB जो प्रति सेगमेंट 16 पेज देता है। साथ 16 संदर्भों को मैप किया जा सकता है। किसी संदर्भ के लिए अधिकतम तार्किक पता स्पेस है 1024 pages या 2 MB. अधिकतम भौतिक पता जिसे एक साथ मैप किया जा सकता है । वह 2 MB. भी है ।

मल्टीटास्किंग ऑपरेटिंग प्रणाली में संदर्भ रजिस्टर महत्वपूर्ण है । क्योंकि यह सीपीयू को सभी अनुवाद स्थिति की जानकारी को पुनः लोड किए बिना प्रक्रियाओं के बीच स्विच करने की अनुमति देता है। 4-बिट संदर्भ रजिस्टर पर्यवेक्षक नियंत्रण के अनुसार खंड मानचित्र के 16 अनुभागों के बीच स्विच कर सकता है, जो 16 संदर्भों को समवर्ती रूप से मैप करने की अनुमति देता है। प्रत्येक संदर्भ का अपना वर्चुअल पता स्पेस होता है। विभिन्न संदर्भों के खंड या पृष्ठ मानचित्रों में समान मान लिखकर आभासी पता स्पेस और अंतर-संदर्भ संचार साझा करना प्रदान किया जा सकता है। अतिरिक्त संदर्भों को खंड मानचित्र को संदर्भ कैश के रूप में मानकर और कम से कम वर्तमान में उपयोग किए गए आधार पर पुराने संदर्भों को बदलकर नियंत्रित किया जा सकता है।

संदर्भ रजिस्टर उपयोगकर्ता और पर्यवेक्षक राज्यों के बीच कोई अंतर नहीं करता है। इंटरप्ट और ट्रैप संदर्भों को स्विच नहीं करते हैं, जिसके लिए सभी मान्य इंटरप्ट वैक्टर को सदैव संदर्भ के पृष्ठ 0 में मैप किया जाना चाहिए, साथ ही साथ वैध पर्यवेक्षक स्टैक भी मापा जाना चाहिए।[11]

पावरपीसी

पावरपीसी में जी1, जी2, जी3, और जी4 पृष्ठ सामान्य रूप 4 KB. से होते हैं । टीएलबी चूक के बाद, मानक पावरपीसी एमएमयू साथ दो लुकअप प्रारंभ करता है। लुकअप चार या आठ डेटा ब्लॉक एड्रेस ट्रांसलेशन (डीबीएटी) रजिस्टरों में से एक के साथ पते का मिलान करने का प्रयास करता है, या चार या आठ निर्देश ब्लॉक एड्रेस ट्रांसलेशन रजिस्टर (आईबीएटी), जैसा उपयुक्त हो। बैट रजिस्टर मेमोरी के रैखिक भाग को जितना बड़ा कर सकते हैं । 256 MB, मैप कर सकते हैं और सामान्यतः ओएस द्वारा ओएस कर्नेल के स्वयं के उपयोग के लिए एड्रेस स्पेस के बड़े भाग को मैप करने के लिए उपयोग किया जाता है। यदि बैट लुकअप सफल होता है, तो अन्य लुकअप रोक दिया जाता है और अनदेखा कर दिया जाता है।

अन्य लुकअप, इस वर्ग के सभी प्रोसेसर द्वारा सीधे समर्थित नहीं है,। तथाकथित उलटा पृष्ठ तालिका के माध्यम से है, जो टीएलबी के हैशेड ऑफ-चिप एक्सटेंशन के रूप में कार्य करता है। सबसे पहले, पते के शीर्ष चार बिट्स का उपयोग 16 मेमोरी सेगमेंटेशन रजिस्टरों में से एक का चयन करने के लिए किया जाता है। फिर खंड रजिस्टर से 24 बिट्स उन चार बिट्स को प्रतिस्थापित करते हैं,। जो 52-बिट पते का निर्माण करते हैं। खंड रजिस्टरों का उपयोग कई प्रक्रियाओं को एक ही हैश तालिका साझा करने की अनुमति देता है।

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

इस रचना के साथ बड़ी समस्या हैश कार्य के कारण खराब कैश स्पेस है। ट्री-आधारित रचना आसन्न स्पेसों में आसन्न पृष्ठों के लिए पृष्ठ तालिका प्रविष्टियाँ रखकर इससे बचते हैं। पावरपीसी पर चलने वाला ऑपरेटिंग प्रणाली इस समस्या को कम करने के लिए हैश तालिका के आकार को छोटा कर सकता है।

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

आइए-32 / x86

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

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

ऑफ़समुच्चय जोड़ने के बाद, पता 32 बिट से बड़ा नहीं होना चाहिए। परिणाम पेड़-संरचित पृष्ठ तालिका के माध्यम से देखा जा सकता है, पते के बिट्स को निम्नानुसार विभाजित किया जा सकता है । पेड़ की शाखा के लिए 10 बिट्स, शाखा की पत्तियों के लिए 10 बिट्स, और 12 सबसे कम बिट्स सीधे परिणाम में कॉपी किया गया। कुछ ऑपरेटिंग प्रणाली, जैसे ओपिनबीएसडी अपनी W^X सुविधा के साथ, और लिनक्स एक्सेक शील्ड या पैक्स पैच के साथ, कोड खंड की लंबाई को भी सीमित कर सकता है,। जैसा कि सीएस रजिस्टर द्वारा निर्दिष्ट किया गया है,। जिससे संशोधित क्षेत्रों में कोड के निष्पादन को रोका जा सके।

इंटेल पी5 के साथ प्रस्तुत किए गए एमएमयू के छोटे संशोधनों ने बहुत बड़ी अनुमति दी है । 4 MB ट्री के निचले स्तर को छोड़ कर पृष्ठ (यह पृष्ठ पदानुक्रम के पहले स्तर को अनुक्रमित करने के लिए 10 बिट्स छोड़ता है और शेष 10+12 बिट्स को सीधे परिणाम में कॉपी किया जाता है)। पेंटियम प्रो के साथ प्रस्तुत किए गए एमएमयू के मामूली संशोधनों ने भौतिक पता विस्तार (पीएई) सुविधा की प्रारंभ की, जिससे तीन-स्तरीय पृष्ठ तालिकाओं के लिए 2+9+9 बिट्स के साथ 36-बिट भौतिक पतों को सक्षम किया गया और 12 सबसे कम बिट्स को सीधे परिणाम में कॉपी किया गया। बड़े पृष्ठ (2 MB) पेड़ के निचले स्तर को छोड़ कर भी उपलब्ध हैं ।(परिणामस्वरूप दो-स्तरीय तालिका पदानुक्रम के लिए 2+9 बिट्स और शेष 9+12 निम्नतम बिट्स सीधे कॉपी किए गए)। इसके अतिरिक्त, पृष्ठ विशेषता तालिका ने छोटे ऑन-सीपीयू टेबल में कुछ उच्च बिट्स को देखकर कैशेबिलिटी के विनिर्देशन की अनुमति दी है।

NX बिट | नो-एक्ज़िक्यूट सपोर्ट मूल रूप से केवल प्रति-सेगमेंट के आधार पर प्रदान किया गया था,। जिससे इसका उपयोग करना बहुत अलग हो गया। वर्तमान में x86 चिप्स पीएई मोड में प्रति-पृष्ठ नो-एक्ज़ीक्यूट बिट प्रदान करते हैं। ऊपर वर्णित W^X, एक्सेक शील्ड, और पैक्स तंत्र, प्रदर्शन हानि और उपलब्ध पता स्पेस में कमी के साथ, कोड खंड की लंबाई निर्धारित करके NX बिट की कमी वाली मशीनों x86 प्रोसेसर पर प्रति-पृष्ठ गैर-निष्पादित समर्थन का अनुकरण करते हैं। .

x86-64

विषम प्रणाली वास्तुकला (एचएसए) सीपीयू, जीपीयू और डीएसपी के लिए एक एकीकृत वर्चुअल एड्रेस स्पेस बनाता है, जिससे मैपिंग ट्रिक्स और डेटा कॉपी करना समाप्त हो जाता है।

x86-64 x86 का 64-बिट एक्सटेंशन है । जो 386 या नए प्रोसेसर के लिए लगभग सभी ऑपरेटिंग प्रणाली द्वारा उपयोग किए जाने वाले फ्लैट मेमोरी मॉडल के पक्ष में विभाजन को लगभग पूरी तरह से हटा देता है। लॉन्ग मोड में, एफएस और जीएस सेगमेंट को छोड़कर, सभी सेगमेंट ऑफ़समुच्चय को नज़रअंदाज कर दिया जाता है। जब के साथ प्रयोग किया जाता है 4 KB पेज, पेज टेबल ट्री में तीन के अतिरिक्त चार स्तर होते हैं।

आभासी पतों को इस प्रकार विभाजित किया गया है: 16 बिट अप्रयुक्त, नौ बिट्स प्रत्येक चार पेड़ स्तरों के लिए (कुल 36 बिट्स के लिए), और 12 सबसे कम बिट्स सीधे परिणाम में कॉपी किए गए हैं। साथ 2 MB पेज, पेज टेबल के केवल तीन स्तर हैं, पेजिंग में उपयोग किए जाने वाले कुल 27 बिट्स और ऑफ़समुच्चय के 21 बिट्स के लिए। कुछ नए सीपीयू भी सपोर्ट करते हैं । a 1 GB पेजिंग के दो स्तरों वाला पेज और 30 bits ऑफसमुच्चय का होता है।[12]

सीपीयूआईडी का उपयोग यह निर्धारित करने के लिए किया जा सकता है कि 1 GB पृष्ठ समर्थित हैं। तीनों स्थितियों में, 16 highest बिट्स को 48 वें बिट के बराबर होना चाहिए, या दूसरे शब्दों में, निम्न 48 bits उच्च बिट्स के लिए साइन एक्सटेंशन हैं। यह पश्चगामी संगतता से समझौता किए बिना, पता योग्य सीमा के भविष्य के विस्तार की अनुमति देने के लिए किया जाता है। पृष्ठ तालिका के सभी स्तरों में, पृष्ठ तालिका प्रविष्टि में NX बिट | नो-निष्पादित बिट सम्मिलित होता है।

यूनिसिस एमसीपी प्रणाली्स (बरोज बी5000)

1961 से बरोज़ B5000 वर्चुअल मेमोरी ( एटलस कंप्यूटर (मैनचेस्टर) के बाद) का समर्थन करने वाला पहला वाणिज्यिक प्रणाली था,। तथापि इसमें कोई एमएमयू नहीं है । [13] यह एमएमयू के दो कार्य प्रदान करता है - वर्चुअल मेमोरी एड्रेस और मेमोरी प्रोटेक्शन अलग आर्किटेक्चरल दृष्टिकोण के साथ होता है।

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

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

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

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

प्रक्रिया स्टैक में कॉपी डिस्क्रिप्टर के माध्यम से प्रक्रियाओं के बीच ब्लॉक साझा किए जा सकते हैं। इस प्रकार, कुछ प्रक्रियाओं में लिखने की अनुमति हो सकती है, जबकि अन्य में नहीं है। कोड खंड केवल पढ़ा जाता है, इस प्रकार प्रक्रियाओं के बीच पुन: प्रवेश और साझा किया जाता है। कॉपी डिस्क्रिप्टर में 20-बिट एड्रेस फ़ील्ड होता है । जो मास्टर डिस्क्रिप्टर एरे में मास्टर डिस्क्रिप्टर का इंडेक्स देता है। यह बहुत ही कुशल और सुरक्षित आईपीसी तंत्र को भी प्रयुक्त करता है। ब्लॉक को आसानी से स्पेसांतरित किया जा सकता है, क्योंकि ब्लॉक की स्थिति में परिवर्तन होने पर केवल मास्टर डिस्क्रिप्टर को अपडेट की आवश्यकता होती है।

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

यह भी देखें

संदर्भ

  1. Memory Management Unit at the Free On-line Dictionary of Computing
  2. Tanenbaum, Andrew S. (2009). Modern operating systems. Upper Saddle River (New Jersey): Prentice-Hall. ISBN 978-0-13-600663-3.
  3. 3.0 3.1 3.2 3.3 3.4 Frank Uyeda (2009). "Lecture 7: Memory Management" (PDF). CSE 120: Principles of Operating Systems. UC San Diego. Retrieved 2013-12-04.
  4. Spectra 70 70-46 Processor Manual (PDF). RCA. March 1968. p. 4. Retrieved August 15, 2013.
  5. "Z8010 Z8000 MMU Memory Management Unit Product Specification" (PDF). Zilog. April 1985. {{cite journal}}: Cite journal requires |journal= (help)
  6. "1983/84 Data Book" (PDF). Zilog: 215–234. Retrieved 2021-04-27. {{cite journal}}: Cite journal requires |journal= (help)
  7. Schmidt, Stephen (April 1983). "Virtual Memory for Microcomputers". Byte. Vol. 8, no. 4. pp. 234–235.
  8. "Cortex-A8 Technical Reference Manual" (PDF). Infoventer.arm.com. Retrieved 2017-05-03.
  9. "IBM Archives: System/360 Dates and characteristics". 03.ibm.com. Retrieved 2017-05-03.
  10. 10.0 10.1 "IBM System/360 Model 67 Functional Characteristics, Third Edition" (PDF). February 1972. GA27-2719-2. Retrieved October 29, 2021.
  11. Sun 68000 Board User's Manual, Sun Microsystems, Inc, February 1983, Revision B
  12. "AMD64 Architecture Programmer's Manual Volume 2: System Programming" (PDF). March 2017. Retrieved 2017-12-05.
  13. Tanenbaum, Andrew S.; Herder, Jorrit N.; Bos, Herbert (May 2006). "Can We Make Operating Systems Reliable and Secure?". Computer. 39 (5): 44–51. CiteSeerX 10.1.1.112.3028. doi:10.1109/MC.2006.156. S2CID 99779.
  14. Daniel H. H. Ingalls (August 1981). "Design Principles Behind Smalltalk". Byte Magazine. Archived from the original on 2007-09-27.