DocumentCode :
961640
Title :
A Data Flow Multiprocessor
Author :
Rumbaugh, James
Author_Institution :
Project MAC, Massachusetts Institute of Technology, Cambridge, MA.; General Electric Corporate Research and Development, Schenectady, NY.
Issue :
2
fYear :
1977
Firstpage :
138
Lastpage :
146
Abstract :
This paper presents the architecture of a highly concurrent multiprocessor which runs programs expressed in data flow notation. Sequencing of data flow instruction execution depends only on the availability of operands required by instructions. Because data flow instructions have no side effects, unrelated instructions can be executed concurrently without interference if each has its required operands. The data flow multiprocessor is hierarchically constructed as a network of simple modules. All module interactions are asynchronous. The principal working elements of the machine are a set of activation processors, each of which performs the execution of one invocation of a data flow procedure held in a local memory within the processor. A pipeline of logical units within each processor executes several concurrently active instructions. All data flow operations are performed within single processors except procedure calls, which cause the creation of new activations in other processors, and operations on large data structures, which are performed by structure controller modules using values stored in a central memory. Concurrency within a data flow procedure provides a processor with something to do while a slow operation is being processed. The behavior of the machine has been specified by a formal description language and has been shown to correctly implement the data flow language. The principal advantages of the data flow multiprocessor over conventional designs are reduced complexity of the processor-memory connection, greater use of pipelining, and a simpler representation and implementation of concurrent activity.
Keywords :
Availability; Concurrent computing; Data structures; Flow graphs; Flowcharts; Helium; Interference; Logic; Pipeline processing; Research and development; Asynchronous logic; cache; concurrency; data flow program; data-driven instruction execution; modularity; multiprocessor; parallel processor; pipelining;
fLanguage :
English
Journal_Title :
Computers, IEEE Transactions on
Publisher :
ieee
ISSN :
0018-9340
Type :
jour
DOI :
10.1109/TC.1977.5009292
Filename :
5009292
Link To Document :
بازگشت