मुख्य सामग्री पर जाएँ

सिलेबस · CS कंप्यूटर विज्ञान और सूचना प्रौद्योगिकी

विषय के सभी टॉपिक
C प्रोग्रामिंग की बुनियाद6
ऐरे और पॉइंटर7
रिकर्शन6
प्रायिकता और सांख्यिकी की बुनियाद9
डेटाबेस सिस्टम की बुनियाद15
रैखिक बीजगणित की बुनियाद6
कंप्यूटर नेटवर्क की बुनियाद9
कलन की बुनियाद6
संगणना सिद्धांत की बुनियाद9
कंपाइलर डिज़ाइन की बुनियाद9
लिंक्ड लिस्ट, स्टैक और क्यू3
ट्री, बाइनरी सर्च ट्री और हीप3
ग्राफ की बुनियाद3
एल्गोरिदम की बुनियाद12
असतत गणित की बुनियाद15
डिजिटल लॉजिक की बुनियाद22
कंप्यूटर संगठन की बुनियाद12
ऑपरेटिंग सिस्टम की बुनियाद15

I/O interfaces interrupts और DMA

पाठ 86 / 1677 मिनटमुफ़्त

लक्ष्य और दायरा

Device addressing, readiness notification और data movement अलग करें; polling, interrupts तथा DMA की तुलना करें; CPU overhead और bus occupancy निकालें। पूर्वज्ञान: datapath, memory addresses तथा CPU-time units। यह GATE 2026 COA का I/O-interface भाग है, पूरा driver/interrupt-controller/protocol पाठ नहीं।

Device controller data, status तथा control registers देता है। Status ready/busy या completion बता सकता है; control operation शुरू कर सकता है; data register payload रखता है। अर्थ device-specific है। Device register पढ़ने/लिखने के side effects हो सकते हैं; हमेशा सामान्य RAM जैसा न मानें।

1. तीन अलग प्रश्न

Addressing: memory-mapped I/O में device registers CPU memory address space में हैं और उचित load/store से access होते हैं। Isolated/port-mapped I/O में अलग I/O address space तथा special instructions हैं। Register map होने का अर्थ पूरे device storage का सामान्य RAM होना नहीं।

Notification: polling software से status बार-बार देखता है। Interrupt event की सूचना देकर ISR चलवाता है। Data movement: programmed I/O में CPU instructions प्रत्येक item ले जाते हैं; DMA controller/engine configured block को device तथा memory के बीच ले जाता है। Interrupt-driven programmed I/O संभव है; DMA completion polling या interrupt दोनों से पता चल सकती है। ये स्वतंत्र axes हैं। Memory-mapped I/O के लिए DMA जरूरी नहीं।

2. Polling का CPU खर्च

Busy-wait loop readiness देखते हुए CPU खर्च करता है। Interval पर poll करने से checks घटते हैं, लेकिन completion पता चलने में देर हो सकती है। Fixed interval Δ तथा checks के बीच uniform completion पर average detection delay Δ/2 और stated convention में अधिकतम Δ है। जरूरी हो तो check/handling time अलग जोड़ें।

उदाहरण: 10000 polls/s, हर poll 200 cycles, CPU 1 GHz। खर्च 2 million cycles/s यानी CPU capacity का 0.2%। यह केवल polling है, data-copy या अन्य काम नहीं। कम percentage से कम device latency साबित नहीं होती।

3. Interrupt handling मुफ्त नहीं

Interrupt architecture-defined point पर control बदलता है। Hardware/software resume के लिए state बचाते, event पहचानते/service करते, device की जरूरत के अनुसार acknowledge करते और लौटते हैं। Priority competing requests में चुनाव करती है। Maskable interrupt रोकना handling टाल सकता है; जरूरी नहीं कि device रुक जाए या pending event मिट जाए।

Interrupt अपने आप process context switch नहीं है। Handler उसी interrupted task में लौट सकता है; OS बाद में दूसरा task चुन सकता है। एक interrupt का अर्थ एक byte भी नहीं; events batch हो सकते हैं।

उदाहरण: 20000 interrupts/s ×3000 cycles=60 million cycles/s। 2 GHz CPU पर 3% capacity। दस पुराने events पर एक interrupt और वही fixed 3000-cycle खर्च हो तो fixed overhead 0.3%। Per-byte work फिर भी रह सकता है; batching latency बढ़ा सकती है।

4. DMA per-word CPU copy हटाता है, सारी CPU भूमिका नहीं

CPU source/destination या direction, memory address, count और जरूरी control configure करता है। DMA engine interconnect के लिए arbitration करके data ले जाता है और completion बताता है। CPU setup, synchronization तथा completion handling अभी भी हैं। DMA memory/bus bandwidth लेता है और CPU accesses से compete कर सकता है।

सरल shared-bus model में burst DMA कई transfers के लिए bus रखता है। Cycle stealing में अलग transfer slots लेकर बाकी CPU activity को दूसरे slots मिलते हैं। CPU का हर computation रुकना जरूरी नहीं; occupied resource न माँगने वाला register/cache work चल सकता है। वास्तविक contention machine पर निर्भर है।

