What’s DMA?

Print anything with Printful



Direct memory access (DMA) allows data to be transferred between computer components without using the central processing unit, improving multitasking. DMA controllers delegate tasks and inform the CPU when complete. Most computer ports have at least one DMA channel for devices, including multi-core processors. However, DMA can cause cache coherence leaks, which can be mitigated with special hardware or programming.

Direct memory access, sometimes called DMA, is a method of transferring data from 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 your computer to perform multiple tasks at the same time, making your computer run faster.

Just as a small business owner handles all reporting and information that enters or leaves his or her office, a computer’s central processing unit must process all of the computer’s input or output. Before direct memory access, downloading or uploading data required the full attention of the central processor. 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 supervises direct memory access operations. The central processing unit is then free to perform other tasks during the upload or download. When the delegated task is completed, the DMA controller informs the central processing unit.

Every 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 may 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 storage called local storage or scratchpad. When the action they are working on is completed, they can transfer data from local storage to main storage using a direct access memory channel.

The downside of depending on DMA is that it can cause what is called a cache coherence leak. Basically this means that data is constantly moving and can be stored in multiple temporary locations. The problem is that when your computer is asked to access information, it may not be accessing the latest information. Computer manufacturers can fix this by using special hardware or by programming the operating system to avoid cache consistency loss.




Protect your devices with Threat Protection by NordVPN


Skip to content