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

From Vigyanwiki
No edit summary
 
(12 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[File:MMU and IOMMU.svg|thumb|282px|right|I/O मेमोरी मैनेजमेंट यूनिट (IOMMU) की मेमोरी मैनेजमेंट यूनिट (MMU) से तुलना।]]कंप्यूटिंग में, एक इनपुट-आउटपुट मेमोरी मैनेजमेंट यूनिट (IOMMU) एक मेमोरी मैनेजमेंट यूनिट (MMU) है जो डायरेक्ट मेमोरी एक्सेस | डायरेक्ट-मेमोरी-एक्सेस-सक्षम (DMA-सक्षम) I/O कंप्यूटर बस को मुख्य मेमोरी से जोड़ती है। एक पारंपरिक MMU की तरह, जो केंद्रीय प्रसंस्करण इकाई-दृश्यमान आभासी पतों को भौतिक पतों में अनुवादित करता है, IOMMU डिवाइस-दृश्यमान आभासी पतों (जिन्हें इस संदर्भ में 'उपकरण पते' या ''I/O पतों'' भी कहा जाता है) को भौतिक में मैप करता है। पते। कुछ इकाइयां दोषपूर्ण या दुर्भावनापूर्ण उपकरणों से मेमोरी सुरक्षा भी प्रदान करती हैं।
[[File:MMU and IOMMU.svg|thumb|282px|right|I/O मेमोरी मैनेजमेंट यूनिट (IOMMU) की मेमोरी मैनेजमेंट यूनिट (MMU) से तुलना।]]कंप्यूटिंग में, एक इनपुट-आउटपुट मेमोरी प्रबंधन इकाई (आईओएमएमयू) एक मेमोरी प्रबंधन इकाई (एमएमयू) है जो डायरेक्ट-मेमोरी-एक्सेस-सक्षम (डीएमए-सक्षम) आई/ओ  कंप्यूटर बस को मुख्य मेमोरी से जोड़ती है। एक पारंपरिक एमएमयू की तरह, जो केंद्रीय प्रसंस्करण इकाई-दृश्यमान आभासी एड्रेस को भौतिक एड्रेस में अनुवादित करता है, आईओएमएमयू उपकरण-दृश्यमान आभासी एड्रेस (जिन्हें इस संदर्भ में 'उपकरण एड्रेस' या ''आई/ओ एड्रेस'' भी कहा जाता है) को भौतिक में प्रतिचित्र करता है। कुछ इकाइयां दोषपूर्ण या दुर्भावनापूर्ण उपकरणों से मेमोरी सुरक्षा भी प्रदान करती हैं।


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


