US8190862B2

Hardware device for processing the tasks of an algorithm in parallel

Summary by NHIP

Parallel binary decision processor

The hardware device concurrently processes algorithm tasks using multiple units linked by interconnection logic. Each unit contains a processor, a status manager, and registers with completion, validation, and L/R bits to track binary decision outcomes.

Claim Score by NHIP

Read claim 13, the broadest

Abstract

A hardware device for processing the tasks of an algorithm of the type having a number of processes the execution of some of which depend on binary decisions has a plurality of task units (10, 12, 14), each of which are associated with a task defined as being either one process or one decision or one process together with a following decision. A task interconnection logic block (16) is connected to each task unit for communicating actions from a source task unit to a destination task unit. Each task unit includes a processor (18) for processing the steps of the associated task when a received action requests such a processing. A status manager (20) handles actions coming from other task units and builds actions to be sent to other task units.

US8190862B2, drawing sheet 1
Sheet 1 of 5

Term

Term ended

Expired 1 June 2023, 3.3 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

13 claims: 3 independent, 10 dependent

  1. 1
    A hardware device for concurrently processing a plurality of tasks associated with an algorithm which includes a number of processes, some of the processes being dependent on binary decisions, said device comprising:a plurality of task units for processing data, making decisions and/or processing data and making decisions, including at least one source task unit and at least one destination task unit;a task interconnection logic means interconnecting the plurality of task units for communicating actions from the at least one source task unit to the at least one destination task unit;and each of said task units including: a processor for executing steps of a task associated with a task unit of the task units in response to a received request action;a status manager for handling the actions from the at least one source task unit and building the actions to be sent to the at least one destination task unit;and a plurality of control/data registers each corresponding, for the task associated with the task unit, to an instance of the algorithm, each one of said control/data registers comprising a control field composed of a completion bit set to 1 when the task associated with the task unit is completed, a validation bit set to 1 when the task associated with the task unit is validated and a L/R bit indicating that the output in the algorithm flow is left or right when the task associated with the task unit includes a decision.
  2. 12
    A hardware device for concurrently processing a plurality of tasks associated with an algorithm which includes a number of processes, some of the processes being dependant on binary decisions, said device comprising:a plurality of task units for processing data, making decisions and/or processing data and making decisions, including at least one source task unit and at least one destination task unit;a task interconnection logic means interconnecting the plurality of task units for communicating actions from the at least one source task unit to the at least one destination task unit;and each of said task units including: a processor for executing steps of a task associated with a task unit of the task units in response to a received request action;and a status manager for handling the actions from the at least one source task unit and building the actions to be sent to the at least one destination task unit, wherein said actions communicated from the at least one source task unit to the at least one destination task unit are START used to activate the processor of the at least one destination task unit, KILL used to cancel a task associated with the at least one destination task unit and VALID used to confirm that task associated with the at least one destination task unit corresponds to a decision included in said task associated with the at least one destination task unit, wherein said status manager activates said processor for processing steps of the task associated with the at least one destination task unit when at least one of the actions received from the at least one source task unit is START, wherein each of said plurality of task units further comprises a plurality of control/data registers each corresponding, for the task associated with the task unit, to an instance of the algorithm, each one of said control/data registers comprising a control field composed of a completion bit set to 1 when the task associated with the task unit is completed, a validation bit set to 1 when the task associated with the task unit is validated and a L/R bit indicating that the output in the algorithm flow is left or right when the task associated with the task unit includes a decision, and wherein each one of said plurality of task units further comprises two configuration registers CONFIG.L and CONFIG.R which are respectively selected by the binary value of said bit L/R of the control/data register of the instance being considered, the contents of said configuration registers being loaded at the beginning of the algorithm processing for defining a task to be activated, an action to be performed and an instance to be considered.
  3. 13
    Broadest claimClaim Score 45, average(NHIP)A hardware device for concurrently processing a fixed set of predetermined tasks associated with an algorithm which includes a number of processes, some of the processes being dependent on binary decisions, said device comprising:a plurality of task units for processing data, making decisions and/or processing data and making decisions, including source task units and destination task units;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 only a particular single task of the fixed set of predetermined tasks associated with the algorithm in response to a received request action;and a status manager for handling the actions from the source task units and building the actions to be sent to the destination task units, wherein the processor is for repetitively executing only the particular single task in response to the received request action.