Sequencing and fan-out mechanism for causing a set of at least two sequential instructions to be performed in a dataflow processing computer
AssigneeThe United States of America as represented by the United States Department of Energy
InventorsVictor G. Grafe, James E. Hoch
Life of this patent
Estimating the term…
Abstract
A sequencing and data fanout mechanism is provided for a dataflow processor is activated by an input token which causes a sequence of operations to occur by initiating a first instruction to act on data contained within the token and then executing a sequential thread of instructions identified by either a repeat count and an offset within the token, or by an offset within each preceding instruction.
Claims18
An apparatus for causing a set of at least two sequential instructions to be performed in a dataflow processing computer, comprising:
- (a) an input means to accept an input token, said input token being a unit communication in said dataflow processing computer, said input token comprising a data value and an instruction identifier;
- (b) identifying means operatively connected to said input means to identify said set of sequential instructions from said instructions identifier, said set of sequential instructions to be executed upon the arrival of said input token;
- (c) means to retrieve said set of sequential instructions in a predetermined order from a memory wherein each instruction of said set of sequential instructions is stored in a memory location of said memory, said retrieving means operatively connected to said identifying means;
- (d) means to transmit each instruction and all data required by each instruction of said set of sequential instructions in said predetermined order to an execution unit;
- and
- (d) means to determine that one of said instructions is a last instruction of said set of sequential instructions and to prepare said input means to receive a second input token.
A method for causing a set of at least two sequential instructions to be performed in dataflow computer processing in a dataflow machine, comprising the steps of:
- (a) inputting to a processor node of said dataflow machine a unit of communication called an input token comprising a data value and at least one instruction identifier which is an address of a memory location in a memory in said processor, and in response thereto
- (b) identifying said set of sequential instructions stored in said memory of said processor node, at least one instruction of said set of sequential instructions identified by said instruction identifier of said input token;
- and in response thereto
- (c) retrieving said set of sequential instructions in a predetermined order from said memory;
- and
- (d) transmitting said set of sequential instructions and all data required by each instruction of said set in said predetermined order to an execution unit of said processor node wherein said set of sequential instructions are executed.
A method for causing a set of at least two sequential instructions to be performed in dataflow processing in a dataflow machine having at least one processor node, comprising the steps of:
- (a) inputting to said processor node an input token identifying said set of sequential instructions, said input token having a data value, an instruction identifier to identify the location in an addressable memory of said processor node of an instruction;
- a frame identifier to identify the location in said addressable memory of any stored intermediate values, synchronization information to control scheduling of said set of sequential instructions, a repeat count to indicate the number of instructions in said set of sequential instructions, and an offset to identify the displacement from said memory location of said instruction to a location in said addressable memory of a successor instruction of said set of sequential instructions;
- (b) retrieving an instruction of said set of sequential instructions from a memory location identified by said instruction identifier, and retrieving any intermediate values, and preexisting values, and other data required for said instruction;
- (c) transmitting said instruction and all data required by said instruction to an execution unit of said processor node if said synchronization information indicates to do so;
- (d) performing said operation on said data and generating and storing said intermediate values and generating an output token if said instruction and said synchronization information so indicates;
- and
- (e) decrementing said repeat count.
A method of repeating the use of data in a dataflow machine having at least one processor node, comprising:
- (a) inputting to said processor node an input token identifying a set of at least two sequential instructions, said input token having a data value, an instruction identifier to identify the location in an addressable memory of said processor node of an instruction;
- A frame identifier to identify a location in said addressable memory of any stored intermediate values, synchronization information to control scheduling of said set of instructions;
- (b) retrieving an instruction of said set of sequential instructions from a memory location identified by said input token, said instruction having an offset to identify the displacement from said memory location of said instruction to a location in said addressable memory of a successor instruction of said set of sequential instructions, any intermediate values, preexisting values, and other data required for said set of sequential instructions;
- (c) transmitting said instruction and all data required by said instruction to an execution unit of said processor node if said synchronization information indicates to do so;
- and
- (d) performing said operation on said data, and generating and storing said intermediate values and generating on output token if said instruction and said synchronization information so indicates.
Dependencies are inferred from the claim text.