Skip to main content

CAST A Processor Architecture for the Efficient Execution of Functional Programs

  • Conference paper
Book cover Architektur von Rechensystemen

Part of the book series: Informatik aktuell ((INFORMAT))

Abstract

This paper presents a processor architecture which supports the execution of functional languages. The implementation of functional languages poses similar needs as conventional languages on computer architectures, but with some additions and slightly different weights. CAST is a general purpose 40-bit RISC1 processor with a Harvard2 architecture. It has a four-stage pipeline for efficient execution of programs. CAST has 128 general purpose registers in addition to four on-chip stacks with 32 elements each. The stacks represent a synthesis of pure stacks and variable sized register windows. Two stacks are easily interchangeable to support a fast subroutine call mechanism and efficient parameter passing. The tagged architecture supports runtime type-checking by means of a validation of operand types simultaneously with the execution of primitive functions. The versatile reduced instruction set with register-to-register, load/store, call and conditional branch instructions offers a powerful basis for an efficient implementation of functional languages. A TTL prototype implementation executes some benchmark programs similar fast as a RISC processor highly optimized C programs, despite a four fold slower cycle time.

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 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.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. C. Aßmann. Ein syntaxgesteuerter Editor für eine funktionale Sprache. Master’s thesis, Institut für Informatik und praktische Mathematik, Universität Kiel, 1987.

    Google Scholar 

  2. C. Aßmann. A Hardware Architecture for the Efficient Execution of Functional Programs, internal paper, 1990.

    Google Scholar 

  3. W. Bosy. Design und Implementierung eines Übersetzers für eine Hardware-Reduktionsmaschine. Master’s thesis, Institut für Informatik und praktische Mathematik, Universität Kiel, 1991.

    Google Scholar 

  4. D. Gärtner. π-Red+: ein codeausführendes Reduktionssystem zur Transformation von Programmen eines angewandten λ-Kalküls. In Architektur von Rechensystemen, 1992. 12. GI/ITG Fachtagung.

    Google Scholar 

  5. M. Hasegawa and Y. Shigei. High-Speed Top-of-Stack Scheme for VLSI Processor: a Management Algorithm and its Analysis. In Proceedings of the 12th Annual International Symposium on Computer Architecture, pages 48–54, 1985.

    Google Scholar 

  6. M. Hill, S. Eggers, et al. Design Decisions in SPUR. IEEE ComputerM, pages 8–22, November 1986.

    Google Scholar 

  7. F. Hommes. The internal structure of the reduction machine. Technical report, Gesellschaft für Mathematik und Datenverarbeitung, March 1977. Bericht ISF-77–3.

    Google Scholar 

  8. T. Johnsson. Efficient compilation of lazy evaluation. In Proceedings of the SIGPLAN ’84 Symposium on Compiler Construction, pages 58–69, 1984.

    Google Scholar 

  9. R.B. Kieburtz. The G-machine: A fast graph-reduction evaluator. In J.-P. Jouannaud, editor, Functional Programming Languages and Computer Architecture, volume 201 of Lecture Notes in Computer Science, pages 400–413. Springer-Verlag, 1985.

    Chapter  Google Scholar 

  10. R.B. Kieburtz. Performance Measurement of a G-Machine Implementation. In J. H. Fasel and R. M. Keller, editors, Graph Reduction, volume 279 of Lecture Notes in Computer Science, pages 275–296. Springer-Verlag, 1986.

    Google Scholar 

  11. F. Meißner. Implementierung eines Simulators und Meßsystems sowie eines Pipeline-Reorganizers für eine Hardware-Reduktionsmaschine. Master’s thesis, Institut für Informatik und praktische Mathematik, Universität Kiel, 1991.

    Google Scholar 

  12. D. A. Moon. Architecture of the Symbolics 3600. In Proceedings of the 12th Annual International Symposium on Computer Architecture, pages 76–83, June 1985.

    Google Scholar 

  13. J. Noss. Realisierung des Reduktionsprozessors CAST in Hardware, 1991. private communication.

    Google Scholar 

  14. H. Schlütter and E. Pless. Die Reduktionssprache OREL/2. Technical report, Gesellschaft für Mathematik und Datenverarbeitung, 1990.

    Google Scholar 

  15. G. Taylor, P. Hilfinger, J. Larus, D. Patterson, and B. Zorn. Evaluation of the SPUR LISP Architecture. In Proceedings of the 13th Annual International Symposium on Computer Architecture, pages 444–452, 1986.

    Google Scholar 

  16. D.A. Turner. Miranda: A non-strict Functional Language with Polymorphic Types. In J.-P. Jouannaud, editor, Functional Programming Languages and Computer Architecture, volume 201 of Lecture Notes in Computer Science, pages 1–16. Springer-Verlag, 1985.

    Chapter  Google Scholar 

  17. A. von Bechtolsheim and E. Frank. Sun’s SPARCstation 1: A Workstation for the 1990s. In IEEE Compcon Spring, pages 184–188, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Aßmann, C. (1992). CAST A Processor Architecture for the Efficient Execution of Functional Programs. In: Jammel, A. (eds) Architektur von Rechensystemen. Informatik aktuell. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-77422-5_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-77422-5_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55340-3

  • Online ISBN: 978-3-642-77422-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics