Skip to main content

The Function Processor: An Architecture for Efficient Execution of Recursive Functions

  • Conference paper
Parle ’91 Parallel Architectures and Languages Europe

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 505))

  • 711 Accesses

Abstract

The Function Processor is a wavefront array architecture, i.e., a regular structure of locally interconnected processing elements called Function Cells, which operate according to the data flow execution principle. By means of a compilation method developed for this architecture, data flow graphs for functional programs can be created and mapped onto the processor array, so that each Function Cell is assigned the execution of one graph node. The main result presented in this paper is a Function Cell architecture which has been designed to support the functionality required by these data flow graphs. Some implementation results are also presented.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arvind and Rishiyur S. Nikhil. Executing a program on the MIT taggedtoken dataflow architecture. In Proceedings of the PARLE Conference, June 1987.

    Google Scholar 

  2. Arvind. A data flow architecture with tagged tokens. Technical report, MIT, Cambridge, Massachusetts, June 1980.

    Google Scholar 

  3. L. Augustsson. Compiling pattern matching. In Proceedings 1985 Conference on Functional Programming Languages and Computer Architecture, Nancy, France, 1985.

    Chapter  Google Scholar 

  4. L. Augustsson. Compiling Lazy Functional Languages, Part II. PhD thesis, Dept. of Computer Science, Chalmers University of Technology, Göteborg, Sweden, November 1987.

    Google Scholar 

  5. J. Backus. Can programming be liberated from the von Neumann style? A functional style and its algebra of programs. Communications of the ACM, 21: 280–294, August 1978.

    Article  MathSciNet  Google Scholar 

  6. David E. Culler and Gregory M. Papadopoulos. The explicit token store. Journal of Parallel and Distributed Computing, 10 (4): 289–308, December 1990.

    Article  Google Scholar 

  7. Jack B. Dennis. Data flow supercomputers. IEEE Computer, pages 48–56, November 1980.

    Google Scholar 

  8. J. Hughes. Why functional programming matters. The Computer Journal, 32 (2): 98–107, 1989.

    Article  Google Scholar 

  9. T. Johnsson. Lambda lifting: Transforming programs to recursive equations. In Proceedings 1985 Conference on Functional Programming Languages and Computer Architecture, Nancy, France, 1985.

    Chapter  Google Scholar 

  10. T. Johnsson. Compiling Lazy Functional Languages. PhD thesis, Dept. of Computer Science, Chalmers University of Technology, Göteborg, Sweden, February 1987.

    Google Scholar 

  11. S-Y. Kung, K.S. Arun, Ron J. Gal-Ezer, and D.V. Bhaskar Rao. Wavefront array processor: Language, architecture and applications. IEEE Transactions on Computers, C-31(11): 1054–1066, November 1982.

    Article  Google Scholar 

  12. S-Y. Kung, S.C. Lo, S.N. Jean, and J.N. Hwang. Wavefront array processors — concept to implementation. IEEE Computer, pages 18–33, July 1987.

    Article  Google Scholar 

  13. Israel Koren, Bilha Mendelson, Irit Pedel, and Gabriel M. Silberman. A data-driven VLSI array for arbitrary algorithms. IEEE Computer, pages 30–43, October 1988.

    Google Scholar 

  14. H.T. Kung. Why systolic architectures? IEEE Computer, (1): 37–46, January 1982.

    Article  Google Scholar 

  15. S-Y. Kung. VLSI Array Processors. Information and System Sciences Series. Prentice Hall, Englewood Cliffs, New Jersey 07632, USA, 1988.

    Google Scholar 

  16. J.R. McGraw. Data flow computing: System concepts and design strategies. In S.P. Kartashev and S.I. Kartashev, editors, Designing and Programming Modern Computer Systems, Vol.III, chapter 2, pages 73–189. Prentice Hall, 1989.

    Google Scholar 

  17. W. Moore, A. McCabe, and R. Urquhart, editors. Systolic Arrays. Adam Hilger, 1987.

    Google Scholar 

  18. Rea89] Chris Reade. Elements of Functional Programming. Addison-Wesley, 1989.

    Google Scholar 

  19. Mary Sheeran. Designing regular array architectures using higher order functions. In Proceedings 1985 Conference on Functional Programming Languages and Computer Architecture, volume 201, pages 220–237. Springer Verlag, 1985.

    Google Scholar 

  20. Jesper Vasell. Implementing functional programming languages on wavefront arrays. Licentiate thesis 84L, Department of Computer Engineering, Chalmers University of Technology, 412 96 Göteborg, Sweden, April 1990.

    Google Scholar 

  21. Arthur H. Veen. Dataflow machine architecture. ACM Computing Surveys, 18 (4), December 1986.

    Google Scholar 

  22. Jonas Vase11 and Jesper Vasell. A functional programming technique for programmable wavefront arrays. In E.F. Deprettere, editor, Algorithms and Parallel VLSI Architectures. Elsevier, Amsterdam, The Netherlands, (to appear in 1991 ).

    Google Scholar 

  23. Shlomit Weiss, Ilan Spillinger, and Gabriel M. Silberman. Architectural improvements for data-driven VLSI processing arrays. In Proceedings of the 1989 Conference on Functional Programming Languages and Computer Architecture, pages 243–259, London, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Vasell, J., Vasell, J. (1991). The Function Processor: An Architecture for Efficient Execution of Recursive Functions. In: Aarts, E.H.L., van Leeuwen, J., Rem, M. (eds) Parle ’91 Parallel Architectures and Languages Europe. Lecture Notes in Computer Science, vol 505. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-25209-3_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-25209-3_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-23206-4

  • Online ISBN: 978-3-662-25209-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics