AlgoPlus//structures / io-dma
Read the theory

I/O & DMA

Three ways to move data — and how much of the CPU each one ties up.

Mode
Programmed
Transferred
Mode
Legend
CPU busy
CPU free
DMA controller
AI Tutor Workspace
In a nutshell
There are three ways to move data between a device and memory. With programmed I/O the CPU does everything — it repeatedly checks the device (polling) and copies every single word itself, staying fully busy. Interrupt-driven I/O lets the CPU do other work and step in only when the device signals it is ready. DMA goes further: a dedicated controller moves the whole block directly between device and memory, freeing the CPU until one interrupt announces the transfer is done.
Ready
Press play to begin the cinematic walkthrough.
Programmed I/O ties up the CPU polling and copying every word; interrupt-driven I/O lets the CPU work until the device interrupts; DMA hands the whole block transfer to a controller, freeing the CPU until one completion interrupt.
Key terms
Go deeper in the lesson
Read the full theory, intuition & complexity for I/O & DMA.