Modes of Data Transfer & Programmed and DMA Data Transfer

Modes of Data Transfer & Programmed and DMA Data Transfer

Modes of Data Transfer

हमारे द्वारा use किया जाने वाला Data वास्तव में Binary रूप में होती है जिसे हम External device के बीच send और receive करते हैं और Memory में store करते है। Processor किसी भी I/O instruction को execute करने का प्रयास करता है कि Temporary रूप से Data accept करता है। जो भी Data process और Memory unit के बीच Transfer होता है|

Programmed I/O

Programmed I/O का पूरा नाम programmed input/output है. यह processor और peripheral device के मध्य data को transfer करने की method है|

programmed I/O, data को processor और peripheral devices के मध्य Transfer करने की सबसे Simple I/O technique है|programmed i/o में, data का transfer processor तथा I/O module के मध्य होता है. इसमें processor एक program को execute करता है जो इसे I/O operation का direct control दे देता है. control मिलने के बाद processor device के status को sense कर सकता है, read write command भेज सकता है, और data का transfer कर सकता है| जब processor I/O module के लिए एक command issue जारी करता है तो इसे I/O operation के पूरा होने का wait करना पड़ता है| यदि processor I/O module से तेज है, तो इससे processor का time waste चले जाता है

programmed I/O के पूरे operations गया है|

  1. Processor एक Program को execute करता है और I/O से सम्बन्धित instruction को encounter करता है|
  2. उसके बाद processor इस instruction को execute करता है. इस instruction को execute करने के लिए यह I/O module को एक command issue करता है|
  3. इसके बाद I/O module, processor के द्वारा issue की गयी I/O command के आधार पर work करता है. और I/O status register में bits को set करता है|
  4. processor समय समय पर I/O module के status को तब तक check करता है जब तक कि operation पूरा नहीं हो जाता है|

Synchronous

Data transfer करने की यह सबसे Simple method होता है | यह method तब use की जाती है जब I/O device और Microprocessor की Speed एक सामान होती है | Device से Data transfer करने के लिए device को proper intersection दी जाती है |

Data transfer में Peripheral mapped I/O device के साथ IN या OUT intersection और memory mapped I/O device के साथ Memory Read/write intersection का use किता जाता है |Intersection IN का use Input device उया Input port से Data read करने के लिए किया जाता है| Intersection OUT का use CPU से Output device या Output port पर Transfer के लिए ready रहती है | इस process में I/O device का Status check करने की जरुरत नहीं होती अर्थात इसमें Handshaking की जरुरत नहीं होती है |

Example के लिए – यदि कोई Output device memory mapped mode में Microprocessor से जुड़ा है तब निम्न  Instruction Accumulator के Contents को device में Transfer करने के लिए use किया जा सकता है | MOV M, X

यदि device I/O mapped mode में जुडी है तब Data transfer के लिए निम्न Instruction use की जा सकती है | OUT 02 यहाँ 02 device का port number है |

दिए गये Example में Instruction जारी करने के Time I/O device , Microprocessor को Data transfer ले लिए या Microprocessor से Data receive करने के लिए तैयार है |

Asynchronous

जब I/O device और Microprocessor की Speed परस्पर match नहीं करती है तब Asynchronous method से Data transfer किया जाता है |

इस Method में Data transfer करने से पहले Microprocessor I/O device का Status check किया जाता है की device Data transfer के लिए तैयार है या नहीं | Microprocessor I/O device को पहले Get ready signal भेजता है तथा I/O device ला status लगातार check करता रहता है |

जब तक की I/O device data transfer के लिए तैयार नहीं होती है | जब I/O device तैयार हो जाती है तब Microprocessor data transfer instruction भेजता है इस मेथड को Handshaking भी कहते है क्योकि data transfer से पहले Microprocessor तथा I/O device के मध्य signal का Exchange होता है |

Asynchronous data transfer technique slow I/O device के साथ use की जाती है | इस method की Capacity कम है क्योंकि Microprocessor का काफी time wait करने में Destroy हो जाता है |

Interrupt Initiated

जब Data available हो जाता है और Data transfer के लिए Interface तैयार हो जाता है तो Interrupt command जारी करने के लिए Interface को सूचित करने के लिए यह Mode एक Interrupt facility और विशेष Command का use करता है। इस बीच CPU अन्य Task को Execute करता रहता है और flag की जांच करने की आवश्यकता नहीं होती है। जब flag set किया जाता है, तो Interface को सूचित किया जाता है और एक interruption शुरू की जाती है।

यह interruption CPU को I/O transfer का जवाब देने के लिए जो कर रहा है उससे distract होने का कारण बनता है। CPU program counter (PC) से Return address को Memory stack में Store करके signal का जवाब देता है और फिर branches को service में रखता है जो I/O request को processes करता है। Transfer complete होने के बाद, CPU पिछले Task पर वापस आ जाता है जिसे वह Execution कर रहा था। service की branches का Address दो तरह से select किया जा सकता है जिसे vectored और Non-vectorized interrupt कहा जाता है।

DMA Data Transfer

DMA  का पूरा नाम Direct Memory Access होता है। इसके द्वारा CPU के mediator के रूप में use न करके data को सीधे Memory में Transfer किया जाता है। इससे bus के माध्यम से हो रहे data transfer किसी संख्या को कम कर सकते हैं। इसमें CPU data transfer के starting और ending मैं किया जाता है अर्थात जब पूर्ण block के Transfer का कार्य हो जाता है तब ही CPU आता है और process को आगे बढ़ाता है।

DMA (Direct Memory Access) को control करने के लिए अलग से hardware की जरूरत होती है जिसे DMA controller के नाम से जाना जाता है। और यहां पर DMAC का कार्य data transfer को manage करना या system bus के mediator को Receive करना होता है।

DMA controller एक cycle stealing की तरह कार्य करते हैं। जिसमें data transfer को byte के माध्यम से प्रत्येक bus को एक स्थान से दूसरे स्थान भेजते हैं। और CPU को पुनः नियंत्रण कर दिया जाता है जिससे कि यह burst mode का Operation भी करता है| जिसका कार्य bus control को CPU को वापस करने से पूर्व data block को भेजने का कार्य करते हैं।

 

 

DMA interface मैं start address होता है जहां से data transfer आरंभ करना होता है साथ ही किस स्थान पर data store करना है data का size भी होता है। इन सभी के define हो जाने के पश्चात DMA controller data को transfer करने का कार्य आरंभ किया जाता है और जब data block के Transfer का कार्य पूर्ण हो जाता है तो CPU अपना कार्य करने के लिए उसमें enter होता है जब CPU और  DMA के द्वारा main memory को  share किया जाता है तो cycle stealing को DMA Receive करता है।

Previous articleIntroduction 8085 Microprocessor & its Architecture & Function
Next articleBasic Input Output system(BIOS) & Function of BIOS

LEAVE A REPLY

Please enter your comment!
Please enter your name here