A dataflow computer executes a program by receiving, processing and sending out tokens, each containing some data and a tag.
Dependences between instructions are translated into tag matching and tag transformation.
Processing starts when a set of matched tokens arrives at the execution unit.
The instruction which has to be fetched from the instruction store (according to the tag information) contains information about
- what to do with data
- and how to transform the tags.
The matching unit and the execution unit are connected by an asynchronous pipeline, with queues added between the stages.
Some form of associative memory is required to support token matching.
- a real memory with associative access,
- a simulated memory based on hashing,
- or a direct matched memory.