DMA

/ˌdiː.ɛmˈeɪ/ · Noun · Development · Origin: 1965

Definitions

  1. Direct Memory Access — a hardware mechanism that allows peripherals to transfer data directly to or from main memory without involving the CPU for each byte, dramatically reducing processor overhead.

    In plain English: A shortcut that lets hardware devices read and write memory on their own without bothering the CPU. Instead of the processor hand-carrying every piece of data, the device and memory talk directly.

    Example: "We switched from polled I/O to DMA for the ADC and CPU usage dropped from 80% to 3%. The processor was finally free to do actual work."

Origin Story

The hardware shortcut that lets devices bypass the CPU entirely

**Direct Memory Access** was first implemented in the IBM System/360 channel architecture (1964), though the concept existed earlier. The problem: if the CPU had to personally handle every byte transferred between devices and memory, it would spend most of its time just moving data around.

DMA controllers solve this by allowing devices (disk drives, network cards, GPUs) to read and write memory directly, without CPU involvement. The CPU sets up the transfer (source, destination, size), then goes off to do other work. The DMA controller interrupts when done.

Modern systems use sophisticated DMA variants like scatter-gather DMA (transferring non-contiguous memory regions) and RDMA (Remote DMA, used in high-performance computing to access another machine's memory directly). Without DMA, modern I/O performance would be impossible.

Coined by: IBM (System/360 architecture)

Context: IBM System/360, 1964

Fun fact: DMA is also a security concern: devices with DMA access can read or write any memory address, including kernel memory. This is why Thunderbolt ports are potential attack vectors -- a malicious device can DMA its way into your system. IOMMU was invented to prevent this.

Related Terms