Patent ID: 7949860

Claim:
A processor that cyclically executes a plurality of threads, wherein an operation is repeatedly executed in each of the plurality of threads, the operation being performed by a predetermined number of operation cells of a plurality of operation cells one by one in a sequential order, the predetermined number being different for each thread of the plurality of threads, and wherein the processor comprises: an operation circuit including the plurality of operation cells each having reconfigurable configurations and connections therebetween; a reconfiguration unit operable to reconfigure one operation cell of the plurality of operation cells, based on a corresponding piece of configuration information of a plurality of pieces of configuration information; a configuration information storing unit storing a plurality of configuration information sets, such that each respective configuration information set of the plurality of configuration information sets corresponds, in a one-to-one relationship, with a respective thread of the plurality of threads, and such that each respective configuration information set of the plurality of configuration information sets includes the plurality of pieces of configuration information, each respective piece of configuration information of the plurality of pieces of configuration information corresponding, in a one-to-one relationship, with a respective operation cell of the plurality of operation cells; and a control unit operable to (i) cause the reconfiguration unit to sequentially reconfigure each respective operation cell, of the plurality of operation cells, that has a configuration for a current thread, of the plurality of threads, when the respective operation cell has completed a last operation in the current thread, based on a piece of configuration information, of the plurality of pieces of configuration information, corresponding to the respective operation cell that has completed the last operation, the piece of configuration information corresponding to the respective operation cell that has completed the last operation being from a configuration information set, of the plurality of configuration information sets, that corresponds to a next thread of the plurality of threads, and (ii) cause a concurrent execution of (a) an operation cell, of the plurality of operation cells, that has a configuration for the current thread and (b) an operation cell, of the plurality of operation cells, that has a configuration for the next thread.