<p>Provided is a DMA controller which can realize real time control of DMA transfer associated with a peripheral device which operates periodically at a low cost and with a low power consumption. The DMA controller includes: a counter which counts time; a counter comparator which compares a value of the counter to a counter value indicating a scheduled time of the DMA transfer; a peripheral device read unit which reads a register of a peripheral device and acquires its state; and a state comparator which compares the value of the peripheral device register to the DMA transfer start condition. When triggered by a comparison result obtained by the counter comparator, the DMA controller updates the counter value indicating the scheduled time of the DMA transfer, reads the register of the peripheral device, performs a comparison by using the state comparator, and performs DMA transfer if the comparison result obtained by the state comparator satisfies a condition according to a specified order.</p>