In this chapter we discuss the use of direct memory access (DMA) to relieve the processor of the costs of transferring blocks of data between memory and peripherals. Consider the following idiom where a block data is read from a peripheral by repeatedly waiting for a status flag and then reading an item from the peripheral