We are independent & ad-supported. We may earn a commission for purchases made through our links.
Advertiser Disclosure
Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.
How We Make Money
We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently of our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.
Hardware

Our Promise to you

Founded in 2002, our company has been a trusted resource for readers seeking informative and engaging content. Our dedication to quality remains unwavering—and will never change. We follow a strict editorial policy, ensuring that our content is authored by highly qualified professionals and edited by subject matter experts. This guarantees that everything we publish is objective, accurate, and trustworthy.

Over the years, we've refined our approach to cover a wide range of topics, providing readers with reliable and practical advice to enhance their knowledge and skills. That's why millions of readers turn to us each year. Join us in celebrating the joy of learning, guided by standards you can trust.

What is Direct Memory Access?

By Emma G.
Updated: May 16, 2024

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.

EasyTechJunkie is dedicated to providing accurate and trustworthy information. We carefully select reputable sources and employ a rigorous fact-checking process to maintain the highest standards. To learn more about our commitment to accuracy, read our editorial process.
Discussion Comments
Share
EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.

EasyTechJunkie, in your inbox

Our latest articles, guides, and more, delivered daily.