Patent ID: 7823159

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, at least one partition being a system partition that contains information that describes a particular task out of a number of tasks including a state of the task; and 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 the resource manager unit, wherein the scheduler unit is coupled to the second interface of the memory and scheduler unit and the resource manager unit are each coupled to said 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 state of the current task, and select an assigned processing element to carry out a function of the current task, wherein the executive unit is configured to decode instructions relating to a task and request the resource manager to set up a processing element to carry out a function of a task; wherein the processing elements and the scheduler unit, the data flow unit, the executive unit, and the resource manager unit each reside in one of several clock domains, said clock domains being synchronous to each other and separated in time by multiples of one-half of a clock period, said multiple being odd for units having a higher frequency of use and even for units having a lower frequency of use; and wherein the number of said one or more processing elements and the number of tasks are independent of each other.