Direct Memory Access (DMA) is a protocol for direct memory access. With the DMA protocol, information is exchanged between main memory and mass storage without using the central processing unit (CPU). DMA has its own control logic, the DMA controller, for controlling the system bus
, and is particularly suitable for the fast transfer of large amounts of data.In the case of DMA transfer, the DMA interface is initialized by the central processing unit, and the bus is enabled with a DMA request to the CPU. After this, the DMA interface uses the buses
in thesame way as the central processing unit. DMA has four operating modes: ByteMode with byte-by-byte transfer, Burst
Mode, Halt Mode, in which the CPU is halted until the DMA transfer is completed, and Transparent Mode
, in which theDMA interface and the central processing unit operate
With the ISA bus, up to 16 MB of
the main memory can be addressed for Direct Memory Access (DMA).
With the EISA bus
and the micro-channel architecture, the entire memory area is addressable. A further development of DMA for ATA/IDE is Ultra DMA, which supports data transfer rates of 33 MB/s and 66 MB/s, as well as PIO modes 1, 3 and 4. An alternative to DMA is Programmed Input Output (PIO), in which, however, all transferred data passes through the processor, and Remote DMA (RDMA).