Patent ID: 6999994
Filing Date: 2006-02-14
Classification: G06F

Abstract:
1. The hardware device for concurrently processing a plurality of tasks associated with an algorithm which includes a number of processes some of which are dependant on binary decisions, said device comprising: a plurality of task units for processing data, making decisions and/or processing data and making decisions; and a task interconnection logic means interconnecting the task units for communicating actions from a source task unit to a destination task unit; and each of said task units including a processor for executing the steps of the associated task in response to a received request action and a status manager for handling actions from source task units and building actions to be sent to destination task units, wherein said actions communicated from a source task unit to a destination task unit are START used to activate the processor of said destination task unit, KILL used to cancel the task associated with said destination task unit and VALID used to confirm that task associated with said destination task unit corresponds to a decision included in said task, wherein said status manager activates said processor for processing the steps of the task associated with said destination task unit when the action received from a source task unit is START, and wherein each of said task units further comprises a plurality of control/data registers each corresponding, for the task associated with said task unit, to an instance of the algorithm flow, each one of said control/data registers comprising a control field composed of a completion bitset to 1 when the associated task is completed, a validation bit set to 1 when the associated task is validated and a L/R bit indicating that the output in the algorithm flow is left or right when said task includes a decision, and wherein each of said control/data registers includes a data field which is loaded if necessary by said status manager activated by an action received from a source task unit, said processor using these data for executing the task associated with said task unit and replacing them if necessary.