System, method and software for static and dynamic programming and configuration of an adaptive computing architecture
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a system, method and software for programming and configuring an adaptive computing architecture or device. The invention utilizes program constructs which correspond to and map directly to the adaptive hardware having a plurality of reconfigurable nodes coupled through a reconfigurable matrix interconnection network. A first program construct corresponds to a selected node. A second program construct corresponds to an executable task of the selected node and includes one or more firing conditions capable of determining the commencement of the executable task of the selected node. A third program construct corresponds to at least one input port coupling the selected node to the matrix interconnect network for input data to be consumed by the executable task. A fourth program construct corresponds to at least one output port coupling the selected node to the matrix interconnect network for output data to be produced by the executable task;
139 Citations
69 Claims
-
1-53. -53. (canceled)
-
54. A computer based system for programmatically reconfiguring an adaptive computing engine (ACE) utilizing a programming language, the ACE having a plurality of heterogeneous nodes that are reconfigurably connected across a matrix interconnection network (MIN) connection domain, the system comprising:
-
a module construct for receiving a plurality of program instructions and data to be processed on the ACE, the module construct configured to provide a first direct mapping from the programming language to an ACE node identifier domain;
a process construct for instantiating the plurality of program instructions and data as a plurality of threads or tasks on the ACE, the process construct configured to provide a second direct mapping from the programming language to an ACE port identifier domain; and
a pipe construct for providing communication between the plurality of threads or tasks, the pipe construct configured to provide a third direct mapping from the programming language to the MIN connection domain. - View Dependent Claims (55, 56, 57, 58, 59, 60, 61)
-
-
62. A method for programmatically reconfiguring an adaptive computing engine (ACE) utilizing a scripting language, the ACE having a plurality of heterogeneous nodes that are reconfigurably connected across a matrix interconnection network (MIN) connection domain, the method comprising:
-
instantiating a module construct, the module construct having a correspondence to a selected one of the plurality of heterogeneous nodes, wherein the module construct is configured to provide a first direct mapping from the programming language to an ACE node identifier domain;
instantiating a process construct, the process construct having a correspondence to an executable task of the selected one, wherein the process construct is configured to provide a second direct mapping from the programming language to an ACE port identifier domain; and
instantiating a pipe construct, the pipe construct having a correspondence with at least one input port and at least one output port, the pipe construct configured to couple the selected one with the MIN connection domain, wherein the pipe construct configured to provide a third direct mapping from the programming language to the MIN connection domain. - View Dependent Claims (63, 64, 65, 66, 67, 68, 69)
-
Specification