Difference between direct memory access and input output processor
Answers
Answered by
1
Direct Memory Access(DMA) :
In case of memory specific I/O operations (Simple example instructions like lw $r1,$r2,16 in case of MIPS processor), the processor needs to get the data from memory,to facilitate I/O operations. And so processor has to pause any other operation and monitor the memory READ/WRITE operation till it is not completed. In other words processor is totally occupied as long as read/write operation is in progress .If the processor was free during this time,then processor could have executed some other instructions .
DMA provides this capability to carry out memory specific operations with minimal processor intervention. When any I/O device needs a memory access. It sends a DMA request(in form of interrupt) to the processor. The processor initiates the the transfer by providing appropriate grant signals to the data bus. And passes the control to the DMA controller which controls the rest of the data transfer and transfers the data directly to I/O device. The processor during this time continues with other instructions. Once the Read/Write operation in completed (or any exception is occurred )the DMA controller initiates an interrupt and notifies the processor about the status of read/write operation.
In this way the read/write operation is also carried out and processor also executes some other instruction during that time. And so the overall performance is maximized
I/O processor
You can think I/O processor along the lines of DMA approach.
The I/O processor is capable of executing the instructions in addition to transfer of data.
Processor can execute the I/O specific program by initializing the basic operations like enabling the data path and setting up the I/O devices participating in operation.And then it transfers the task to I/O processor,which then carry out rest of the tasks and upon completion notifies the processor. The processor meanwhile executes
other important instructions .
In case of memory specific I/O operations (Simple example instructions like lw $r1,$r2,16 in case of MIPS processor), the processor needs to get the data from memory,to facilitate I/O operations. And so processor has to pause any other operation and monitor the memory READ/WRITE operation till it is not completed. In other words processor is totally occupied as long as read/write operation is in progress .If the processor was free during this time,then processor could have executed some other instructions .
DMA provides this capability to carry out memory specific operations with minimal processor intervention. When any I/O device needs a memory access. It sends a DMA request(in form of interrupt) to the processor. The processor initiates the the transfer by providing appropriate grant signals to the data bus. And passes the control to the DMA controller which controls the rest of the data transfer and transfers the data directly to I/O device. The processor during this time continues with other instructions. Once the Read/Write operation in completed (or any exception is occurred )the DMA controller initiates an interrupt and notifies the processor about the status of read/write operation.
In this way the read/write operation is also carried out and processor also executes some other instruction during that time. And so the overall performance is maximized
I/O processor
You can think I/O processor along the lines of DMA approach.
The I/O processor is capable of executing the instructions in addition to transfer of data.
Processor can execute the I/O specific program by initializing the basic operations like enabling the data path and setting up the I/O devices participating in operation.And then it transfers the task to I/O processor,which then carry out rest of the tasks and upon completion notifies the processor. The processor meanwhile executes
other important instructions .
Similar questions