उदाहरण: 8 KiB=8192 bytes; bus word चार bytes और हर 20 ns एक DMA word, बीच में gaps नहीं। 2048 transfers, bus occupation=40960 ns=40.96 µs। CPU setup 500 cycles और completion 300 cycles, CPU 1 GHz हो तो control overhead=800 ns=0.8 µs। Bus time CPU instruction time नहीं। यदि setup, transfer और completion यहाँ strictly serial हों तो कुल 41.76 µs; overlap होने पर addition बदलता है।

5. Coherence की सीमा

Noncoherent DMA पुराने memory data को पढ़ सकता है जबकि नया CPU data dirty cache में हो। DMA memory लिख दे लेकिन CPU cached पुरानी copy पढ़ सकता है। सही hardware coherence या software synchronization/cache maintenance चाहिए। Details architecture पर निर्भर हैं; DMA चुनने से अपने आप coherence नहीं मिलता। यह हर cache flush करने या कोई भी barrier लगाने का निर्देश नहीं।

तुलना: CPU-copy I/O में 2048 words ×8 cycles=16384 CPU cycles। DMA का control 800 cycles हो तो 15584 cycles CPU involvement बचती है। इससे transfer 20.48 गुना पहले समाप्त होना सिद्ध नहीं; दोनों में device/bus speed elapsed time तय कर सकती है।

सामान्य गलतियाँ

Register address कहाँ है और payload कैसे चलता है, अलग रखें। Interrupt polling बचाता है लेकिन handling खर्च जोड़ता है। DMA zero CPU work या zero bus use नहीं। Bytes को width से भाग देकर words गिनें। CPU utilization तथा elapsed latency अलग निकालें; times जोड़ने से पहले overlap बताएं।

मौलिक अभ्यास: छह single-correct MCQ

ये मौलिक शिक्षण प्रश्न हैं, पिछले वर्षों के प्रश्न नहीं। ठीक एक उत्तर चुनें।

P01. कौन-सा combination संभव है?

A. Memory-mapped I/O के साथ polling B. DMA केवल जब interrupts न हों C. Interrupts केवल DMA के साथ D. Memory-mapped I/O केवल DMA के साथ

उत्तर: A

A: Address mapping और notification स्वतंत्र हैं।

B: DMA completion interrupt दे सकती है।

C: ISR programmed I/O copy कर सकती है।

D: DMA बिना CPU mapped registers access कर सकता है।

P02. 1 GHz CPU पर 5000 polls/s, प्रत्येक 400 cycles। केवल polling का CPU fraction?

A. 0.02% B. 0.2% C. 2% D. 20%

उत्तर: B

A: यह दस गुना कम है।

B: 5000×400/10^9=0.002=0.2%।

C: खर्च 2 million cycles है, 20 million नहीं।

D: यह सही से सौ गुना है।

P03. हर 100 µs check, negligible cost, completion uniform है। Average detection delay?

A. 0 µs B. 25 µs C. 50 µs D. 100 µs

उत्तर: C

A: Check के तुरंत बाद completion को रुकना पड़ेगा।

B: 0 से 100 का uniform mean 50 है।

C: औसत interval का आधा=50 µs।

D: 100 upper bound है, mean नहीं।

P04. 4 KiB DMA, चार-byte word, हर 10 ns एक word, gaps नहीं। Bus occupation?

A. 40.96 µs B. 10.24 µs C. 1.024 µs D. 4 µs

उत्तर: B

A: यह हर byte को पूरा word transfer मानता है।

B: 4096/4=1024; ×10 ns=10.24 µs।

C: यह दस गुने की समय गलती है।

D: Binary byte count और word period दोनों लें।

P05. Interrupt के बारे में कौन-सा कथन सही है?

A. दूसरे process में switch जरूरी है B. Handling cost शून्य है C. Handler interrupted task में लौट सकता है D. हमेशा ठीक एक byte transfer होता है

उत्तर: C

A: Handler उसी task में लौट सकता है।

B: State save तथा event service में काम लगता है।

C: हर interrupt में process context switch जरूरी नहीं।

D: Devices batch या non-data event बता सकते हैं।

P06. 1000 words के CPU copy में 6 cycles/word; DMA setup+completion 500 cycles। कितने CPU cycles बचेंगे?

A. 500 B. 5500 C. 6000 D. 6500

उत्तर: B

A: 500 बचा हुआ DMA CPU खर्च है।

B: Copy=6000; बचत=6000−500=5500।

C: DMA में 500 control cycles अभी हैं।

D: यह घटाने के बजाय जोड़ता है।

स्रोत और दायरा

यह 2026 course के बताए भाग का पाठ है, पूरे COA syllabus की समाप्ति नहीं। सभी गणनात्मक उदाहरण और प्रश्न मौलिक हैं। 2027 की पूर्णता का दावा नहीं।

प्रगति सहेजने के लिए साइन इन करें। साइन इन