top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

When the DMA transfer is taking place then what is processor doing at that time?

0 votes
391 views
When the DMA transfer is taking place then what is processor doing at that time?
posted May 23, 2017 by anonymous

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

1 Answer

0 votes
 
Best answer

The whole idea of a DMA is to offload the memory (DRAM) access from CPU.

When the CPU is executing memory transfers, it is basically reading from memory to a register and writing from register to memory. each such of transaction is limited by the CPU's architecture (32bit/64bit).
so instead of keeping the CPU busy with just read and write from the DRAM, a DMA is a HW accelerator which do the same thing but without keeping the CPU busy. usually CPU will invoke memory transfer request from the DMA, and when it will be finished, the DMA will interrupt the CPU to notify that it has finished. at the meantime the CPU can do other process code.

in addition, DMA access to DDR is much more efficient compared to CPU it uses Burst reading and writing to keep the DRAM controller less busy (less transactions)

hope it made it clear.

answer May 24, 2017 by anonymous
...