Computer with Hybrid Von-Neumann/Dataflow Execution Architecture
First Claim
Patent Images
1. A computer with improved function comprising:
- a general computer processor providing;
(a) a memory interface for exchanging data and instructions with an electronic memory;
(b) an arithmetic logic unit receiving input data and instructions from the memory interface to process the same and to provide output data to the memory interface; and
(c) a program counter identifying instructions for execution by the arithmetic logic unit;
a dataflow computer processor providing;
(a) a memory interface for exchanging data and instructions with electronic memory;
(b) multiple functional units interconnected to receive input data from the memory interface or other functional units and provide output data to the memory interface or other functional units; and
(c) an interconnection control circuit controlling the interconnection of the multiple functional units to exchange data according to the dataflow description; and
a transfer interface operating to transfer the execution of an application program between the general purpose computer processor and the dataflow computer processor;
(a) at a beginning of a set of instructions of the application program identified as executable on the dataflow computer processor, switching execution from the general computer processor to the dataflow computer processor and providing to the dataflow computer processor a dataflow description of the set of instructions; and
(b) at a completion of execution of the set of instructions by the dataflow computer processor, returning execution to the general computer processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A dataflow computer processor is teamed with a general computer processor so that program portions of an application program particularly suited to dataflow execution may be transferred to the dataflow processor during portions of the execution of the application program by the general computer processor. During this time the general computer processor may be placed in partial shutdown for energy conservation.
-
Citations
20 Claims
-
1. A computer with improved function comprising:
-
a general computer processor providing; (a) a memory interface for exchanging data and instructions with an electronic memory; (b) an arithmetic logic unit receiving input data and instructions from the memory interface to process the same and to provide output data to the memory interface; and (c) a program counter identifying instructions for execution by the arithmetic logic unit; a dataflow computer processor providing; (a) a memory interface for exchanging data and instructions with electronic memory; (b) multiple functional units interconnected to receive input data from the memory interface or other functional units and provide output data to the memory interface or other functional units; and (c) an interconnection control circuit controlling the interconnection of the multiple functional units to exchange data according to the dataflow description; and a transfer interface operating to transfer the execution of an application program between the general purpose computer processor and the dataflow computer processor; (a) at a beginning of a set of instructions of the application program identified as executable on the dataflow computer processor, switching execution from the general computer processor to the dataflow computer processor and providing to the dataflow computer processor a dataflow description of the set of instructions; and (b) at a completion of execution of the set of instructions by the dataflow computer processor, returning execution to the general computer processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of executing an application program on a hybrid general-purpose dataflow computer having:
-
a general computer processor providing; (a) a memory interface for exchanging data and instructions with an electronic memory; (b) an arithmetic logic unit receiving input data and instructions from the memory interface to process the same and to provide output data to the memory interface; and (c) a program counter identifying instructions for execution by the arithmetic logic unit; a dataflow computer processor providing; (a) a memory interface for exchanging data and instructions with electronic memory; (b) multiple functional units interconnected to receive input data from the memory interface or other functional units and provide output data to the memory interface or other functional units; and (c) an interconnection control circuit controlling the interconnection of the multiple functional units to exchange data according to the dataflow description; and a transfer interface operating to transfer the execution of an application program between the general purpose computer processor and the dataflow computer processor; (a) at a beginning of a set of instructions of the application program executable on the dataflow computer processor, switching execution from the general computer processor to the dataflow computer processor and providing to the dataflow computer processor a dataflow description of the set of instructions; and (b) at a completion of execution of the set of instructions by the dataflow computer processor, returning execution to the general computer processor; the method comprising the steps of; (1) executing a first portion of the application program on the general computer processor while suspending operation of the dataflow processor; and (2) executing a second portion of the application program identified for execution by the dataflow processor on the dataflow processor while suspending operation of the general computer processor.
-
-
18. A computer executing a compiler program to provide an application program for execution on a hybrid general-purpose dataflow computer having:
-
a general computer processor comprising; (a) a memory interface for exchanging data and instructions with an electronic memory; (b) an arithmetic logic unit receiving input data and instructions from the memory interface to process the same and to provide output data to the memory interface; and (c) a program counter identifying instructions for execution by the arithmetic logic unit; a dataflow computer processor providing; (a) a memory interface for exchanging data and instructions with electronic memory; (b) multiple functional units interconnected to receive input data from the memory interface or other functional units and provide output data to the memory interface or other functional units; and (c) an interconnection control circuit controlling the interconnection of the multiple functional units to exchange data according to the dataflow description; and a transfer interface operating to transfer the execution of an application program between the general purpose computer processor and the dataflow computer processor; (a) at a beginning of a set of instructions of the application program previously identified as executable on the dataflow computer processor, switching execution from the general computer processor to the dataflow computer processor and providing to the dataflow computer processor a dataflow description of the set of instructions; and (b) at a completion of execution of the set of instructions by the dataflow computer processor, returning execution to the general computer processor, the computer executing the compiler program to; (1) identify a program portion of an application program executable on the computer program for execution on the dataflow computer processor; (2) convert instructions of the program portion to dataflow descriptions for receipt by the dataflow computer processor to execute the program portions; and (3) place at least one marker in the application program signaling the location of the program portions. - View Dependent Claims (19, 20)
-
Specification