what is the need of dma in microprocessor applications
Direct memory access
Without DMA , when the CPU is using programmed input / output , it is typically fully occupied for the entire duration of the read or write operation , and is thus unavailable to perform other work . With DMA , the CPU first initiates the transfer , then it does other operations while the transfer is in progress , and it finally receives an interrupt from the DMA controller when the operation is done . This feature is useful at any time that the CPU can not keep up with the rate of data transfer , or when the CPU needs to perform work while waiting for a relatively slow I / O data transfer . Many hardware systems use DMA , including disk drive controllers , graphics cards , network cards and sound cards . DMA is also used for intra-chip data transfer in multi-core processors . Computers that have DMA channels can transfer data to and from devices with much less CPU overhead than computers without DMA channels . Similarly , a processing element inside a multi-core processor can transfer data to and from its local memory without occupying its processor time , allowing computation and data transfer to proceed in parallel . 
Without DMA , when the CPU is using programmed input / output , it is typically fully occupied for the entire duration of the read or write operation , and is thus unavailable to perform other work . With DMA , the CPU first initiates the transfer , then it does other operations while the transfer is in progress , and it finally receives an interrupt from the DMA controller when the operation is done . This feature is useful at any time that the CPU can not keep up with the rate of data transfer , or when the CPU needs to perform work while waiting for a relatively slow I / O data transfer . Many hardware systems use DMA , including disk drive controllers , graphics cards , network cards and sound cards . DMA is also used for intra-chip data transfer in multi-core processors . Computers that have DMA channels can transfer data to and from devices with much less CPU overhead than computers without DMA channels . Similarly , a processing element inside a multi-core processor can transfer data to and from its local memory without occupying its processor time , allowing computation and data transfer to proceed in parallel .
With DMA , the CPU first initiates the transfer , then it does other operations while the transfer is in progress , and it finally receives an interrupt from the DMA controller when the operation is done .DMA is also used for intra-chip data transfer in multi-core processors . Computers that have DMA channels can transfer data to and from devices with much less CPU overhead than computers without DMA channels .
With DMA , the CPU first initiates the transfer , then it does other operations while the transfer is in progress , and it finally receives an interrupt from the DMA controller when the operation is done . DMA is also used for intra-chip data transfer in multi-core processors . Computers that have DMA channels can transfer data to and from devices with much less CPU overhead than computers without DMA channels .