Что такое DMA и зачем он нужен?
0:47
DMA, или Direct Memory Access, — это контроллер, который переносит данные между памятью и периферией или между двумя областями памяти без участия процессора. После настройки DMA-канала процессор задаёт источник, приёмник, размер и направление, запускает передачу и может заниматься другими задачами. По завершении DMA генерирует прерывание. Это критично для приложений с высокой пропускной способностью: захват аудио с микрофона, передача больших буферов по SPI на дисплей, непрерывная оцифровка АЦП. Без DMA процессор был бы перегружен обслуживанием периферии и не успевал бы делать полезную работу.