a dma controller has a cycle register in which the number of data transfer cycles to be performed in response to a single dma transfer request is set , a cycle counter for counting the number of data transfer cycles actually performed , and a transfer counter for holding a value that is updated every time the number of data transfer cycles as held in the cycle register are completed . from the start to the end of the data transfer cycles , the number held in the cycle register is kept unchanged , and the data transfer cycles are performed until the value held in the transfer counter becomes equal to a predetermined value . in this configuration , even in a case where a predetermined number of dma transfer cycles are performed in response to a single dma transfer request and a plurality of dma transfer requests are made in succession , the cpu has to set in the dma controller only once the addresses of the source and destination locations and the values to be held in the cycle register and the transfer counter . this helps alleviate the burden on the cpu and thereby accordingly reduce the lowering of overall system performance .