TI A Multilayered Data Flow Computer Architecture AU John Gurd AU Ian Watson AU John Glauert LT UMCS-80-3-1 OR UMCS AV http http:www.cs.man.ac.ukcsonlycstechrepAbstractsUMCS-80-3-1.html AV email techreports@cs.man.ac.uk MN March YR 1980 AB This paper introduces a multilayered data flow computer architecture based upon a high level language and underlying graphical notation for representing computations. The language, LAPSE, employs a single assignment rule and several more familiar parallel programming constructs. It permits both iteration and recursion. The graphical notation utilises the concept of labels for those tokens which use computational subgraphs reentrantly. The operation of labels in implementing iteration, recursion and data structures is illustrated. The architecture is based on a ring-structure in which binary representations of tokens, known as results, circulate. A processing unit computes results as required by a stored program which represents the computational graph. Each result carries with it a name which is derived from the notational label. Names perform two functions : Firstly they separate different instantiations of reentrant code; secondly they can be associatively matched with other inputs to their dstination node, to determine when the node may be executed. The ring-structure can be pipelined to achieve an instruction execution rate which is limited by the amount of parallel activity permitted by the program and the technology used. An extensible version of the architecture contains many such rings in a multilayered structure whose execution rate is bound solely by the inherent parallelism of the programs running on it. The architecture can also be organised so as to exhibit a high degree of tolerance to hardware component failures.