Patent ID: 7823161

Claim:
A computing system comprising: one or more processing elements; a memory having a first interface for connecting to a host processor and a second interface, the memory being divided into a plurality of logical partitions each having a particular size, at least one partition being a system partition that contains information regarding the size of a partition that describes a particular task including a state of the task; and wherein a task partition includes one or more task data registers and task code and the system partition includes a first specifier J giving a number of words per increment, a second specifier M giving a number of increments per data register, and a third specifier N giving a number of data registers offset to a starting location of the task code in the task partition, said first and second specifiers being combined to give a starting location of the one or more task data registers in the task partition, and said first, second and third specifiers being combined to give a starting location of the task code in the task partition, said task partition having a location defining end of the task partition; a multi-task controller (MTC) that includes a scheduler unit, a data flow unit, an executive unit, and a resource manager unit, each unit coupled to the other units, wherein the data flow unit is configured to transfer data between the second interface of the memory and one of either the scheduler unit, the executive unit, or resource manager unit, wherein the scheduler unit is coupled to the second interface of the memory and to the processing elements, the data flow unit is coupled to the second interface of the memory, and the resource manager unit is coupled to the one or more processing elements, wherein the resource manager unit is configured to find an available processing element for carrying out a function of a task and to assign a processing element to a current task by providing a linkage between said available processing element and the task, wherein the scheduler unit is configured to select a task as the current task, to obtain the size and state of the current task, and to select an assigned processing element to carry out a function of the current task, and wherein the executive unit is configured to decode instructions relating to a task and request the resource manager unit to set up a processing element to carry out a function of a task; and wherein the number of processing elements and number of tasks are independent of each other.