DMA tutorial

  • Thread starter Thread starter Joel Ramirez
  • Start date Start date
J

Joel Ramirez

I'm having trouble understanding DMA. Is there
a tutorial available somewhere?

TIA.
 
Joel said:
I'm having trouble understanding DMA. Is there
a tutorial available somewhere?

DMA stands for Direct Memory Access. It is very simple. When a
peripheral wants to transfer data (say a single byte) it simply
steals a memory cycle, and writes or reads that just as the CPU
would. This avoids interrupting the CPU and forcing it to perform
an i/o cycle for each item. Instead the system interrupts the COU
only when the complete transfer (of some number of bytes) is
complete, and now present in a known memory buffer.

The details vary with systems. IBM clones tend to have built in
DMA controllers, which do all the bus controlling. Other systems
may simply accept a DMA request, and when that is acknowledged the
bus lines are free for something else to control.
 
Back
Top