Toward a dataflow/von Neumann hybrid architecture
ISCA '88 Proceedings of the 15th Annual International Symposium on Computer architecture
Resource requirements of dataflow programs
ISCA '88 Proceedings of the 15th Annual International Symposium on Computer architecture
I-structures: data structures for parallel computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Can dataflow subsume von Neumann computing?
ISCA '89 Proceedings of the 16th annual international symposium on Computer architecture
Executing a Program on the MIT Tagged-Token Dataflow Architecture
IEEE Transactions on Computers
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Compilation as partitioning: a new approach to compiling non-strict functional languages
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
P-TAC: a parallel intermediate language
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Dependence flow graphs: an algebraic approach to program dependencies
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Exploitation of APL data parallelism on a shared-memory MIMD machine
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
Executing DSP Applications in a Fine-Grained Dataflow Environment
IEEE Transactions on Software Engineering
Global analysis for partitioning non-strict programs into sequential threads
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Experiences with compiler-directed storage reclamation
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Garbage collection for strongly-typed languages using run-time type reconstruction
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Caching intermediate results for program improvement
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
How much non-strictness do lenient programs require?
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Monsoon: an explicit token-store architecture
25 years of the international symposia on Computer architecture (selected papers)
Static caching for incremental computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Monsoon: an explicit token-store architecture
ISCA '90 Proceedings of the 17th annual international symposium on Computer Architecture
Reducing control overhead in dataflow architectures
Proceedings of the 15th international conference on Parallel architectures and compilation techniques
Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture
Hi-index | 0.00 |
Compilation of the programming language Id Nouveau into machine code for the MIT tagged-token dataflow architecture is thoroughly described. Id Nouveau is a higher-order functional language augmented with a novel data structure facility known as I-Structures. The tagged-token dataflow architecture is a dataflow computer of the dynamic variety. Compilation takes place in two steps. In the first step, the Id Nouveau program is converted into an abstract dataflow graph called a program graph. Program graphs embody no detailed knowledge of the target architecture, yet have a very precise operational semantics. At the same time, they represent data and control flow in a way very convenient for program transformation. Several common optimizing transformations are discussed. The second step of compilation converts the program graph into machine code for the tagged-token architecture, taking into account the machine''s finite resources. Peephole optimizations for machine code are discussed, and a general-purpose optimization algorithm is given.