इनपुट-आउटपुट मेमोरी मैनेजमेंट यूनिट: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 17: Line 17:
== लाभ ==
== लाभ ==
मेमोरी (डीएमए) के प्रत्यक्ष भौतिक पते की तुलना में आईओएमएमयू होने के लाभों में सम्मिलित हैं{{citation needed|date=February 2015}}:
मेमोरी (डीएमए) के प्रत्यक्ष भौतिक पते की तुलना में आईओएमएमयू होने के लाभों में सम्मिलित हैं{{citation needed|date=February 2015}}:
* स्मृति के बड़े क्षेत्रों को भौतिक स्मृति में सन्निहित होने की आवश्यकता के बिना आवंटित किया जा सकता है{{snd}} IOMMU सन्निहित आभासी पतों को अंतर्निहित खंडित भौतिक पतों पर मैप करता है। इस प्रकार, वेक्टर I/O (स्कैटर-इकट्ठा सूचियाँ) के उपयोग से कभी-कभी बचा जा सकता है।
* स्मृति के बड़े क्षेत्रों को भौतिक स्मृति में सन्निहित होने की आवश्यकता के बिना आवंटित किया जा सकता है{{snd}}आईओएमएमयू सन्निहित आभासी पतों को अंतर्निहित खंडित भौतिक पतों पर प्रतिचित्र करता है। इस प्रकार, सदिश I/O (स्कैटर-इकट्ठा सूचियाँ) के उपयोग से कभी-कभी बचा जा सकता है।
* ऐसे उपकरण जो संपूर्ण भौतिक मेमोरी को संबोधित करने के लिए लंबे समय तक मेमोरी पतों का समर्थन नहीं करते हैं, अभी भी IOMMU के माध्यम से संपूर्ण मेमोरी को संबोधित कर सकते हैं, परिधीय के एड्रेसेबल मेमोरी स्पेस से और बफ़र्स को कॉपी करने से जुड़े ओवरहेड्स से बचते हैं।
* ऐसे उपकरण जो संपूर्ण भौतिक मेमोरी को संबोधित करने के लिए लंबे समय तक मेमोरी पतों का समर्थन नहीं करते हैं, अभी भी आईओएमएमयू के माध्यम से संपूर्ण मेमोरी को संबोधित कर सकते हैं, परिधीय के पता योग्य स्मृति स्थान से और बफ़र्स को प्रतिलिपि करने से जुड़े उपरिव्यय से बचते हैं।
** उदाहरण के लिए, x86 कंप्यूटर एक x86 प्रोसेसर में फिजिकल एड्रेस एक्सटेंशन (PAE) फीचर के साथ 4 गीगाबाइट से अधिक मेमोरी को एड्रेस कर सकते हैं। फिर भी, एक साधारण 32-बिट PCI डिवाइस 4 GiB सीमा से ऊपर की मेमोरी को आसानी से संबोधित नहीं कर सकता है, और इस प्रकार यह इसे सीधे एक्सेस नहीं कर सकता है। IOMMU के बिना, ऑपरेटिंग सिस्टम को समय लेने वाली बाउंस बफ़र्स (जिसे डबल बफ़र्स के रूप में भी जाना जाता है) को लागू करना होगा<ref>{{cite web|url=http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx#E2D|title=भौतिक पता विस्तार - पीएई मेमोरी और विंडोज|publisher=Microsoft Windows Hardware Development Central|year=2005|access-date=2008-04-07}}</ref>).
** उदाहरण के लिए, x86 कंप्यूटर एक x86 प्रोसेसर में फिजिकल एड्रेस एक्सटेंशन (पीएई) फीचर के साथ 4 गीगाबाइट से अधिक मेमोरी को संबोधित कर सकते हैं। फिर भी, एक साधारण 32-बिट पीसीआई उपकरण 4 GiB सीमा से ऊपर की मेमोरी को आसानी से संबोधित नहीं कर सकता है, और इस प्रकार यह इसे सीधे अभिगम नहीं कर सकता है। आईओएमएमयू के बिना, संचालन प्रणाली को समय लेने वाली बाउंस बफ़र्स (जिसे डबल बफ़र्स के रूप में भी जाना जाता है) को लागू करना होगा<ref>{{cite web|url=http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx#E2D|title=भौतिक पता विस्तार - पीएई मेमोरी और विंडोज|publisher=Microsoft Windows Hardware Development Central|year=2005|access-date=2008-04-07}}</ref>).
* स्मृति दुर्भावनापूर्ण उपकरणों से सुरक्षित है जो डीएमए हमलों और दोषपूर्ण उपकरणों का प्रयास कर रहे हैं जो त्रुटिपूर्ण स्मृति हस्तांतरण का प्रयास कर रहे हैं क्योंकि एक उपकरण स्मृति को पढ़ या लिख ​​नहीं सकता है जिसे इसके लिए स्पष्ट रूप से आवंटित (मैप) नहीं किया गया है। स्मृति सुरक्षा इस तथ्य पर आधारित है कि CPU पर चलने वाला OS विशेष रूप से MMU और IOMMU दोनों को नियंत्रित करता है। उपकरण शारीरिक रूप से कॉन्फ़िगर की गई मेमोरी प्रबंधन तालिकाओं को दरकिनार करने या दूषित करने में असमर्थ हैं।
* स्मृति दुर्भावनापूर्ण उपकरणों से सुरक्षित है जो कि डीएमए हमलों और दोषपूर्ण उपकरणों का प्रयास कर रहे हैं जो कि त्रुटिपूर्ण स्मृति हस्तांतरण का प्रयास कर रहे हैं क्योंकि एक उपकरण स्मृति को पढ़ या लिख ​​नहीं सकता है जिसे इसके लिए स्पष्ट रूप से आवंटित (प्रतिचित्र ) नहीं किया गया है। स्मृति सुरक्षा इस तथ्य पर आधारित है कि सीपीयू पर चलने वाला ओएस विशेष रूप से एमएमयू और आईओएमएमयू दोनों को नियंत्रित करता है। उपकरण शारीरिक रूप से कॉन्फ़िगर की गई मेमोरी प्रबंधन तालिकाओं को अलग करने या दूषित करने में असमर्थ हैं।
** हार्डवेयर-समर्थित वर्चुअलाइजेशन में, अतिथि ऑपरेटिंग सिस्टम हार्डवेयर का उपयोग कर सकते हैं जो विशेष रूप से वर्चुअलाइजेशन के लिए नहीं बनाया गया है। उच्च प्रदर्शन हार्डवेयर जैसे ग्राफिक्स कार्ड मेमोरी को सीधे एक्सेस करने के लिए डीएमए का उपयोग करते हैं; वर्चुअल वातावरण में सभी मेमोरी पतों को वर्चुअल मशीन सॉफ़्टवेयर द्वारा फिर से मैप किया जाता है, जिसके कारण DMA डिवाइस विफल हो जाते हैं। IOMMU इस री-मैपिंग को हैंडल करता है, जिससे नेटिव डिवाइस ड्राइवर्स को गेस्ट ऑपरेटिंग सिस्टम में इस्तेमाल करने की अनुमति मिलती है।
** हार्डवेयर-समर्थित वर्चुअलाइजेशन में, अतिथि संचालन प्रणाली  हार्डवेयर का उपयोग कर सकते हैं जो विशेष रूप से वर्चुअलाइजेशन के लिए नहीं बनाया गया है। उच्च प्रदर्शन हार्डवेयर जैसे ग्राफिक्स कार्ड मेमोरी को सीधे अभिगम करने के लिए डीएमए का उपयोग करते हैं; वर्चुअल वातावरण में सभी मेमोरी पतों को वर्चुअल मशीन सॉफ़्टवेयर द्वारा फिर से प्रतिचित्र किया जाता है, जिसके कारण डीएमए उपकरण विफल हो जाते हैं। आईओएमएमयू इस री-मैपिंग को हैंडल करता है, जिससे नेटिव उपकरण ड्राइवर्स को गेस्ट संचालन प्रणाली में इस्तेमाल करने की अनुमति मिलती है।
* कुछ आर्किटेक्चर में IOMMU मानक मेमोरी एड्रेस री-मैपिंग के समान ही हार्डवेयर इंटरप्ट री-मैपिंग भी करता है।
* कुछ आर्किटेक्चर में आईओएमएमयू मानक मेमोरी एड्रेस री-मैपिंग के समान ही हार्डवेयर इंटरप्ट री-मैपिंग भी करता है।
* परिधीय मेमोरी पेजिंग को IOMMU द्वारा समर्थित किया जा सकता है। PCI-SIG PCIe एड्रेस ट्रांसलेशन सर्विसेज (ATS) पेज रिक्वेस्ट इंटरफेस (PRI) एक्सटेंशन का उपयोग करने वाला एक पेरिफेरल मेमोरी मैनेजर सेवाओं की आवश्यकता का पता लगा सकता है और संकेत दे सकता है।
* परिधीय मेमोरी पेजिंग को आईओएमएमयू द्वारा समर्थित किया जा सकता है। पीसीआई-एसआईजी पीसीआईई पता अनुवाद सेवाएं (एटीएस) पेज रिक्वेस्ट इंटरफेस (पीआरआई) एक्सटेंशन का उपयोग करने वाला एक पेरिफेरल मेमोरी मैनेजर सेवाओं की आवश्यकता का पता लगा सकता है और संकेत दे सकता है।


सिस्टम आर्किटेक्चर के लिए जिसमें पोर्ट I/O मेमोरी एड्रेस स्पेस से अलग एड्रेस स्पेस है, IOMMU का उपयोग तब नहीं किया जाता है जब CPU I/O पोर्ट के माध्यम से उपकरणों के साथ संचार करता है। सिस्टम आर्किटेक्चर में जिसमें पोर्ट I/O और मेमोरी को उपयुक्त एड्रेस स्पेस में मैप किया जाता है, एक IOMMU पोर्ट I/O एक्सेस का अनुवाद कर सकता है।
सिस्टम आर्किटेक्चर के लिए जिसमें पोर्ट I/O मेमोरी एड्रेस स्पेस से अलग एड्रेस स्पेस है, आईओएमएमयू का उपयोग तब नहीं किया जाता है जब सीपीयू I/O पोर्ट के माध्यम से उपकरणों के साथ संचार करता है। सिस्टम आर्किटेक्चर में जिसमें पोर्ट I/O और मेमोरी को उपयुक्त एड्रेस स्पेस में प्रतिचित्र किया जाता है, एक आईओएमएमयू पोर्ट I/O अभिगम का अनुवाद कर सकता है।


== नुकसान ==
== नुकसान ==
स्मृति के प्रत्यक्ष भौतिक पते की तुलना में IOMMU होने के नुकसान में शामिल हैं:<ref name=price-of-safety>{{cite conference |author1=Muli Ben-Yehuda |author2=Jimi Xenidis |author3=Michal Ostrowski |date=2007-06-27 |title=सुरक्षा की कीमत: IOMMU प्रदर्शन का मूल्यांकन|publisher=[[IBM Research]] |format=PDF |book-title=Proceedings of the Linux Symposium 2007 |location=Ottawa, Ontario, Canada |url=https://www.kernel.org/doc/ols/2007/ols2007v1-pages-9-20.pdf |access-date=2013-02-28 }}</ref>
स्मृति के प्रत्यक्ष भौतिक पते की तुलना में आईओएमएमयू होने के नुकसान में सम्मिलित हैं:<ref name=price-of-safety>{{cite conference |author1=Muli Ben-Yehuda |author2=Jimi Xenidis |author3=Michal Ostrowski |date=2007-06-27 |title=सुरक्षा की कीमत: IOMMU प्रदर्शन का मूल्यांकन|publisher=[[IBM Research]] |format=PDF |book-title=Proceedings of the Linux Symposium 2007 |location=Ottawa, Ontario, Canada |url=https://www.kernel.org/doc/ols/2007/ols2007v1-pages-9-20.pdf |access-date=2013-02-28 }}</ref>
* अनुवाद और प्रबंधन ओवरहेड से प्रदर्शन में कुछ गिरावट (जैसे, पेज टेबल वॉक)।
* अनुवाद और प्रबंधन ओवरहेड से प्रदर्शन में कुछ गिरावट (जैसे, पेज टेबल वॉक)।
* जोड़े गए I/O पेज टेबल | पेज (अनुवाद) टेबल के लिए फिजिकल मेमोरी की खपत। यदि तालिकाओं को प्रोसेसर के साथ साझा किया जा सकता है तो इसे कम किया जा सकता है।
* जोड़े गए I/O पेज टेबल | पेज (अनुवाद) टेबल के लिए फिजिकल मेमोरी की खपत। यदि तालिकाओं को प्रोसेसर के साथ साझा किया जा सकता है तो इसे कम किया जा सकता है।
* पृष्ठ तालिका के आकार को कम करने के लिए कई IOMMUs की ग्रैन्युलैरिटी मेमोरी पेजिंग (अक्सर 4096 बाइट्स) के बराबर होती है, और इसलिए प्रत्येक छोटे बफर को DMA हमले से सुरक्षा की आवश्यकता होती है, जिसे डिवाइस को दृश्यमान बनाने से पहले पृष्ठ संरेखित और शून्य किया जाना चाहिए। . ओएस मेमोरी आवंटन जटिलता के कारण इसका मतलब है कि डिवाइस ड्राइवर को संवेदनशील डेटा संरचनाओं के लिए बाउंस बफ़र्स का उपयोग करने की आवश्यकता है और इसलिए समग्र प्रदर्शन कम हो रहा है।
* पृष्ठ तालिका के आकार को कम करने के लिए कई IOMMUs की ग्रैन्युलैरिटी मेमोरी पेजिंग (अक्सर 4096 बाइट्स) के बराबर होती है, और इसलिए प्रत्येक छोटे बफर को डीएमए हमले से सुरक्षा की आवश्यकता होती है, जिसे उपकरण को दृश्यमान बनाने से पहले पृष्ठ संरेखित और शून्य किया जाना चाहिए। . ओएस मेमोरी आवंटन जटिलता के कारण इसका मतलब है कि उपकरण ड्राइवर को संवेदनशील डेटा संरचनाओं के लिए बाउंस बफ़र्स का उपयोग करने की आवश्यकता है और इसलिए समग्र प्रदर्शन कम हो रहा है।


== वर्चुअलाइजेशन ==
== वर्चुअलाइजेशन ==
जब एक ऑपरेटिंग सिस्टम एक वर्चुअल मशीन के अंदर चल रहा होता है, जिसमें पैरावर्चुअलाइज़ेशन का उपयोग करने वाले सिस्टम शामिल होते हैं, जैसे कि Xen और कर्नेल-आधारित वर्चुअल मशीन, यह आमतौर पर मेमोरी के होस्ट-भौतिक पतों को नहीं जानता है जो इसे एक्सेस करता है। यह कंप्यूटर हार्डवेयर तक सीधे पहुंच प्रदान करना कठिन बनाता है, क्योंकि यदि अतिथि OS हार्डवेयर को अतिथि-भौतिक पतों का उपयोग करके प्रत्यक्ष मेमोरी एक्सेस (DMA) करने का निर्देश देने की कोशिश करता है, तो यह संभवतः मेमोरी को दूषित कर देगा, क्योंकि हार्डवेयर को इसके बारे में पता नहीं होता है। दी गई वर्चुअल मशीन के लिए गेस्ट-फिजिकल और होस्ट-फिजिकल एड्रेस के बीच मैपिंग। भ्रष्टाचार से बचा जा सकता है यदि अनुवाद लागू करने के लिए हाइपरविजर या होस्ट ओएस I/O ऑपरेशन में हस्तक्षेप करता है। हालाँकि, इस दृष्टिकोण से I/O कार्रवाई में विलंब होता है।
जब एक ऑपरेटिंग सिस्टम एक वर्चुअल मशीन के अंदर चल रहा होता है, जिसमें पैरावर्चुअलाइज़ेशन का उपयोग करने वाले सिस्टम सम्मिलित होते हैं, जैसे कि Xen और कर्नेल-आधारित वर्चुअल मशीन, यह आमतौर पर मेमोरी के होस्ट-भौतिक पतों को नहीं जानता है जो इसे अभिगम करता है। यह कंप्यूटर हार्डवेयर तक सीधे पहुंच प्रदान करना कठिन बनाता है, क्योंकि यदि अतिथि OS हार्डवेयर को अतिथि-भौतिक पतों का उपयोग करके प्रत्यक्ष मेमोरी एक्सेस (डीएमए) करने का निर्देश देने की कोशिश करता है, तो यह संभवतः मेमोरी को दूषित कर देगा, क्योंकि हार्डवेयर को इसके बारे में पता नहीं होता है। दी गई वर्चुअल मशीन के लिए गेस्ट-फिजिकल और होस्ट-फिजिकल एड्रेस के बीच मैपिंग। भ्रष्टाचार से बचा जा सकता है यदि अनुवाद लागू करने के लिए हाइपरविजर या होस्ट ओएस I/O ऑपरेशन में हस्तक्षेप करता है। हालाँकि, इस दृष्टिकोण से I/O कार्रवाई में विलंब होता है।


एक IOMMU हार्डवेयर द्वारा एक्सेस किए गए पतों को उसी (या एक संगत) अनुवाद तालिका के अनुसार फिर से मैप करके इस समस्या को हल करता है जिसका उपयोग अतिथि-भौतिक पते को होस्ट-भौतिक पते पर मैप करने के लिए किया जाता है।<ref>{{cite web |title=ज़ेन अकसर किये गए सवाल: डोमू में, मैं 3डी ग्राफिक्स का उपयोग कैसे कर सकता हूं|url=http://wiki.xensource.com/xenwiki/XenFaq#head-d5a7a247a5168517291228a6f02fd74b419badeb |archive-url=https://wayback.archive-it.org/all/20081002034949/http://wiki.xensource.com/xenwiki/xenfaq#head-d5a7a247a5168517291228a6f02fd74b419badeb |url-status=dead |archive-date=2008-10-02 |access-date=2006-12-12 }}</ref>
एक आईओएमएमयू हार्डवेयर द्वारा अभिगम किए गए पतों को उसी (या एक संगत) अनुवाद तालिका के अनुसार फिर से मैप करके इस समस्या को हल करता है जिसका उपयोग अतिथि-भौतिक पते को होस्ट-भौतिक पते पर मैप करने के लिए किया जाता है।<ref>{{cite web |title=ज़ेन अकसर किये गए सवाल: डोमू में, मैं 3डी ग्राफिक्स का उपयोग कैसे कर सकता हूं|url=http://wiki.xensource.com/xenwiki/XenFaq#head-d5a7a247a5168517291228a6f02fd74b419badeb |archive-url=https://wayback.archive-it.org/all/20081002034949/http://wiki.xensource.com/xenwiki/xenfaq#head-d5a7a247a5168517291228a6f02fd74b419badeb |url-status=dead |archive-date=2008-10-02 |access-date=2006-12-12 }}</ref>





Revision as of 12:17, 8 December 2022

I/O मेमोरी मैनेजमेंट यूनिट (IOMMU) की मेमोरी मैनेजमेंट यूनिट (MMU) से तुलना।

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

एक उदाहरण आईओएमएमयू ग्राफिक्स एड्रेस रीमैपिंग टेबल (जीएआरटी ) है जिसका उपयोग इंटेल वास्तुकला और एएमडी कंप्यूटरों पर त्वरित ग्राफिक्स पोर्ट और पीसीआई एक्सप्रेस ग्राफिक्स कार्ड द्वारा किया जाता है।

x86 वास्तुकला पर, नॉर्थब्रिज (कंप्यूटिंग) और साउथब्रिज (कंप्यूटिंग) की कार्यक्षमता को सीपीयू और प्लेटफ़ॉर्म कंट्रोलर हब (पीसीएच) के बीच विभाजित करने से पहले, I/O वर्चुअलाइजेशन सीपीयू द्वारा नहीं बल्कि चिपसेट द्वारा किया जाता था।[1][2]

लाभ

मेमोरी (डीएमए) के प्रत्यक्ष भौतिक पते की तुलना में आईओएमएमयू होने के लाभों में सम्मिलित हैं[citation needed]:

  • स्मृति के बड़े क्षेत्रों को भौतिक स्मृति में सन्निहित होने की आवश्यकता के बिना आवंटित किया जा सकता है – आईओएमएमयू सन्निहित आभासी पतों को अंतर्निहित खंडित भौतिक पतों पर प्रतिचित्र करता है। इस प्रकार, सदिश I/O (स्कैटर-इकट्ठा सूचियाँ) के उपयोग से कभी-कभी बचा जा सकता है।
  • ऐसे उपकरण जो संपूर्ण भौतिक मेमोरी को संबोधित करने के लिए लंबे समय तक मेमोरी पतों का समर्थन नहीं करते हैं, अभी भी आईओएमएमयू के माध्यम से संपूर्ण मेमोरी को संबोधित कर सकते हैं, परिधीय के पता योग्य स्मृति स्थान से और बफ़र्स को प्रतिलिपि करने से जुड़े उपरिव्यय से बचते हैं।
    • उदाहरण के लिए, x86 कंप्यूटर एक x86 प्रोसेसर में फिजिकल एड्रेस एक्सटेंशन (पीएई) फीचर के साथ 4 गीगाबाइट से अधिक मेमोरी को संबोधित कर सकते हैं। फिर भी, एक साधारण 32-बिट पीसीआई उपकरण 4 GiB सीमा से ऊपर की मेमोरी को आसानी से संबोधित नहीं कर सकता है, और इस प्रकार यह इसे सीधे अभिगम नहीं कर सकता है। आईओएमएमयू के बिना, संचालन प्रणाली को समय लेने वाली बाउंस बफ़र्स (जिसे डबल बफ़र्स के रूप में भी जाना जाता है) को लागू करना होगा[3]).
  • स्मृति दुर्भावनापूर्ण उपकरणों से सुरक्षित है जो कि डीएमए हमलों और दोषपूर्ण उपकरणों का प्रयास कर रहे हैं जो कि त्रुटिपूर्ण स्मृति हस्तांतरण का प्रयास कर रहे हैं क्योंकि एक उपकरण स्मृति को पढ़ या लिख ​​नहीं सकता है जिसे इसके लिए स्पष्ट रूप से आवंटित (प्रतिचित्र ) नहीं किया गया है। स्मृति सुरक्षा इस तथ्य पर आधारित है कि सीपीयू पर चलने वाला ओएस विशेष रूप से एमएमयू और आईओएमएमयू दोनों को नियंत्रित करता है। उपकरण शारीरिक रूप से कॉन्फ़िगर की गई मेमोरी प्रबंधन तालिकाओं को अलग करने या दूषित करने में असमर्थ हैं।
    • हार्डवेयर-समर्थित वर्चुअलाइजेशन में, अतिथि संचालन प्रणाली हार्डवेयर का उपयोग कर सकते हैं जो विशेष रूप से वर्चुअलाइजेशन के लिए नहीं बनाया गया है। उच्च प्रदर्शन हार्डवेयर जैसे ग्राफिक्स कार्ड मेमोरी को सीधे अभिगम करने के लिए डीएमए का उपयोग करते हैं; वर्चुअल वातावरण में सभी मेमोरी पतों को वर्चुअल मशीन सॉफ़्टवेयर द्वारा फिर से प्रतिचित्र किया जाता है, जिसके कारण डीएमए उपकरण विफल हो जाते हैं। आईओएमएमयू इस री-मैपिंग को हैंडल करता है, जिससे नेटिव उपकरण ड्राइवर्स को गेस्ट संचालन प्रणाली में इस्तेमाल करने की अनुमति मिलती है।
  • कुछ आर्किटेक्चर में आईओएमएमयू मानक मेमोरी एड्रेस री-मैपिंग के समान ही हार्डवेयर इंटरप्ट री-मैपिंग भी करता है।
  • परिधीय मेमोरी पेजिंग को आईओएमएमयू द्वारा समर्थित किया जा सकता है। पीसीआई-एसआईजी पीसीआईई पता अनुवाद सेवाएं (एटीएस) पेज रिक्वेस्ट इंटरफेस (पीआरआई) एक्सटेंशन का उपयोग करने वाला एक पेरिफेरल मेमोरी मैनेजर सेवाओं की आवश्यकता का पता लगा सकता है और संकेत दे सकता है।

सिस्टम आर्किटेक्चर के लिए जिसमें पोर्ट I/O मेमोरी एड्रेस स्पेस से अलग एड्रेस स्पेस है, आईओएमएमयू का उपयोग तब नहीं किया जाता है जब सीपीयू I/O पोर्ट के माध्यम से उपकरणों के साथ संचार करता है। सिस्टम आर्किटेक्चर में जिसमें पोर्ट I/O और मेमोरी को उपयुक्त एड्रेस स्पेस में प्रतिचित्र किया जाता है, एक आईओएमएमयू पोर्ट I/O अभिगम का अनुवाद कर सकता है।

नुकसान

स्मृति के प्रत्यक्ष भौतिक पते की तुलना में आईओएमएमयू होने के नुकसान में सम्मिलित हैं:[4]

  • अनुवाद और प्रबंधन ओवरहेड से प्रदर्शन में कुछ गिरावट (जैसे, पेज टेबल वॉक)।
  • जोड़े गए I/O पेज टेबल | पेज (अनुवाद) टेबल के लिए फिजिकल मेमोरी की खपत। यदि तालिकाओं को प्रोसेसर के साथ साझा किया जा सकता है तो इसे कम किया जा सकता है।
  • पृष्ठ तालिका के आकार को कम करने के लिए कई IOMMUs की ग्रैन्युलैरिटी मेमोरी पेजिंग (अक्सर 4096 बाइट्स) के बराबर होती है, और इसलिए प्रत्येक छोटे बफर को डीएमए हमले से सुरक्षा की आवश्यकता होती है, जिसे उपकरण को दृश्यमान बनाने से पहले पृष्ठ संरेखित और शून्य किया जाना चाहिए। . ओएस मेमोरी आवंटन जटिलता के कारण इसका मतलब है कि उपकरण ड्राइवर को संवेदनशील डेटा संरचनाओं के लिए बाउंस बफ़र्स का उपयोग करने की आवश्यकता है और इसलिए समग्र प्रदर्शन कम हो रहा है।

वर्चुअलाइजेशन

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

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


प्रकाशित विनिर्देश

  • AMD ने IOMMU तकनीक के लिए एक विनिर्देश प्रकाशित किया है, जिसे AMD-Vi कहा जाता है।[6][7]
  • आईबीएम ने विस्तारित नियंत्रण कार्यक्रम समर्थन की पेशकश की: वर्चुअल स्टोरेज एक्सटेंडेड (ईसीपीएस: वीएसई) मोड[8] इसकी 43xx लाइन पर; चैनल प्रोग्राम वर्चुअल एड्रेस का इस्तेमाल करते हैं।
  • इंटेल ने आईओएमएमयू तकनीक के लिए डायरेक्टेड आई/ओ, संक्षिप्त वीटी-डी के लिए वर्चुअलाइजेशन टेक्नोलॉजी के रूप में एक विनिर्देश प्रकाशित किया है।[9]
  • सन माइक्रोसिस्टम्स IOMMU के बारे में जानकारी सोलारिस डेवलपर कनेक्शन के डिवाइस वर्चुअल मेमोरी एक्सेस (DVMA) सेक्शन में प्रकाशित की गई है।[10] * IBM ट्रांसलेशन कंट्रोल एंट्री (TCE) का वर्णन IBM eServer pSeries 690 में लॉजिकल पार्टीशन सिक्योरिटी नामक दस्तावेज़ में किया गया है।[11]
  • PCI-SIG के पास I/O वर्चुअलाइजेशन (IOV) शर्तों के तहत प्रासंगिक कार्य है[12] और एड्रेस ट्रांसलेशन सर्विसेज (एटीएस)।
  • एआरएम आर्किटेक्चर IOMMU के अपने संस्करण को सिस्टम मेमोरी मैनेजमेंट यूनिट (SMMU) के रूप में परिभाषित करता है[13] इसके वर्चुअलाइजेशन आर्किटेक्चर के पूरक के लिए।[14]

यह भी देखें

  • विषम प्रणाली वास्तुकला (HSA)
  • IOMMU- सहायक हार्डवेयर की सूची
  • मेमोरी-मैप्ड I/O
  • स्मृति सुरक्षा

संदर्भ

  1. "आई/ओ वर्चुअलाइजेशन के लिए इंटेल प्लेटफॉर्म हार्डवेयर सपोर्ट". intel.com. 2006-08-10. Archived from the original on 2007-01-20. Retrieved 2014-06-07.
  2. "डेस्कटॉप बोर्ड: Intel वर्चुअलाइजेशन टेक्नोलॉजी (Intel VT) के साथ अनुकूलता". intel.com. 2014-02-14. Retrieved 2014-06-07.
  3. "भौतिक पता विस्तार - पीएई मेमोरी और विंडोज". Microsoft Windows Hardware Development Central. 2005. Retrieved 2008-04-07.
  4. Muli Ben-Yehuda; Jimi Xenidis; Michal Ostrowski (2007-06-27). "सुरक्षा की कीमत: IOMMU प्रदर्शन का मूल्यांकन" (PDF). Proceedings of the Linux Symposium 2007. Ottawa, Ontario, Canada: IBM Research. Retrieved 2013-02-28.
  5. "ज़ेन अकसर किये गए सवाल: डोमू में, मैं 3डी ग्राफिक्स का उपयोग कैसे कर सकता हूं". Archived from the original on 2008-10-02. Retrieved 2006-12-12.
  6. "AMD I/O वर्चुअलाइजेशन टेक्नोलॉजी (IOMMU) विशिष्टता संशोधन 2.0" (PDF). amd.com. 2011-03-24. Retrieved 2014-01-11.
  7. "AMD I/O वर्चुअलाइजेशन टेक्नोलॉजी (IOMMU) विशिष्टता" (PDF). amd.com. Retrieved 2020-07-09.
  8. IBM 4300 Processors Principles of Operation for ECPS:VSE Mode (PDF) (First ed.). IBM. January 1979. SA22-7070-0.
  9. "डायरेक्टेड I/O (VT-d) आर्किटेक्चर विशिष्टता के लिए इंटेल वर्चुअलाइजेशन टेक्नोलॉजी" (PDF). Retrieved 2020-07-09.
  10. "DVMA संसाधन और IOMMU अनुवाद". Retrieved 2007-04-30.
  11. "IBM eServer pSeries 690 में तार्किक विभाजन सुरक्षा". Retrieved 2007-04-30.
  12. "I/O वर्चुअलाइजेशन विनिर्देश". Retrieved 2007-05-01.
  13. "एआरएम एसएमएमयू". Retrieved 2013-05-13.
  14. "एआरएम वर्चुअलाइजेशन एक्सटेंशन". Archived from the original on 2013-05-03. Retrieved 2013-05-13.

बाहरी संबंध