Dept. of Computer Science and Engineering
Oregon Graduate Center
Functional programming languages have been advanced as a means of increasing programmer productivity, enhancing program clarity and simplifying the task of program verification. The slow execution of functional programs on conventional computer architectures has been their major drawback. Several architectures have been proposed for executing functional programming languages more efficiently. One such architecture, the G-machine, provides architectural support for the evaluation of functional programming languages by graph reduction. In this study, designs for the instruction processing pipeline of the G-machine are examined and compared via simulation. A microcoded pipeline design, named Design 1, is proposed and its performance is evaluated using a range of enhancements which are known to reduce delays associated with instruction memory access and branches. While the enhancements increase performance, they also increase the complexity to implement the pipeline. A RISC design, Design 2, is then proposed for the instruction pipeline. Design 1 and Design 2 are compared, via simulation, to determine whether Design 2 can provide the functionality and throughput of Design 1. Recommendations for the design of the instruction pipeline of the G-machine are then made based on these simulations.
Hostmann, Bill, "An examination of designs for the instruction pipeline of the G-machine" (1987). Scholar Archive. 248.