What is Direct Memory Access?

Article Details
  • Written By: Emma G.
  • Edited By: Jenn Walker
  • Last Modified Date: 08 November 2019
  • Copyright Protected:
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
People with auto-brewery syndrome convert carbs into ethanol in their gut, becoming drunk without drinking alcohol.  more...

November 13 ,  1956 :  The US Supreme Court upheld a decision that ended public bus segregation in Montgomery, Alabama.  more...

Direct memory access, sometimes called DMA, is a method of transferring data from the random access memory to another part of a computer without occupying the central processing unit. This capability is built into most modern computer systems. It allows the computer to perform multiple tasks at once, ultimately making the computer faster.

Just as the owner of a small business deals with all of the reports and information going into or out of his or her office, the central processing unit of a computer must process all the input or output of the computer. Before direct memory access, downloading or uploading data took up all of the central processor's attention. It could only do one task at a time.

A computer with direct memory access enabled is like a small business owner with a couple of assistants. Instead of dealing with all the information directly, the central processing unit is able to delegate the task to the direct memory access controller. This is a device built into the motherboard that oversees direct memory access operations. The central processing unit is then free to perform other tasks while the upload or download is taking place. When the delegated task is complete, the DMA controller tells the central processing unit.


Each port on a computer has at least one direct memory access channel that can be assigned to devices connected through that port. To work properly, each device must be assigned a different channel. Most cards that can be installed in a computer, such as sound, network, or video cards, can use direct memory access to perform their tasks.

Multi-core processors are also able to use direct memory access. They generally have a type of temporary memory called local or scratchpad memory. When the action they are working on is completed, they can transfer the data from local memory to the main memory using a direct access memory channel.

The drawback to depending on DMA is that it can cause what is called a loss of cache coherency. Basically this means that data is moving all the time and may be stored in multiple temporary locations. The problem with this is that when the computer is asked to access information, it may not access the most recent information. Computer makers can deal with this using special hardware or by programing the operating system to guard against loss of cache coherency.


You might also Like


Discuss this Article

Post your comments

Post Anonymously


forgot password?