Multi-channel direct memory access controller

A multi-channel DMAC is provided to realize a multi-channel mode even if a plurality of conventional repeated internal registers are removed, reduce a hardware size, and perform the same multi-channel mode DMA function. The internal register(410) stores channel control information and an operation state according to a DMA operation. A controller(420) controls a data flow by referring to the internal register and compares transmission positions of a source with target address. An interface module(440) controls a bus between a source and a target by receiving control from the controller, and transmits the data. An information obtainer(430) updates the internal register by reading the channel control information and the operation state according to a condition from an external memory(450) storing the control information and the operation state of each channel. The internal register includes a control register storing the control information and an environment setting information storing the operation state.