DMA

Turkish equivalent: Doğrudan bellek erişimiDomain: Embedded Systems

A hardware mechanism that transfers data between peripherals and memory with limited CPU involvement, often using descriptors and interrupt completion.

Data Movement

DMA allows a peripheral or controller to move blocks of data to or from memory without requiring the CPU to copy every byte. The CPU typically configures addresses, lengths and direction, then handles completion or error notification.

This reduces per-byte CPU overhead but introduces ownership and synchronization concerns around the shared buffers.

Cache and Ordering

On some architectures, cache coherence is not automatic for every DMA path. Drivers may need explicit cache maintenance or memory barriers before handing a buffer between CPU and device.

Interrupt rate can also be reduced through batching or descriptor rings.

Source

  • https://docs.kernel.org/6.8/core-api/dma-api-howto.html

Related technical publications

Publications whose title or summary directly references this concept.

Microprocessors

Microprocessor course notes using the 8085 and 8086 to cover registers, buses, instructions, timing, interrupts, serial/parallel I/O, DMA and memory, extended with RTOS scheduling, interrupt latency, priority inversion, cache/DMA visibility, watchdogs, and deadlines.

Red Hat Enterprise Linux System Administration

A practical Red Hat Enterprise Linux system administration reference covering the shell, file systems, users, SELinux, systemd, networking, firewalls, DNF, LVM, storage, virtualization, Podman, automation, image mode, troubleshooting, and performance from fundamentals to advanced operations.