Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
A COMPILER FOR THE MIT TAGGED-TOKEN DATAFLOW ARCHITECTUREAugust 1986
1986 Technical Report
Publisher:
  • Massachusetts Institute of Technology
  • 201 Vassar Street, W59-200 Cambridge, MA
  • United States
Published:01 August 1986
Bibliometrics
Skip Abstract Section
Abstract

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.

Cited By

  1. ACM
    Takano S (2017). Performance Scalability of Adaptive Processor Architecture, ACM Transactions on Reconfigurable Technology and Systems, 10:2, (1-22), Online publication date: 11-Apr-2017.
  2. Armstrong T, Wozniak J, Wilde M and Foster I Compiler techniques for massively scalable implicit task parallelism Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, (299-310)
  3. Wozniak J, Armstrong T, Wilde M, Katz D, Lusk E and Foster I Swift/T Proceedings of the 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing, (95-102)
  4. ACM
    Wozniak J, Armstrong T, Wilde M, Katz D, Lusk E and Foster I Swift/T Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming, (309-310)
  5. ACM
    Wozniak J, Armstrong T, Wilde M, Katz D, Lusk E and Foster I (2013). Swift/T, ACM SIGPLAN Notices, 48:8, (309-310), Online publication date: 23-Aug-2013.
  6. Fourtounis G, Papaspyrou N and Rondogiannis P The Generalized Intensional Transformation for Implementing Lazy Functional Languages Proceedings of the 15th International Symposium on Practical Aspects of Declarative Languages - Volume 7752, (157-172)
  7. Smith A, Nagarajan R, Sankaralingam K, McDonald R, Burger D, Keckler S and McKinley K Dataflow Predication Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture, (89-102)
  8. ACM
    Petersen A, Putnam A, Mercaldi M, Schwerin A, Eggers S, Swanson S and Oskin M Reducing control overhead in dataflow architectures Proceedings of the 15th international conference on Parallel architectures and compilation techniques, (182-191)
  9. ACM
    Papadopoulos G and Culler D Monsoon 25 years of the international symposia on Computer architecture (selected papers), (398-407)
  10. ACM
    Schauser K, Culler D and Goldstein S Separation constraint partitioning Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (259-271)
  11. ACM
    Liu Y and Teitelbaum T Caching intermediate results for program improvement Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, (190-201)
  12. ACM
    Schauser K and Goldstein S How much non-strictness do lenient programs require? Proceedings of the seventh international conference on Functional programming languages and computer architecture, (216-225)
  13. ACM
    Aditya S, Flood C and Hicks J Garbage collection for strongly-typed languages using run-time type reconstruction Proceedings of the 1994 ACM conference on LISP and functional programming, (12-23)
  14. ACM
    Aditya S, Flood C and Hicks J (2019). Garbage collection for strongly-typed languages using run-time type reconstruction, ACM SIGPLAN Lisp Pointers, VII:3, (12-23), Online publication date: 1-Jul-1994.
  15. ACM
    Hicks J Experiences with compiler-directed storage reclamation Proceedings of the conference on Functional programming languages and computer architecture, (95-105)
  16. ACM
    Traub K, Culler D and Schauser K Global analysis for partitioning non-strict programs into sequential threads Proceedings of the 1992 ACM conference on LISP and functional programming, (324-334)
  17. ACM
    Traub K, Culler D and Schauser K (1992). Global analysis for partitioning non-strict programs into sequential threads, ACM SIGPLAN Lisp Pointers, V:1, (324-334), Online publication date: 1-Jan-1992.
  18. ACM
    Ju D and Ching W Exploitation of APL data parallelism on a shared-memory MIMD machine Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming, (61-72)
  19. ACM
    Ju D and Ching W (1991). Exploitation of APL data parallelism on a shared-memory MIMD machine, ACM SIGPLAN Notices, 26:7, (61-72), Online publication date: 1-Jul-1991.
  20. ACM
    Pingali K, Beck M, Johnson R, Moudgill M and Stodghill P Dependence flow graphs: an algebraic approach to program dependencies Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (67-78)
  21. Arvind K and Nikhil R (2019). Executing a Program on the MIT Tagged-Token Dataflow Architecture, IEEE Transactions on Computers, 39:3, (300-318), Online publication date: 1-Mar-1990.
  22. ACM
    Papadopoulos G and Culler D (1990). Monsoon, ACM SIGARCH Computer Architecture News, 18:2SI, (82-91), Online publication date: 1-Jun-1990.
  23. ACM
    Papadopoulos G and Culler D Monsoon Proceedings of the 17th annual international symposium on Computer Architecture, (82-91)
  24. ACM
    Ottenstein K, Ballance R and MacCabe A The program dependence web: a representation supporting control-, data-, and demand-driven interpretation of imperative languages Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation, (257-271)
  25. ACM
    Ottenstein K, Ballance R and MacCabe A (1990). The program dependence web: a representation supporting control-, data-, and demand-driven interpretation of imperative languages, ACM SIGPLAN Notices, 25:6, (257-271), Online publication date: 1-Jun-1990.
  26. ACM
    Nikhil R Can dataflow subsume von Neumann computing? Proceedings of the 16th annual international symposium on Computer architecture, (262-272)
  27. ACM
    Nikhil R (1989). Can dataflow subsume von Neumann computing?, ACM SIGARCH Computer Architecture News, 17:3, (262-272), Online publication date: 1-Jun-1989.
  28. ACM
    Traub K Compilation as partitioning: a new approach to compiling non-strict functional languages Proceedings of the fourth international conference on Functional programming languages and computer architecture, (75-88)
  29. ACM
    Ariola Z and Arvind P-TAC: a parallel intermediate language Proceedings of the fourth international conference on Functional programming languages and computer architecture, (230-242)
  30. ACM
    Iannucci R (1988). Toward a dataflow/von Neumann hybrid architecture, ACM SIGARCH Computer Architecture News, 16:2, (131-140), Online publication date: 17-May-1988.
  31. ACM
    Culler D and Arvind (1988). Resource requirements of dataflow programs, ACM SIGARCH Computer Architecture News, 16:2, (141-150), Online publication date: 17-May-1988.
  32. Iannucci R Toward a dataflow/von Neumann hybrid architecture Proceedings of the 15th Annual International Symposium on Computer architecture, (131-140)
  33. Culler D and Arvind Resource requirements of dataflow programs Proceedings of the 15th Annual International Symposium on Computer architecture, (141-150)
Contributors

Recommendations