Patent ID: 7774591

Claim:
A data processing device comprising: a memory which stores a plurality of software modules; a processing unit which executes said plurality of software modules; a reconfigurable logic element configured to implement a plurality of hardware modules, the plurality of hardware modules performing processing equivalent to processing performed by said plurality of software modules; and a management unit that, in response to a received input data, determines one of a first software module among the plurality of software modules and a first hardware module among the plurality of hardware modules to perform processing on the input data, instructs, when the reconfigurable logic element is configured to implement the first hardware module, the reconfigurable logic element to perform the processing using the first hardware module, and instructs, when the reconfigurable logic element is not configured to implement the first hardware module, the processing unit to perform the processing using the first software module, determines that the first software module is a most frequently used software module among the plurality of software modules, determines a second hardware module among the plurality of hardware modules that is a least frequently used hardware module among the plurality of hardware modules, and configures the reconfigurable logic element to implement the first hardware module and not implement the second hardware module.