Patent ID: 8370540

Claim:
A data transfer control device that selects one of a plurality of DMA channels and transfers data to or from memory, the data transfer control device comprising: a request holding section configured to hold a certain number of data transfer requests of the plurality of DMA channels; and a request rearranging section configured to select and rearrange the data transfer requests that are held in a basic transfer order so that the data transfer requests of each of the plurality of DMA channels are successively outputted for a number of successive transfers set in advance; wherein a part of the plurality of DMA channels belongs to a first channel group associated with a first priority level, and another part of the plurality of DMA channels belongs to a second channel group associated with a second priority level which is lower in priority than the first priority level, wherein the request holding section comprises: a first request holding section configured to hold a data transfer request of a DMA channel belonging to the first channel group; and a second request holding section configured to hold a data transfer request of a DMA channel belonging to the second channel group, wherein the request rearranging section comprises: a first request rearranging section configured to select and rearrange the data transfer requests that are held in the basic transfer order by the first request holding section so that the data transfer requests of each of the plurality of DMA channels are successively outputted for a first number of successive transfers set in advance; a second request rearranging section configured to select and rearrange the data transfer requests that are held in the basic transfer order by the second request holding section so that the data transfer requests of each of the plurality of DMA channels are successively outputted for a second number of successive transfers set in advance; and a priority level arbitration section wherein, each time it turns valid to successively select a number of first sets, each of the first sets comprising the first number of successive transfers selected by the first request rearranging section, it turns valid to successively select a number of second sets, each of the second sets comprising the second number of successive transfers selected by the second request rearranging section.