डायरेक्ट मेमोरी एक्सेस (डीएमए) क्या है और यह कैसे काम करता है? [मिनीटुल विकी]
What Is Direct Memory Access
त्वरित नेविगेशन :
आप अपना सकते हैं आरडीएमए किसी भी कंप्यूटर के प्रोसेसर, कैश या ऑपरेटिंग सिस्टम को शामिल किए बिना मुख्य मेमोरी में डेटा का आदान-प्रदान करने के लिए नेटवर्क में कंप्यूटर को सक्षम करने की तकनीक। लेकिन आप डीएमए सुविधा का उपयोग सीधे संलग्न डिवाइस से डेटा को कंप्यूटर के मदरबोर्ड पर मेमोरी में भेजने के लिए भी कर सकते हैं। इस पोस्ट से मिनीटूल मुख्य रूप से डीएमए के बारे में बात कर रहा है।
डायरेक्ट मेमोरी एक्सेस की परिभाषा
सबसे पहले, डायरेक्ट मेमोरी एक्सेस क्या है? डायरेक्ट मेमोरी एक्सेस को डीएमए के लिए संक्षिप्त किया जा सकता है, जो कंप्यूटर सिस्टम की एक विशेषता है। यह इनपुट / आउटपुट (I / O) उपकरणों को मुख्य सिस्टम मेमोरी () का उपयोग करने की अनुमति देता है ( यादृच्छिक अभिगम स्मृति ), केंद्रीय प्रसंस्करण इकाई (सीपीयू) से स्वतंत्र है, जो मेमोरी ऑपरेशन को गति देता है।
टिप: आपको इस पोस्ट में दिलचस्पी हो सकती है - विंडोज 10 में अपने सीपीयू को 100% ठीक करने के लिए 8 उपयोगी उपाय ।
डायरेक्ट मेमोरी एक्सेस के बिना, जब सीपीयू प्रोग्राम किए गए इनपुट / आउटपुट का उपयोग करता है, तो यह आमतौर पर पूरे रीड या राइट ऑपरेशन के दौरान पूरी तरह से कब्जा कर लिया जाता है, इसलिए यह अन्य कार्यों को नहीं कर सकता है। डीएमए के साथ, सीपीयू पहले ट्रांसफर शुरू करता है, फिर ट्रांसफर चालू होने के दौरान अन्य ऑपरेशन करता है, और आखिरकार डीएमए कंट्रोलर (डीएमएसी) से एक बाधा प्राप्त करता है जब ऑपरेशन पूरा हो जाता है।
जब भी सीपीयू डेटा ट्रांसफर दर के साथ नहीं रख सकता है, या जब अपेक्षाकृत धीमी आई / ओ डेटा ट्रांसफर के लिए सीपीयू को काम करने की आवश्यकता होती है, तो डायरेक्ट मेमोरी एक्सेस उपयोगी होती है।
कई हार्डवेयर सिस्टम डायरेक्ट मेमोरी एक्सेस को अपनाते हैं, जैसे डिस्क ड्राइव कंट्रोलर, ग्राफिक्स कार्ड, नेटवर्क कार्ड और साउंड कार्ड। मल्टी-कोर प्रोसेसर में ऑन-चिप डेटा ट्रांसफर के लिए भी डीएमए का उपयोग किया जाता है। डायरेक्ट मेमोरी एक्सेस चैनलों के बिना कंप्यूटर की तुलना में, डीएमए चैनलों वाले कंप्यूटर बहुत कम सीपीयू ओवरहेड वाले उपकरणों के बीच डेटा स्थानांतरित कर सकते हैं।
मेमोरी में डेटा को कॉपी या स्थानांतरित करने के लिए डायरेक्ट मेमोरी एक्सेस का उपयोग 'मेमोरी टू मेमोरी' के लिए भी किया जा सकता है। यह सीपीयू से एक समर्पित डीएमए इंजन में महंगी मेमोरी ऑपरेशन (जैसे बड़ी प्रतियां या स्कैटर-इकट्ठा ऑपरेशन) को स्थानांतरित कर सकता है। डीएमए नेटवर्क-ऑन-चिप और मेमोरी कंप्यूटिंग आर्किटेक्चर में महत्वपूर्ण है।
डायरेक्ट मेमोरी एक्सेस कैसे काम करता है?
फिर डायरेक्ट मेमोरी एक्सेस कैसे काम करता है? स्टैंडर्ड डायरेक्ट मेमोरी एक्सेस (जिसे थर्ड-पार्टी डीएमए भी कहा जाता है) डीएमए नियंत्रक को गोद लेती है। DMA कंट्रोलर मेमोरी एड्रेस का उत्पादन कर सकता है और मेमोरी रीड या साइकल लॉन्च कर सकता है। यह कई हार्डवेयर रजिस्टरों को कवर करता है जिन्हें सीपीयू द्वारा पढ़ा और लिखा जा सकता है।
इन रजिस्टरों में एक मेमोरी एड्रेस रजिस्टर, एक बाइट काउंट रजिस्टर और एक या एक से अधिक कंट्रोल रजिस्टर होते हैं। डायरेक्ट मेमोरी एक्सेस कंट्रोलर द्वारा दी गई सुविधाओं के आधार पर, ये कंट्रोल रजिस्टर स्रोत, गंतव्य, स्थानांतरण दिशा के कुछ संयोजन (I / O डिवाइस से पढ़ें या लिखें), स्थानांतरण इकाई का आकार, और / या संख्या को नियुक्त कर सकते हैं एक फट में हस्तांतरण करने के लिए बाइट्स।
इनपुट, आउटपुट, या मेमोरी-टू-मेमोरी ऑपरेशन करने के लिए, होस्ट प्रोसेसर डीएमए नियंत्रक को शब्दों की संख्या के साथ स्थानांतरित करता है और मेमोरी एड्रेस का उपयोग करने के लिए। तब CPU डेटा ट्रांसफर शुरू करने के लिए पेरीफेरल डिवाइस को कमांड करता है।
फिर डायरेक्ट मेमोरी एक्सेस कंट्रोलर सिस्टम मेमोरी को एड्रेस और रीड / कंट्रोल लाइन देता है। हर बार डेटा का एक बाइट परिधीय उपकरण और मेमोरी के बीच स्थानांतरित करने के लिए तैयार किया जाता है, डीएमए नियंत्रक अपने आंतरिक पते के रजिस्टर को बढ़ाता है जब तक कि एक पूर्ण डेटा ब्लॉक स्थानांतरित नहीं होता है।
काम करने का तरीका
डायरेक्ट मेमोरी एक्सेस ऑपरेशन के विभिन्न तरीकों में अलग तरह से काम करता है।
विस्फोट स्थिति
फट मोड में, पूर्ण डेटा ब्लॉक एक सतत अनुक्रम में प्रेषित होता है। एक बार सीपीयू डीएमए कंट्रोलर को सिस्टम बस तक पहुंचने की अनुमति देता है, डीएमए कंट्रोलर सीपीयू में सिस्टम बसों का नियंत्रण जारी करने से पहले डेटा ब्लॉक में डेटा के सभी बाइट्स को स्थानांतरित कर देगा, लेकिन यह सीपीयू को निष्क्रिय करने का कारण बनेगा काफी लंबा समय। इस मोड को 'ब्लॉक ट्रांसफर मोड' भी कहा जाता है।
साइकिल चोरी मोड
साइकिल चोरी मोड का उपयोग उस सिस्टम में किया जाता है जहां सीपीयू को फट ट्रांसफर मोड के लिए आवश्यक समय की लंबाई के लिए अक्षम नहीं किया जा सकता है। साइकिल चोरी मोड में, डीएमए नियंत्रक बीआर (बस अनुरोध) और बीजी (बस अनुदान) संकेतों का उपयोग करके सिस्टम बस तक पहुंच प्राप्त करता है, जो कि फट मोड के समान हैं। ये दो सिग्नल सीपीयू और डीएमए कंट्रोलर के बीच इंटरफेस को नियंत्रित करते हैं।
एक तरफ, साइकल चोरी मोड में, डेटा ब्लॉक ट्रांसमिशन की गति बर्स्ट मोड में उतनी तेज नहीं होती है, लेकिन दूसरी तरफ, सीपीयू निष्क्रिय समय तब तक नहीं होता है जब तक कि फट मोड में नहीं होता है।
पारदर्शी मोड
पारदर्शी मोड डेटा ब्लॉक को स्थानांतरित करने में सबसे लंबा समय लेता है, लेकिन यह समग्र सिस्टम प्रदर्शन के मामले में सबसे कुशल मोड भी है। पारदर्शी मोड में, डायरेक्ट मेमोरी एक्सेस कंट्रोलर केवल तभी डेटा ट्रांसफर करता है जब सीपीयू ऑपरेशन करता है जो सिस्टम बसों का उपयोग नहीं करता है।
पारदर्शी मोड का मुख्य लाभ यह है कि सीपीयू कभी भी अपने कार्यक्रमों को निष्पादित करना बंद नहीं करता है, और समय के संदर्भ में डायरेक्ट मेमोरी एक्सेस ट्रांसफर मुफ्त है, जबकि नुकसान यह है कि हार्डवेयर को यह निर्धारित करने की आवश्यकता है कि सीपीयू सिस्टम बसों का उपयोग नहीं कर रहा है, जो कर सकते हैं जटिल होना। इसे 'हिडन डीएमए डेटा ट्रांसफर मोड' भी कहा जाता है।