Patent ID: 8291129

Claim:
A data processing device comprising: a reconfigurable circuit capable of being dynamically reconfigured in circuit configuration; a control unit that controls the reconfigurable circuit, wherein the control unit repeatedly executes a first reconfiguration control of reconfiguring, on the reconfigurable circuit, a plurality of first processing circuits and a plurality of first holding circuits corresponding to the plurality of first processing circuits, respectively, a first processing control of repeating processing of inputting mutually different input data to the respective plurality of first processing circuits reconfigured on the reconfigurable circuit by the first reconfiguration control so that the data inputted are processed in parallel therein and of inputting processing result data outputted from the plurality of first processing circuits, respectively to the corresponding first holding circuits so that the data inputted are held therein, until a quantity of the processing result data inputted to any one of the plurality of first holding circuits reaches an upper limit of the pertinent first holding circuit, a second reconfiguration control of reconfiguring a plurality of second processing circuits on the reconfigurable circuit in place of the plurality of first processing circuits while leaving the plurality of first holding circuits even after the first processing control, and a second processing control of inputting, to the respective second processing circuits reconfigured on the reconfigurable circuit by the second reconfiguration control, processing result data held in the corresponding first holding circuits so that the data inputted are processed in parallel therein and if all the processing result data held in the plurality of first holding circuits have been processed by the plurality of second processing circuits, returning to the first reconfiguration control again; and a capacity allotting unit that allots, on the basis of the quantity of the processing result data inputted to the plurality of first holding circuits by the first processing control, respectively, the respective capacities of the plurality of first holding circuits in the first reconfiguration control to be executed subsequently to the second processing control after the first processing control, wherein the capacity allotting unit allots a more capacity for the first holding circuit inputted with a larger quantity of the processing result data inputted in the first processing control, and the control unit reconfigures the first holding circuits having the capacities allotted by the capacity allotting unit as the respective plurality of first holding circuits in the first reconfiguration control after the second processing control.