Direct Memory Access - डायरेक्ट मेमोरी एक्सेस का क्या मतलब है?

डायरेक्ट मेमोरी एक्सेस (डीएमए) एक ऐसी विधि है जो इनपुट/आउटपुट (आई/ओ) डिवाइस को मेमोरी संचालन को तेज करने के लिए सीपीयू को बायपास करते हुए सीधे मुख्य मेमोरी से या उससे डेटा भेजने या प्राप्त करने की अनुमति देती है।

इस प्रक्रिया को एक चिप द्वारा प्रबंधित किया जाता है जिसे डीएमए नियंत्रक (डीएमएसी) के रूप में जाना जाता है।

मेमोरी के एक परिभाषित हिस्से का उपयोग माइक्रोप्रोसेसर को शामिल किए बिना परिधीय से सीधे मदरबोर्ड पर डेटा भेजने के लिए किया जाता है, ताकि प्रक्रिया समग्र कंप्यूटर संचालन में हस्तक्षेप न करे।

पुराने कंप्यूटरों में, चार डीएमए चैनल 0, 1, 2 और 3 क्रमांकित थे। जब 16-बिट उद्योग मानक वास्तुकला (आईएसए) विस्तार बस पेश की गई थी, तो चैनल 5, 6 और 7 जोड़े गए थे।

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

आईएसए को तब से त्वरित ग्राफिक्स पोर्ट (एजीपी) और परिधीय घटक इंटरकनेक्ट (पीसीआई) विस्तार कार्ड द्वारा प्रतिस्थापित किया गया है, जो बहुत तेज़ हैं। प्रत्येक डीएमए प्रति सेकंड लगभग 2 एमबी डेटा स्थानांतरित करता है।

हार्डवेयर और सॉफ्टवेयर के बीच संचार के लिए कंप्यूटर के सिस्टम संसाधन उपकरण का उपयोग किया जाता है। सिस्टम संसाधन चार प्रकार के हैं:

  • I/O पते.
  • स्मृति पते.
  • इंटरप्ट रिक्वेस्ट नंबर (आईआरक्यू)।
  • डायरेक्ट मेमोरी एक्सेस (डीएमए) चैनल।

डीएमए चैनल का उपयोग परिधीय डिवाइस और सिस्टम मेमोरी के बीच डेटा संचार करने के लिए किया जाता है। सभी चार सिस्टम संसाधन बस की कुछ लाइनों पर निर्भर करते हैं। बस में कुछ लाइनें आईआरक्यू के लिए, कुछ पते (आई/ओ पते और मेमोरी एड्रेस) के लिए और कुछ डीएमए चैनलों के लिए उपयोग की जाती हैं।

एक डीएमए चैनल एक डिवाइस को सीपीयू को कार्य अधिभार के संपर्क में लाए बिना डेटा स्थानांतरित करने में सक्षम बनाता है। डीएमए चैनलों के बिना, सीपीयू I/O डिवाइस से एक परिधीय बस का उपयोग करके डेटा के प्रत्येक टुकड़े को कॉपी करता है। परिधीय बस का उपयोग पढ़ने/लिखने की प्रक्रिया के दौरान सीपीयू पर कब्जा कर लेता है और ऑपरेशन पूरा होने तक अन्य कार्य करने की अनुमति नहीं देता है।

 

डीएमए के साथ, सीपीयू डेटा ट्रांसफर करते समय अन्य कार्यों को संसाधित कर सकता है। डेटा का स्थानांतरण सबसे पहले सीपीयू द्वारा शुरू किया जाता है। डेटा ब्लॉक को DMAC द्वारा मेमोरी से तीन तरीकों से स्थानांतरित किया जा सकता है।

बर्स्ट मोड में, डेटा ट्रांसफर पूरा होने के बाद ही सिस्टम बस को छोड़ा जाता है। साइकिल चोरी मोड में, डीएमए चैनल और आई/ओ डिवाइस के बीच डेटा के हस्तांतरण के दौरान, सिस्टम बस को कुछ घड़ी चक्रों के लिए छोड़ दिया जाता है ताकि सीपीयू अन्य कार्य कर सके। जब डेटा ट्रांसफर पूरा हो जाता है, तो सीपीयू को डीएमए नियंत्रक से एक इंटरप्ट अनुरोध प्राप्त होता है। पारदर्शी मोड में, DMAC सिस्टम बस का प्रभार तभी ले सकता है जब प्रोसेसर को इसकी आवश्यकता नहीं होती है।

हालाँकि, DMA नियंत्रक का उपयोग करने से कैश सुसंगतता संबंधी समस्याएँ हो सकती हैं। यदि सीपीयू बाहरी मेमोरी का उपयोग कर रहा है, तो डीएमए नियंत्रक द्वारा एक्सेस किए गए रैम में संग्रहीत डेटा को सही कैश डेटा के साथ अपडेट नहीं किया जा सकता है।

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

Post a Comment

0 Comments