Прямой доступ к памяти (DMA)

Контроллер DMA является аппаратным устройством, расположенным между устройством ввода-вывода и (обычно) высокопроизводительной шиной системы. Назначение контроллера DMA заключается в перемещении большого массива данных без вмешательства процессора. Контроллер DMA без задействования процессора может быть запрограммирован на перемещение блоков данных в основную память и из нее. На уровне регистров контроллер DMA получает адреса источника и назначения и длину, необходимые для выполнения задачи. Затем, пока основной процессор бездействует, контроллер может посылать порцию данных из устройства в память, из памяти в память и из памяти на устройство.
Многие контроллеры (дисковый, сетевой и графический) имеют встроенный DMA-движок, позволяющий передавать большие объемы данных без участия процессора.