Method and apparatus for managing tasks in a multiprocessor system
AssigneeBroadcom Corporation
InventorsRichard J. Selvaggi, Larry A. Pearlstein
Life of this patent
Estimating the term…
Abstract
In a multiprocessor system, a task control processor may be placed in the path connecting each execution processor to a system bus. Such task control processors may detect the completion of a first task on an associated execution processor and, responsively, generate commands to lead to the initiation of a second task on the same, or another, execution processor. Such task completion detection and task initiation by the task control processors removes, from a central processor or the execution processors, the burden of performing such tasks, thereby improving the efficiency of the entire system.
Claims18
A multiprocessor system comprising:
- a plurality of execution processors, each of said execution processors for executing tasks;
- a plurality of task control processors,
- each task control processor of said plurality of task control processors being in communication with at least one of said plurality of execution processors for controlling initiation of execution of one of said tasks on said at least one of said plurality of execution processors;
- said each task control processor including memory for storing execution control instructions and task initiation instructions, said execution control instructions to be executed by said each task control processor to control delivery of said task initiation instructions to said at least one of said plurality of execution processors;
- and
- a central processor in communication with said task control processors for providing said execution control instructions to said task control processors, wherein said execution control instructions, when executed by a first task control processor among said plurality of task control processors, allow said first task control processor to:
- detect completion of a given task on a specific one of said at least one of said plurality of execution processors, and
- control delivery of state register manipulation commands from said first task control processor to a second task control processor.
At a first task control processor, a method of managing tasks in a multiprocessor system comprising:
- receiving execution control instructions;
- receiving a task initiation instruction;
- according to said execution control instructions:
- transmitting said task initiation instruction to an associated execution processor to initiate execution of a first task;
- detecting completion of said first task on said associated execution processor;
- and
- responsive to said detecting said completion, controlling delivery of a state register manipulation command from said first task control processor to a second task control processor, said each of said first and said second task control processors including memory for storing said execution control instructions and said task initiation instruction;
- and
- a central processor communicatively coupled to each of said first and said second task control processors for providing said execution control instructions and said task initiation instruction.
A method of managing tasks in a multiprocessor system comprising:
- receiving execution control instructions by a task control processor of said multiprocessor system;
- receiving a task initiation instruction by said task control processor;
- receiving a state register manipulation command by said task control processor, said state register manipulation command setting a state of a state register;
- according to said execution control instructions:
- determining said state of said state register;
- and
- responsive to said determining said state of said state register, controlling delivery of said task initiation instruction to an associated execution processor of said task control processor to initiate execution of a task.
A task control processor in communication with an execution processor, said task control processor comprising:
- a memory for storing execution control instructions and task initiation instructions;
- and
- a task control processor core for:
- receiving said execution control instructions and said task initiation instructions from said memory, said task initiation instructions comprising write commands to said execution processor;
- and
- executing said execution control instructions to control delivery of said task initiation instructions to said execution processor, wherein said memory is a first-in-first-out queue adapted to maintain said execution control instructions in an order relative to other execution control instructions in said queue.
Dependencies are inferred from the claim text.