इनपुट–आउटपुट ऑर्गेनाइजेशन (Input–Output Organization)
Input–Output (I/O) Organization कंप्यूटर
ऑर्गेनाइजेशन का
वह भाग
है जो
CPU, मेमोरी और
बाहरी उपकरणों
(devices) के बीच
डेटा के
आदान-प्रदान
और नियंत्रण
को प्रबंधित
करता है।
इसमें I/O डिवाइस
के साथ
संचार, नियंत्रण
और सिंक्रोनाइज़ेशन
शामिल होता
है।
मूल अवधारणा
- कंप्यूटर और बाहरी डिवाइस के बीच संचार को नियंत्रित करता है
- CPU,
मेमोरी और I/O डिवाइस के बीच डेटा ट्रांसफर करवाता है
- अलग-अलग स्पीड और डेटा फॉर्मेट वाले डिवाइस को संभालता है
I/O डिवाइस के उदाहरण
इनपुट डिवाइस:
कीबोर्ड, माउस,
स्कैनर, माइक्रोफोन,
बारकोड रीडर
आउटपुट डिवाइस:
मॉनिटर, प्रिंटर,
स्पीकर, प्लॉटर
स्टोरेज डिवाइस:
हार्ड डिस्क,
USB ड्राइव, SSD
I/O ऑर्गेनाइजेशन की आवश्यकता
CPU और
मेमोरी बहुत
तेज होते
हैं जबकि
I/O डिवाइस अपेक्षाकृत
धीमे होते
हैं। अंतर
होता है:
- स्पीड में
- डेटा फॉर्मेट में
- ट्रांसफर रेट में
- कंट्रोल मेथड में
इन
अंतर को
संभालने के
लिए विशेष
I/O व्यवस्था जरूरी
है।
बेसिक I/O ट्रांसफर संरचना
डेटा पथ:
इनपुट डिवाइस
→ I/O इंटरफेस → सिस्टम
बस → मेमोरी/CPU
आउटपुट डिवाइस
← I/O इंटरफेस ← सिस्टम
बस ← मेमोरी/CPU
I/O इंटरफेस (I/O मॉड्यूल)
CPU और
I/O डिवाइस के
बीच हार्डवेयर
यूनिट जो
कंट्रोलर + ट्रांसलेटर का
काम करती
है।
मुख्य कार्य:
- डिवाइस कंट्रोल और टाइमिंग
- डेटा बफरिंग
- एरर डिटेक्शन
- सिग्नल कन्वर्ज़न
- स्टेटस रिपोर्टिंग
डेटा ट्रांसफर के तरीके
1️⃣ Programmed I/O (Polling)
- CPU
बार-बार डिवाइस स्टेटस चेक करता है
- पूरा ट्रांसफर CPU नियंत्रित करता है
- सरल लेकिन CPU समय बर्बाद
- धीमे डिवाइस के लिए अप्रभावी
2️⃣ Interrupt Driven I/O
- डिवाइस तैयार होने पर इंटरप्ट भेजता है
- CPU
ISR चलाकर डेटा ट्रांसफर करता है
- CPU
समय बचता है
- कंट्रोल लॉजिक थोड़ा जटिल
3️⃣ DMA (Direct Memory Access)
- डेटा सीधे डिवाइस और मेमोरी के बीच ट्रांसफर
- CPU
हर स्टेप में शामिल नहीं
- DMA
कंट्रोलर द्वारा नियंत्रित
- बड़े डेटा ब्लॉक के लिए सबसे तेज
- अतिरिक्त हार्डवेयर चाहिए
I/O एड्रेसिंग मेथड
Memory Mapped I/O
- I/O
डिवाइस को मेमोरी एड्रेस दिया जाता है
- मेमोरी जैसी ही इंस्ट्रक्शन से एक्सेस
- प्रोग्रामिंग आसान
Isolated (Port Mapped) I/O
- I/O
के लिए अलग एड्रेस स्पेस
- विशेष IN/OUT इंस्ट्रक्शन उपयोग
I/O बफरिंग
डेटा ट्रांसफर के
दौरान अस्थायी
स्टोरेज।
प्रकार:
- सिंगल बफर — एक बफर
- डबल बफर — दो बफर बारी-बारी
- सर्कुलर बफर — लगातार डेटा स्ट्रीम
I/O कंट्रोलर और चैनल
- I/O
कंट्रोलर: एक या अधिक डिवाइस को कंट्रोल करता है
- I/O
चैनल: उन्नत कंट्रोलर, स्वतंत्र रूप से I/O कार्य कर सकता है
I/O मेथड तुलना
|
मेथड |
CPU उपयोग |
स्पीड |
लागत |
|
Programmed I/O |
अधिक |
धीमी |
कम |
|
Interrupt I/O |
मध्यम |
बेहतर |
मध्यम |
|
DMA |
कम |
तेज |
अधिक |
***********************************************************************************************
परिधीय उपकरण (Peripheral
Devices)
परिधीय उपकरण वे बाहरी
हार्डवेयर डिवाइस
हैं जो
कंप्यूटर सिस्टम
से जुड़े
होते हैं।
ये CPU का
हिस्सा नहीं
होते, लेकिन
I/O इंटरफेस और
कंट्रोलर के
माध्यम से
CPU के नियंत्रण
में कार्य
करते हैं।
ये इनपुट,
आउटपुट, स्टोरेज और संचार कार्यों
में मदद
करते हैं।
कंप्यूटर सिस्टम का मूल प्रवाह
इनपुट डिवाइस → I/O कंट्रोलर → CPU (ALU, CU, Registers) → मुख्य मेमोरी → आउटपुट
डिवाइस
परिधीय उपकरणों का वर्गीकरण
1. इनपुट डिवाइस
- डेटा और निर्देश कंप्यूटर में प्रवेश कराने के लिए उपयोग होते हैं
- उदाहरण: कीबोर्ड, माउस, स्कैनर, माइक्रोफोन
- यूज़र की गतिविधि को डिजिटल सिग्नल में बदलते हैं
2. आउटपुट डिवाइस
- प्रोसेस किए गए परिणाम दिखाते या प्रदान करते हैं
- उदाहरण: मॉनिटर, प्रिंटर, स्पीकर
- डिजिटल डेटा को दृश्य, प्रिंट या ध्वनि में बदलते हैं
3. स्टोरेज डिवाइस (सेकेंडरी स्टोरेज)
- डेटा का स्थायी भंडारण करते हैं
- प्रकार:
- मैग्नेटिक: हार्ड डिस्क, टेप
- ऑप्टिकल: CD, DVD, Blu-ray
- सॉलिड-स्टेट: SSD, पेन ड्राइव, मेमोरी कार्ड
4. संचार (नेटवर्किंग) डिवाइस
- कंप्यूटरों के बीच डेटा ट्रांसफर के लिए
- उदाहरण: मॉडेम, NIC
- वायर्ड और वायरलेस संचार समर्थित
परिधीय डिवाइस कंट्रोलर
क्योंकि अलग-अलग
डिवाइस अलग
गति से
काम करते
हैं, इसलिए
कंट्रोलर उपयोग
होता है।
मुख्य कार्य:
- डेटा बफरिंग
- त्रुटि जाँच
- डिवाइस नियंत्रण
- स्पीड मिलान
डिवाइस ↔ कंट्रोलर ↔ CPU
डेटा ट्रांसफर विधियाँ
- Programmed
I/O: CPU खुद डिवाइस स्टेटस चेक करता है (धीमा)
- Interrupt
Driven I/O: डिवाइस CPU को इंटरप्ट करता है (बेहतर)
- DMA: डेटा सीधे मेमोरी में ट्रांसफर (सबसे तेज)
इनपुट और आउटपुट डिवाइस में अंतर
- इनपुट डिवाइस: डेटा CPU को भेजते हैं (यूज़र → कंप्यूटर)
- आउटपुट डिवाइस: डेटा CPU से प्राप्त करते हैं (कंप्यूटर → यूज़र)
लाभ
- सिस्टम की क्षमता बढ़ाते हैं
- यूज़र इंटरैक्शन बेहतर करते हैं
- स्टोरेज और संचार संभव बनाते हैं
सीमाएँ
- CPU
से धीमे होते हैं
- ड्राइवर की आवश्यकता
- इंटरफेस (USB, HDMI, SATA) चाहिए
I/O इंटरफेस (Input/Output
Interface)
I/O इंटरफेस एक
हार्डवेयर यूनिट
है जो
CPU और Peripheral Devices के
बीच मध्यस्थ
(intermediate) का कार्य
करती है।
इसका उद्देश्य
डेटा ट्रांसफर
को सुचारु
बनाना है,
ताकि स्पीड,
डेटा फॉर्मेट
और कंट्रोल
सिग्नल के
अंतर को
संभाला जा
सके।
I/O इंटरफेस की आवश्यकता
- CPU
तेज और I/O डिवाइस धीमे होते हैं — स्पीड मिसमैच को संतुलित करता है
- डेटा फॉर्मेट मिसमैच (बाइनरी, सीरियल, पैरेलल) को संभालता है
- कंट्रोल और टाइमिंग का अंतर दूर करता है
- डिवाइस सिलेक्शन और पहचान में मदद करता है
- डेटा बफरिंग द्वारा अस्थायी स्टोरेज उपलब्ध कराता है
I/O इंटरफेस के मुख्य घटक
- Address
Decoder – सही I/O डिवाइस की पहचान और चयन करता है
- Data
Register – ट्रांसफर के दौरान डेटा रखता है
- Control
Register –
READ, WRITE, START, STOP जैसे कमांड स्टोर करता है
- Status
Register – डिवाइस की स्थिति बताता है (Ready, Busy, Error)
- Buffer – अस्थायी डेटा स्टोरेज, स्पीड अंतर को मैनेज करता है
I/O इंटरफेस के प्रकार
1. Serial Interface
- एक समय में 1 बिट ट्रांसफर
- धीमा लेकिन सस्ता
- लंबी दूरी संचार के लिए उपयोगी
2. Parallel Interface
- एक साथ कई बिट ट्रांसफर
- तेज
- हाई-स्पीड डिवाइस के लिए उपयोगी
I/O डेटा ट्रांसफर विधियाँ
1. Programmed I/O
- CPU
लगातार डिवाइस स्टेटस चेक करता है
- CPU
Busy रहता है
- सरल लेकिन CPU समय की बर्बादी
2. Interrupt-driven I/O
- डिवाइस तैयार होने पर CPU को इंटरप्ट देता है
- CPU
अन्य काम कर सकता है
- बेहतर CPU उपयोग, पर इंटरप्ट ओवरहेड
3. DMA (Direct Memory Access)
- DMA
कंट्रोलर सीधे मेमोरी और डिवाइस के बीच डेटा ट्रांसफर करता है
- बहुत तेज
- हार्डवेयर जटिल
Isolated I/O vs
Memory-Mapped I/O
|
विशेषता |
Isolated I/O |
Memory-Mapped I/O |
|
एड्रेस स्पेस |
अलग |
समान |
|
इंस्ट्रक्शन |
विशेष I/O निर्देश |
सामान्य मेमोरी निर्देश |
Handshaking
- CPU
और डिवाइस के बीच सिंक बनाने की तकनीक
- READY
और ACK जैसे सिग्नल उपयोग होते हैं
- सुरक्षित और सही डेटा ट्रांसफर सुनिश्चित करता है
I/O इंटरफेस के लाभ
- विश्वसनीय डेटा ट्रांसफर
- CPU
को डिवाइस की जटिलता से बचाता है
- कई डिवाइस सपोर्ट
- सिस्टम परफॉर्मेंस बेहतर करता है
**************************************************************************
असमकालिक डेटा ट्रांसफर (Asynchronous
Data Transfer)
असमकालिक डेटा ट्रांसफर वह
संचार विधि
है जिसमें
दो डिजिटल
घटक या
सिस्टम बिना
कॉमन क्लॉक के डेटा
का आदान-प्रदान करते हैं।
इसमें डेटा
भेजने और
स्वीकार करने
के लिए
कंट्रोल सिग्नल (Handshake signals) का
उपयोग किया
जाता है,
जिससे Sender और
Receiver यह सुनिश्चित
करते हैं
कि डेटा
कब वैध
है और
कब स्वीकार
किया गया
है।
उपयोग (Use of Asynchronous Transfer)
- जब Sender और Receiver की स्पीड अलग-अलग हो
- जब दोनों अलग क्लॉक पर काम कर रहे हों
- बाहरी उपकरणों (कीबोर्ड, सेंसर, सीरियल पोर्ट) से इंटरफेस में
- लो-पावर और लो-लेटेंसी सिस्टम में
- बड़े सिस्टम में clock skew और EMI कम करने के लिए
मुख्य सिग्नल (Basic Signals)
- DATA – वास्तविक सूचना बिट्स
- REQ
(Request) –
Sender बताता है कि डेटा तैयार है
- ACK
(Acknowledge)
– Receiver बताता है कि डेटा स्वीकार कर लिया गया
- Strobe/Valid – कभी-कभी एक सिग्नल से डेटा वैध होने का संकेत
टाइमिंग शब्द:
- setup
time, hold time
- propagation
delay (गेट/वायर की देरी)
Handshake
Protocols (हैंडशेक प्रोटोकॉल)
1. Four-Phase (REQ/ACK) Handshake
हर
ट्रांसफर में
4 स्टेप:
- Sender
डेटा रखकर REQ = 1 करता
है
- Receiver
डेटा पढ़कर ACK = 1 करता है
- Sender
REQ = 0 करता है
- Receiver
ACK = 0 करता है
विशेषता: सरल और
विश्वसनीय तरीका
2. Two-Phase (Transition) Handshake
- सिग्नल के level की जगह transition (0→1 या 1→0) से नया डेटा संकेत
- हर ट्रांसफर में सिर्फ 2 transitions
- तेज़ और कम पावर खपत
- डिजाइन थोड़ा ज्यादा जटिल
Muller C-Element
- असमकालिक सर्किट का बेसिक ब्लॉक
- सभी इनपुट 1 → आउटपुट 1
- सभी इनपुट 0 → आउटपुट 0
- अन्य स्थिति → आउटपुट अपनी पिछली वैल्यू रखता है
- Handshake
completion और synchronization में उपयोग
Metastability और Synchronizers
- जब asynchronous सिग्नल clocked flip-flop में जाता है, तो आउटपुट कुछ समय के लिए अस्थिर हो सकता है — इसे metastability कहते हैं
- इससे लॉजिक में त्रुटि हो सकती है
समाधान:
- 2-stage
या 3-stage synchronizer
flip-flops का उपयोग
- MTBF
(Mean Time Between Failures) बढ़ाने के लिए उचित डिजाइन
फायदे (Advantages)
- Global
clock की जरूरत नहीं
- Clock
skew की समस्या कम
- Dynamic
power कम
- Variable-latency
और peripherals के लिए उपयुक्त
नुकसान (Disadvantages)
- डिजाइन और verification कठिन
- Testing
मुश्किल
- Metastability
का जोखिम
- Tools
और synthesis support कम
**********************************************************************************
डेटा ट्रांसफर के मोड (Modes of Data
Transfer)
डेटा ट्रांसफर का
मतलब है
डेटा का
स्थानांतरण:
- CPU
↔ Memory
- CPU
↔ I/O Devices
- Memory
↔ I/O Devices
क्योंकि I/O डिवाइस CPU की
तुलना में
धीमे होते
हैं, इसलिए
कुशल संचार
के लिए
विशेष ट्रांसफर
मोड उपयोग
किए जाते
हैं।
डेटा ट्रांसफर मोड के प्रकार
- Programmed
I/O (Polling)
- Interrupt-Driven
I/O
- Direct
Memory Access (DMA)
1. Programmed I/O
(Polling)
संकल्पना:
CPU खुद पूरा
डेटा ट्रांसफर
नियंत्रित करता
है और
बार-बार
डिवाइस की
स्थिति चेक
करता है।
कार्य विधि (Steps):
- CPU
I/O कमांड देता है
- CPU
लगातार डिवाइस स्टेटस चेक करता है (Polling)
- Ready
होने पर CPU डेटा ट्रांसफर करता है
- फिर CPU अपना काम जारी रखता है
मुख्य बिंदु: CPU को इंतज़ार
करना पड़ता
है (Busy Waiting)
फायदे:
- सरल विधि
- अतिरिक्त हार्डवेयर की जरूरत नहीं
नुकसान:
- CPU
समय की बर्बादी
- धीमे डिवाइस के लिए अक्षम
उपयोग: साधारण और
कम गति
वाले डिवाइस
2.
Interrupt-Driven I/O
संकल्पना:
डिवाइस Ready होने पर CPU को
Interrupt सिग्नल भेजता
है — CPU को
बार-बार
चेक नहीं
करना पड़ता।
कार्य विधि:
- CPU
I/O कमांड देता है
- CPU
अन्य कार्य करता रहता है
- डिवाइस Ready होने पर Interrupt भेजता है
- CPU
Interrupt Service Routine (ISR) चलाता है
- डेटा ट्रांसफर होता है
- CPU
फिर पुराने कार्य पर लौटता है
मुख्य बिंदु: Event-driven ट्रांसफर
फायदे:
- CPU
का बेहतर उपयोग
- Busy
waiting नहीं
नुकसान:
- Interrupt
हैंडलिंग का ओवरहेड
- DMA
से धीमा (बड़े डेटा के लिए)
उपयोग: मध्यम गति
और इवेंट
आधारित डिवाइस
3. Direct Memory
Access (DMA)
संकल्पना:
DMA Controller डेटा को
सीधे Memory और
I/O के बीच
ट्रांसफर करता
है, CPU लगातार शामिल नहीं
रहता।
कार्य विधि:
- CPU
DMA को initialize करता है (address, count, direction)
- DMA
बस का नियंत्रण मांगता है
- CPU
बस DMA को दे देता है
- DMA
सीधे I/O ↔ Memory डेटा ट्रांसफर करता है
- पूरा होने पर DMA CPU को interrupt भेजता है
DMA ट्रांसफर तकनीकें:
- Burst
Mode – पूरा डेटा एक साथ
- Cycle
Stealing – एक-एक शब्द प्रति साइकिल
- Transparent
Mode – CPU
idle समय में ट्रांसफर
फायदे:
- बहुत तेज ट्रांसफर
- बड़े डेटा ब्लॉक के लिए श्रेष्ठ
- CPU
फ्री रहता है
नुकसान:
- जटिल हार्डवेयर
- महंगा
उपयोग: Disk, Graphics, Network जैसे high-speed डिवाइस
त्वरित तुलना तालिका
|
विशेषता |
Programmed I/O |
Interrupt I/O |
DMA |
|
CPU भागीदारी |
अधिक |
मध्यम |
कम |
|
CPU इंतज़ार |
हाँ |
नहीं |
नहीं |
|
डेटा पथ |
CPU के माध्यम से |
CPU के माध्यम से |
Direct Memory ↔ I/O |
|
दक्षता |
कम |
मध्यम |
सबसे अधिक |
|
हार्डवेयर |
सरल |
मध्यम |
जटिल |
|
उपयोग |
Simple devices |
Event devices |
Bulk transfer |
*****************************************************************************************
प्रायोरिटी इंटरप्ट (Priority
Interrupt)
इंटरप्ट (Interrupt) एक
सिग्नल होता
है जो
किसी I/O डिवाइस
या आंतरिक
घटना द्वारा
CPU को भेजा
जाता है।
यह CPU के
वर्तमान कार्य
को अस्थायी
रूप से
रोककर नियंत्रण
को Interrupt Service Routine (ISR)
को दे
देता है।
इंटरप्ट का
उपयोग CPU समय
की बचत
और बेहतर
उपयोग के
लिए किया
जाता है
क्योंकि I/O डिवाइस
CPU से धीमे
होते हैं।
प्रायोरिटी इंटरप्ट सिस्टम में
प्रत्येक इंटरप्ट
स्रोत को
एक प्राथमिकता
(priority level) दी जाती
है।
यदि एक
साथ कई
इंटरप्ट आते
हैं, तो
CPU सबसे उच्च प्राथमिकता वाले
इंटरप्ट को
पहले सेवा
देता है।
प्रायोरिटी इंटरप्ट की आवश्यकता
- कई I/O डिवाइस एक साथ सेवा मांग सकते हैं
- कुछ घटनाएँ बहुत महत्वपूर्ण होती हैं (जैसे power failure)
- बिना प्रायोरिटी के:
- महत्वपूर्ण कार्य देर से होंगे
- सिस्टम की विश्वसनीयता कम होगी
उदाहरण प्राथमिकता क्रम:
Power failure > Disk I/O > Keyboard > Printer
मूल कार्यप्रणाली (Basic Concept)
- हर इंटरप्ट लाइन को एक priority दी जाती है
- CPU
सभी requests को जांचता है
- Highest
priority request चुनी जाती है
- Low
priority interrupts को अस्थायी रूप से mask (disable) किया जाता है
- CPU:
- वर्तमान स्थिति (PC, registers) save करता है
- ISR
चलाता है
- स्थिति restore करके main program पर लौटता है
उच्च प्राथमिकता वाला
इंटरप्ट, कम
प्राथमिकता वाले
ISR को बीच
में रोक
सकता है।
प्रायोरिटी इंटरप्ट के प्रकार
1️⃣ हार्डवेयर प्रायोरिटी इंटरप्ट
- Priority
hardware द्वारा तय होती है
- प्रतिक्रिया तेज होती है
- Real-time
systems में उपयोग
(a) Daisy Chaining Method
- डिवाइस श्रृंखला (series) में जुड़े होते हैं
- जो डिवाइस CPU के पास है उसकी priority अधिक
- Acknowledge
signal chain में आगे बढ़ता है
लाभ:
- सरल
- कम लागत
हानि:
- Fixed
priority
- Low
priority डिवाइस को देर
(b) Priority Encoder Method
- Priority
encoder circuit उपयोग होता है
- Highest
priority interrupt को binary code में बदलता है
लाभ:
- Daisy
chain से तेज
- Flexible
priority
- Multiple
interrupts को efficiently handle करता है
हानि:
- Hardware
जटिल
- अधिक लागत
- Low
priority starvation संभव
2️⃣ सॉफ्टवेयर प्रायोरिटी इंटरप्ट (Polling)
- Priority
software द्वारा तय होती है
- CPU
एक common ISR पर जाता है
- ISR
if-else द्वारा हर डिवाइस का status check करता
है
- Highest
priority active device को service मिलती है
लाभ:
- सरल डिजाइन
- कम hardware आवश्यकता
हानि:
- धीमा (बार-बार checking के कारण)
प्रायोरिटी vs नॉन-प्रायोरिटी इंटरप्ट
|
विशेषता |
Priority Interrupt |
Non-Priority Interrupt |
|
सेवा क्रम |
Priority आधारित |
पहले आया पहले |
|
महत्वपूर्ण कार्य |
तुरंत |
देर हो सकती |
|
जटिलता |
अधिक |
कम |
|
दक्षता |
अधिक |
कम |
उपयोग (Applications)
- Operating
systems
- Embedded
systems
- Real-time
control systems
- Industrial
automation
- Communication
systems
***********************************************************************************
डायरेक्ट मेमोरी एक्सेस (DMA)
परिभाषा
Direct Memory Access (DMA) एक
तकनीक है
जिसमें I/O डिवाइस
मेन मेमोरी
से डेटा
का ट्रांसफर
सीधे करता
है, बिना
CPU की लगातार
भागीदारी के।
CPU केवल ट्रांसफर
की शुरुआत
करता है,
उसके बाद
DMA कंट्रोलर डेटा
ट्रांसफर संभालता
है।
DMA की आवश्यकता
DMA का
उपयोग programmed और
interrupt-driven I/O की कमियों
को दूर
करने के
लिए किया
जाता है:
- उच्च गति डेटा ट्रांसफर
- CPU
का लोड कम करता है
- सिस्टम परफॉर्मेंस बढ़ाता है
DMA Controller के मुख्य भाग
1. Address Register
- शुरुआती मेमोरी एड्रेस स्टोर करता है
- पॉइंटर की तरह काम करता है
- हर ट्रांसफर के बाद एड्रेस स्वतः बढ़ता/घटता है
- प्रकार: Base Address Register (BAR),
Current Address Register (CAR)
2. Word Count Register
- कितने bytes/words ट्रांसफर करने हैं — यह स्टोर करता है
- हर ट्रांसफर के बाद count कम होता है
- Zero
होने पर ट्रांसफर पूरा माना जाता है
- सामान्यतः 16-bit (अधिकतम 65,536 यूनिट)
3. Control Register
- Read/Write
ऑपरेशन सेट करता है
- ट्रांसफर मोड चुनता है (burst, cycle stealing)
- Interrupt
enable/disable करता है
- कंट्रोल फ्लैग्स रखता है
4. Status Register
- ट्रांसफर पूरा हुआ या error — यह बताता है
- Done
flag सेट करता है
DMA का कार्य (Step-by-Step)
- CPU
DMA को सेट करता है:
- Starting
address
- Word
count
- Transfer
type
- I/O
डिवाइस DMA request भेजता है
- DMA
सिस्टम बस का कंट्रोल मांगता है
- CPU
बस कंट्रोल दे देता है
- DMA
सीधे memory ↔ I/O डेटा ट्रांसफर करता है
- काम पूरा होने पर DMA interrupt भेजता
है
- CPU
फिर से सामान्य कार्य शुरू करता है
DMA Transfer Modes
(A) Burst Mode (Block Transfer)
- पूरा डेटा ब्लॉक एक साथ ट्रांसफर
- CPU
पूरी अवधि निष्क्रिय
- सबसे तेज मोड
- बड़े डेटा के लिए उपयुक्त
(B) Cycle Stealing Mode
- एक बार में एक word ट्रांसफर
- DMA
हर बार एक cycle “चुरा” लेता है
- CPU
थोड़ा ही रुकता है
- CPU
और DMA बारी-बारी से काम करते हैं
(C) Transparent Mode
- DMA
केवल तब ट्रांसफर करता है जब CPU idle हो
- CPU
को कोई रुकावट नहीं
- सबसे धीमा पर सुरक्षित
DMA vs Programmed
I/O
|
विशेषता |
Programmed I/O |
DMA |
|
CPU भागीदारी |
अधिक |
बहुत कम |
|
गति |
धीमी |
तेज |
|
CPU उपयोग |
खराब |
बेहतर |
|
ट्रांसफर |
Byte-by-byte |
Block |
DMA के फायदे
- तेज डेटा ट्रांसफर
- CPU
फ्री रहता है
- सिस्टम थ्रूपुट बढ़ता है
- बड़े डेटा ब्लॉक्स के लिए आदर्श
- कम ओवरहेड
DMA के नुकसान
- हार्डवेयर जटिल
- बस कंटेंशन समस्या
- Debug
करना कठिन
- छोटे डेटा के लिए लाभकारी नहीं
- सेटअप जटिल
DMA के उपयोग
- हार्ड डिस्क/स्टोरेज कंट्रोलर
- ग्राफिक्स कार्ड
- साउंड कार्ड
- नेटवर्क इंटरफेस
- रियल-टाइम सिस्टम
*************************************************************************
I/O
प्रोसेसर (IOP)
परिभाषा:
I/O Processor (IOP) एक
विशेष प्रकार
का प्रोसेसर
है जो
Input/Output कार्यों को
मुख्य CPU से
अलग होकर
स्वयं नियंत्रित
और प्रबंधित
करता है।
इसका मुख्य
उद्देश्य CPU का
लोड कम
करना और
सिस्टम की
कार्यक्षमता बढ़ाना
है।
IOP की आवश्यकता क्यों है
पुराने कंप्यूटर सिस्टम
में CPU को
ही करना
पड़ता था:
- प्रोग्राम चलाना
- डेटा ट्रांसफर करना
- I/O
डिवाइस को नियंत्रित करना
इससे:
- CPU
का समय व्यर्थ होता था
- सिस्टम धीमा हो जाता था
✔ समाधान
→ I/O Processor का उपयोग
IOP के मुख्य कार्य
- I/O
डिवाइस को नियंत्रित करना
- डिवाइस और मेमोरी के बीच डेटा ट्रांसफर करना
- I/O
प्रोग्राम/इंस्ट्रक्शन चलाना
- Interrupt
और I/O errors को संभालना
- कार्य पूर्ण होने पर CPU को सूचना देना
- Buffering,
error checking और data conversion करना
मुख्य विशेषताएँ
- I/O
कार्यों को स्वतंत्र रूप से संभालता है
- CPU
का लोड कम करता है
- CPU
के साथ समानांतर (parallel) कार्य करता है
- अपने I/O निर्देश स्वयं execute कर सकता है
- Direct
Memory Access (DMA) सपोर्ट करता है
- Master/Slave
मोड में कार्य कर सकता है
IOP का कार्य करने का तरीका (Steps)
- CPU,
IOP को I/O कमांड देता है
- CPU
अन्य कार्य करता रहता है
- IOP
डिवाइस चुनता और नियंत्रित करता है
- डेटा सीधे डिवाइस ↔ मेमोरी के बीच ट्रांसफर होता है
- कार्य पूरा होने पर IOP, CPU को interrupt भेजता है
➡ CPU की भागीदारी बहुत कम रहती है
IOP और CPU में अंतर
- CPU: मुख्य प्रोग्राम चलाता है, जटिल निर्देश, बहुत तेज
- IOP: I/O कार्य संभालता है, सरल I/O निर्देश, मध्यम गति, विशेष कार्य
IOP और DMA कंट्रोलर में अंतर
- IOP: अधिक बुद्धिमान, प्रोग्राम execute करता है, पूरा device control, CPU की बहुत कम जरूरत, महंगा
- DMA: कम बुद्धिमान, प्रोग्राम execute नहीं करता, सीमित control, CPU की आंशिक जरूरत, सस्ता
फायदे
- CPU
का लोड कम करता है
- Parallel
processing संभव
- System
throughput बढ़ाता है
- कई I/O डिवाइस को कुशलता से संभालता है
- High-speed
सिस्टम के लिए उपयुक्त
कमियाँ
- हार्डवेयर लागत अधिक
- डिजाइन जटिल
- छोटे सिस्टम के लिए किफायती नहीं
उपयोग
- Mainframe
सिस्टम
- Supercomputers
- High-performance
servers
- Real-time
सिस्टम
- Industrial
automation सिस्टम
***************************************************************************
0 Comments