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.
|
|
(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.....