<p>A data transfer device for successively storing data in a data storage unit or successively reading data from the data storage unit in data processing using an array of m rows x n columns, comprises a data storage unit for retaining data which have been stored in storage positions specified by row addresses indicating the positions in the row direction and column addresses indicating the positions in the column direction; a transfer address generation unit for generating transfer addresses comprising the row addresses and the column addresses so that the storage positions for transferred data are successively specified in each of storage blocks having a predetermined size and arranged in the row direction of the data storage unit; and a transfer control unit for controlling data transfer to the data storage unit by using the transfer addresses generated by the transfer address generation unit.</p>