x86 आर्किटेक्चर पर, नॉर्थब्रिज (कंप्यूटिंग) और साउथब्रिज (कंप्यूटिंग) की कार्यक्षमता को CPU और प्लेटफ़ॉर्म कंट्रोलर हब (PCH) के बीच विभाजित करने से पहले, I/O वर्चुअलाइजेशन CPU द्वारा नहीं बल्कि चिपसेट द्वारा किया जाता था।<ref>{{cite web
x86 वास्तुकला पर, नॉर्थब्रिज (कंप्यूटिंग) और साउथब्रिज (कंप्यूटिंग) की कार्यक्षमता को सीपीयू और प्लेटफ़ॉर्म कंट्रोलर हब (पीसीएच) के बीच विभाजित करने से पहले, आई/ओ  वर्चुअलाइजेशन सीपीयू द्वारा नहीं अपितु चिपसेट द्वारा किया जाता था।<ref>{{cite web
  | url = http://www.intel.com/technology/itj/2006/v10i3/2-io/5-platform-hardware-support.htm
  | url = http://www.intel.com/technology/itj/2006/v10i3/2-io/5-platform-hardware-support.htm
  | archive-url = https://web.archive.org/web/20070120024219/http://www.intel.com/technology/itj/2006/v10i3/2-io/5-platform-hardware-support.htm
  | archive-url = https://web.archive.org/web/20070120024219/http://www.intel.com/technology/itj/2006/v10i3/2-io/5-platform-hardware-support.htm
Line 16: Line 16:


== लाभ ==
== लाभ ==
मेमोरी (डीएमए) के प्रत्यक्ष भौतिक पते की तुलना में आईओएमएमयू होने के लाभों में शामिल हैं{{citation needed|date=February 2015}}:
मेमोरी (डीएमए) के प्रत्यक्ष भौतिक पते की तुलना में आईओएमएमयू होने के लाभों में सम्मिलित हैं{{citation needed|date=February 2015}}:
* स्मृति के बड़े क्षेत्रों को भौतिक स्मृति में सन्निहित होने की आवश्यकता के बिना आवंटित किया जा सकता है{{snd}} IOMMU सन्निहित आभासी पतों को अंतर्निहित खंडित भौतिक पतों पर मैप करता है। इस प्रकार, वेक्टर I/O (स्कैटर-इकट्ठा सूचियाँ) के उपयोग से कभी-कभी बचा जा सकता है।
* मेमोरी के बड़े क्षेत्रों को भौतिक स्मृति में सन्निहित होने की आवश्यकता के बिना आवंटित किया जा सकता है{{snd}}आईओएमएमयू सन्निहित आभासी पतों को अंतर्निहित खंडित भौतिक पतों पर प्रतिचित्र करता है। इस प्रकार, सदिश आई/(स्कैटर-इकट्ठा सूचियाँ) के उपयोग से कभी-कभी बचा जा सकता है।
* ऐसे उपकरण जो संपूर्ण भौतिक मेमोरी को संबोधित करने के लिए लंबे समय तक मेमोरी पतों का समर्थन नहीं करते हैं, अभी भी 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 और मेमोरी को उपयुक्त एड्रेस स्पेस में प्रतिचित्र किया जाता है, एक आईओएमएमयू पोर्ट आई/ओ अभिगम का अनुवाद कर सकता है।


== नुकसान ==
== नुकसान ==
स्मृति के प्रत्यक्ष भौतिक पते की तुलना में 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 पेज टेबल | पेज (अनुवाद) टेबल के लिए फिजिकल मेमोरी की खपत। यदि तालिकाओं को प्रोसेसर के साथ साझा किया जा सकता है तो इसे कम किया जा सकता है।
* जोड़े गए आई/पेज टेबल | पेज (अनुवाद) टेबल के लिए फिजिकल मेमोरी की खपत। यदि तालिकाओं को प्रोसेसर के साथ साझा किया जा सकता है तो इसे कम किया जा सकता है।
* पृष्ठ तालिका के आकार को कम करने के लिए कई IOMMUs की ग्रैन्युलैरिटी मेमोरी पेजिंग (अक्सर 4096 बाइट्स) के बराबर होती है, और इसलिए प्रत्येक छोटे बफर को DMA हमले से सुरक्षा की आवश्यकता होती है, जिसे डिवाइस को दृश्यमान बनाने से पहले पृष्ठ संरेखित और शून्य किया जाना चाहिए। . ओएस मेमोरी आवंटन जटिलता के कारण इसका मतलब है कि डिवाइस ड्राइवर को संवेदनशील डेटा संरचनाओं के लिए बाउंस बफ़र्स का उपयोग करने की आवश्यकता है और इसलिए समग्र प्रदर्शन कम हो रहा है।
* पृष्ठ तालिका के आकार को कम करने के लिए कई IOMMUs की कणिकता मेमोरी पेजिंग (प्रायः 4096 बाइट्स) के बराबर होती है, और इसलिए प्रत्येक छोटे बफर को डीएमए आक्रमणों से सुरक्षा की आवश्यकता होती है, जिसे उपकरण को दृश्यमान बनाने से पहले पृष्ठ संरेखित और शून्य किया जाना चाहिए। ओएस मेमोरी आवंटन जटिलता के कारण इसका तात्पर्य यह है कि उपकरण चालक को संवेदनशील आंकड़ा संरचनाओं के लिए बाउंस बफ़र्स का उपयोग करने की आवश्यकता है और इसलिए समग्र प्रदर्शन कम हो रहा है।


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


== प्रकाशित विनिर्देश ==
== प्रकाशित विनिर्देश ==
* AMD ने IOMMU तकनीक के लिए एक विनिर्देश प्रकाशित किया है, जिसे AMD-Vi कहा जाता है।<ref>{{cite web |title=AMD I/O वर्चुअलाइजेशन टेक्नोलॉजी (IOMMU) विशिष्टता संशोधन 2.0|url=http://developer.amd.com/wordpress/media/2012/10/48882.pdf |date=2011-03-24 |access-date=2014-01-11 |publisher=amd.com |format=PDF}}</ref><ref>{{cite web |title=AMD I/O वर्चुअलाइजेशन टेक्नोलॉजी (IOMMU) विशिष्टता|url=https://www.amd.com/en/support/tech-docs/amd-io-virtualization-technology-iommu-specification |access-date=2020-07-09 |publisher=amd.com |format=PDF}}</ref>
* एएमडी ने आईओएमएमयू तकनीक के लिए एक विनिर्देश प्रकाशित किया है, जिसे एएमडी-वीआई कहा जाता है।<ref>{{cite web |title=AMD I/O वर्चुअलाइजेशन टेक्नोलॉजी (IOMMU) विशिष्टता संशोधन 2.0|url=http://developer.amd.com/wordpress/media/2012/10/48882.pdf |date=2011-03-24 |access-date=2014-01-11 |publisher=amd.com |format=PDF}}</ref><ref>{{cite web |title=AMD I/O वर्चुअलाइजेशन टेक्नोलॉजी (IOMMU) विशिष्टता|url=https://www.amd.com/en/support/tech-docs/amd-io-virtualization-technology-iommu-specification |access-date=2020-07-09 |publisher=amd.com |format=PDF}}</ref>
* आईबीएम ने विस्तारित नियंत्रण कार्यक्रम समर्थन की पेशकश की: वर्चुअल स्टोरेज एक्सटेंडेड (ईसीपीएस: वीएसई) मोड<ref>{{cite manual
* आईबीएम ने विस्तारित नियंत्रण कार्यक्रम समर्थन की प्रस्तुति की: वर्चुअल स्टोरेज एक्सटेंडेड (ईसीपीएस: वीएसई) मोड<ref>{{cite manual
  |      title = IBM 4300 Processors Principles of Operation for ECPS:VSE Mode
  |      title = IBM 4300 Processors Principles of Operation for ECPS:VSE Mode
  |        id = SA22-7070-0
  |        id = SA22-7070-0
Line 50: Line 49:
  |  publisher = IBM
  |  publisher = IBM
  }}
  }}
</ref> इसकी 43xx लाइन पर; चैनल प्रोग्राम वर्चुअल एड्रेस का इस्तेमाल करते हैं।
</ref> इसकी 43xx लाइन पर; चैनल प्रोग्राम वास्तविक एड्रेस का उपयोग करते हैं।
* इंटेल ने आईओएमएमयू तकनीक के लिए डायरेक्टेड आई/ओ, संक्षिप्त वीटी-डी के लिए वर्चुअलाइजेशन टेक्नोलॉजी के रूप में एक विनिर्देश प्रकाशित किया है।<ref>{{cite web|url=https://software.intel.com/sites/default/files/managed/c5/15/vt-directed-io-spec.pdf |title=डायरेक्टेड I/O (VT-d) आर्किटेक्चर विशिष्टता के लिए इंटेल वर्चुअलाइजेशन टेक्नोलॉजी|format=PDF |access-date=2020-07-09}}</ref>
* इंटेल ने आईओएमएमयू तकनीक के लिए निर्देशित आई/ओ, संक्षिप्त वीटी-डी के लिए वर्चुअलाइजेशन तकनीकी के रूप में एक विनिर्देश प्रकाशित किया है।<ref>{{cite web|url=https://software.intel.com/sites/default/files/managed/c5/15/vt-directed-io-spec.pdf |title=डायरेक्टेड I/O (VT-d) आर्किटेक्चर विशिष्टता के लिए इंटेल वर्चुअलाइजेशन टेक्नोलॉजी|format=PDF |access-date=2020-07-09}}</ref>
* सन माइक्रोसिस्टम्स IOMMU के बारे में जानकारी सोलारिस डेवलपर कनेक्शन के डिवाइस वर्चुअल मेमोरी एक्सेस (DVMA) सेक्शन में प्रकाशित की गई है।<ref>{{cite web |title=DVMA संसाधन और IOMMU अनुवाद|url=http://developers.sun.com/solaris/developer/support/driver/wps/pci/html/DMA.doc.html#289 |access-date=2007-04-30}}</ref> * IBM ट्रांसलेशन कंट्रोल एंट्री (TCE) का वर्णन IBM eServer pSeries 690 में लॉजिकल पार्टीशन सिक्योरिटी नामक दस्तावेज़ में किया गया है।<ref>{{cite web |title=IBM eServer pSeries 690 में तार्किक विभाजन सुरक्षा|url=http://www-03.ibm.com/servers/eserver/pseries/hardware/whitepapers/lpar_security.html |access-date=2007-04-30}}</ref>
* सन माइक्रोप्रणाली आईओएमएमयू के बारे में जानकारी सोलारिस डेवल पर संयोजन के डिवाइस वर्चुअल मेमोरी एक्सेस (डीवीएमए) खंड में प्रकाशित की गई है।<ref>{{cite web |title=DVMA संसाधन और IOMMU अनुवाद|url=http://developers.sun.com/solaris/developer/support/driver/wps/pci/html/DMA.doc.html#289 |access-date=2007-04-30}}</ref> * आईबीएम ट्रांसलेशन कंट्रोल एंट्री (टीसीई) का वर्णन आईबीएम ई-सर्वर pSeries 690 में लॉजिकल पार्टीशन सिक्योरिटी नामक अभिलेख में किया गया है।<ref>{{cite web |title=IBM eServer pSeries 690 में तार्किक विभाजन सुरक्षा|url=http://www-03.ibm.com/servers/eserver/pseries/hardware/whitepapers/lpar_security.html |access-date=2007-04-30}}</ref>
* PCI-SIG के पास I/O वर्चुअलाइजेशन (IOV) शर्तों के तहत प्रासंगिक कार्य है<ref>{{cite web |title=I/O वर्चुअलाइजेशन विनिर्देश|url=http://www.pcisig.com/specifications/iov/ |access-date=2007-05-01}}</ref> और एड्रेस ट्रांसलेशन सर्विसेज (एटीएस)
* पीसीआई-एसआईजी के पास आई/वर्चुअलाइजेशन (आईओवी)<ref>{{cite web |title=I/O वर्चुअलाइजेशन विनिर्देश|url=http://www.pcisig.com/specifications/iov/ |access-date=2007-05-01}}</ref> और एड्रेस ट्रांसलेशन सर्विसेज (एटीएस) उपबंधों के अधीन प्रासंगिक कार्य है
* एआरएम आर्किटेक्चर IOMMU के अपने संस्करण को सिस्टम मेमोरी मैनेजमेंट यूनिट (SMMU) के रूप में परिभाषित करता है<ref>{{cite web |title=एआरएम एसएमएमयू|url=http://www.arm.com/products/system-ip/controllers/system-mmu.php |access-date=2013-05-13}}</ref> इसके वर्चुअलाइजेशन आर्किटेक्चर के पूरक के लिए।<ref>{{cite web |title=एआरएम वर्चुअलाइजेशन एक्सटेंशन|url=http://www.arm.com/products/processors/technologies/virtualization-extensions.php |access-date=2013-05-13 |archive-url=https://web.archive.org/web/20130503180818/http://www.arm.com/products/processors/technologies/virtualization-extensions.php |archive-date=2013-05-03 |url-status=dead }}</ref>
* एआरएम आईओएमएमयू के अपने संस्करण को सिस्टम मेमोरी मैनेजमेंट यूनिट (एसएमएमयू) के रूप में परिभाषित करता है<ref>{{cite web |title=एआरएम एसएमएमयू|url=http://www.arm.com/products/system-ip/controllers/system-mmu.php |access-date=2013-05-13}}</ref> इसके वर्चुअलाइजेशन वास्तुकला के पूरक के लिए।<ref>{{cite web |title=एआरएम वर्चुअलाइजेशन एक्सटेंशन|url=http://www.arm.com/products/processors/technologies/virtualization-extensions.php |access-date=2013-05-13 |archive-url=https://web.archive.org/web/20130503180818/http://www.arm.com/products/processors/technologies/virtualization-extensions.php |archive-date=2013-05-03 |url-status=dead }}</ref>
== यह भी देखें ==
== यह भी देखें ==
* विषम प्रणाली वास्तुकला (HSA)
* विषम प्रणाली वास्तुकला (एचएसए)
* IOMMU- सहायक हार्डवेयर की सूची
* आईओएमएमयू - सहायक हार्डवेयर की सूची
* मेमोरी-मैप्ड I/O
* मेमोरी-मैप्ड I/O
* स्मृति सुरक्षा
* मेमोरी सुरक्षा


==संदर्भ==
==संदर्भ==
Line 80: Line 79:
* [http://elinux.org/images/4/49/20140429-dma.pdf Mastering the DMA and IOMMU APIs], Embedded Linux Conference 2014, San Jose, by Laurent Pinchart
* [http://elinux.org/images/4/49/20140429-dma.pdf Mastering the DMA and IOMMU APIs], Embedded Linux Conference 2014, San Jose, by Laurent Pinchart


{{Graphics Processing Unit}}
{{DEFAULTSORT:Iommu}}
{{Memory management}}
 
{{DEFAULTSORT:Iommu}}[[Category:स्मृति प्रबंधन]]
[[Category:कंप्यूटर सहायक उपकरण]]
 


[[Category: Machine Translated Page]]
[[Category:All articles with unsourced statements|Iommu]]
[[Category:Created On 22/11/2022]]
[[Category:Articles with unsourced statements from February 2015|Iommu]]
[[Category:Created On 22/11/2022|Iommu]]
[[Category:Machine Translated Page|Iommu]]
[[Category:Pages with script errors|Iommu]]
[[Category:Templates Vigyan Ready|Iommu]]
[[Category:कंप्यूटर सहायक उपकरण|Iommu]]
[[Category:स्मृति प्रबंधन|Iommu]]

Latest revision as of 18:56, 31 January 2023

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

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

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

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

लाभ

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

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

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

नुकसान

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

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

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

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

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

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

  • एएमडी ने आईओएमएमयू तकनीक के लिए एक विनिर्देश प्रकाशित किया है, जिसे एएमडी-वीआई कहा जाता है।[6][7]
  • आईबीएम ने विस्तारित नियंत्रण कार्यक्रम समर्थन की प्रस्तुति की: वर्चुअल स्टोरेज एक्सटेंडेड (ईसीपीएस: वीएसई) मोड[8] इसकी 43xx लाइन पर; चैनल प्रोग्राम वास्तविक एड्रेस का उपयोग करते हैं।
  • इंटेल ने आईओएमएमयू तकनीक के लिए निर्देशित आई/ओ, संक्षिप्त वीटी-डी के लिए वर्चुअलाइजेशन तकनीकी के रूप में एक विनिर्देश प्रकाशित किया है।[9]
  • सन माइक्रोप्रणाली आईओएमएमयू के बारे में जानकारी सोलारिस डेवल पर संयोजन के डिवाइस वर्चुअल मेमोरी एक्सेस (डीवीएमए) खंड में प्रकाशित की गई है।[10] * आईबीएम ट्रांसलेशन कंट्रोल एंट्री (टीसीई) का वर्णन आईबीएम ई-सर्वर pSeries 690 में लॉजिकल पार्टीशन सिक्योरिटी नामक अभिलेख में किया गया है।[11]
  • पीसीआई-एसआईजी के पास आई/ओ वर्चुअलाइजेशन (आईओवी)[12] और एड्रेस ट्रांसलेशन सर्विसेज (एटीएस) उपबंधों के अधीन प्रासंगिक कार्य है
  • एआरएम आईओएमएमयू के अपने संस्करण को सिस्टम मेमोरी मैनेजमेंट यूनिट (एसएमएमयू) के रूप में परिभाषित करता है[13] इसके वर्चुअलाइजेशन वास्तुकला के पूरक के लिए।[14]

यह भी देखें

  • विषम प्रणाली वास्तुकला (एचएसए)
  • आईओएमएमयू - सहायक हार्डवेयर की सूची
  • मेमोरी-मैप्ड 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.

बाहरी संबंध