Patent ID: 7882504

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 having information describing a particular task, the information including the task state; a wakeup unit connected to the first interface and configured to detect a sequence of data values and generate an activation signal if the detected sequence matches an expected sequence of data values; and a multi-task controller (MTC) connected to the wakeup unit, the MTC being activated when the activation signal is received from the wakeup unit, and including a scheduler unit, a data flow unit, an executive unit, and a resource manager unit, each unit being separately coupled to the other, 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 data flow unit is configured, when the MTC is activated, 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 resource manager unit is configured, when the MTC is activated, 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, when the MTC is activated, 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, when the MTC is activated, 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; and wherein the number of processing elements and number of tasks are independent of each other.