Patent ID: 7984442

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, including at least one task partition that includes a task status register, a first set of data registers and a first code space, wherein each of the first set of data registers is configured to hold a data operand, and wherein the first code space is configured to hold task operators, and a system partition that includes a system status register, a second set of data registers, and a second code space, wherein each of the second set data registers is configured to hold a multi-character name for a task data register in the task partition, and wherein the second code space is configured to hold a table of ASCII commands; a multi-task controller (MTC) that includes a scheduler unit, a data flow unit, an executive unit, and a resource manager unit, wherein said scheduler unit, said data flow unit, said executive unit and said resource manager unit are coupled to each other, 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, wherein the scheduler unit and the resource manager unit are each 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 a 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 interpret task operators in the first code space including decoding instructions relating to a task and to 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 the number of tasks are independent of each other.