What are the difference among pooling or Interrupt driven I/O and DMA?


Polling and Interrupt driven I/O
Direct Memory Access (DMA)
(i) Polling and Interrupt driven I/O concentrates on data transfer between the processor and I/O devices.
(i) To transfer large blocks of data at high speed, an alternative approach is used in Direct Memory Access (DMA).
(ii) An instruction to transfer (mov data in, R0) Only occurs after the processor determines that the I/O device is ready.
(ii) Blocks of data are transferred between an external device and the main memory, without continuous intervention by the processor.
(iii) Waits for the device to send an interrupt request Either by polling a status flag in the device interface or Waits for the device to send an interrupt request.
(iii) DMAC can transfer data without intervention by the processor, it’s operation must be under the control of a program executed by the processor.
(iv) Considerable overhead is incurred, because several program instructions must be executed for each data word transferred.
(iv) Performs the functions that would normally be carried out by the processor when access main memory. For each word transferred, it provides the memory address and all the bus signals that control data transfer.
(v) Instructions are needed to increment memory address and keeping track of work count.
(v) Instructions are not needed to increment memory address and keeping track of work count.
(vi) With interrupts, additional overhead associated with saving and restoring the program counter and other state information.
(vi) When the entire block has been transferred, the controller informs the processor by raising an interrupt signal.


No comments

Dear Members, Thanks for Your Comments. We must be reply your comment answer as soon as possible. Please Stay with us.....

Theme images by ideabug. Powered by Blogger.