Abstract
There are several methods of executing programs written in a high level language. The most widely used is to compile the programs into machine language. Another is to translate the programs into some intermediate form and then to execute that form interpretively. A third method is to directly execute either the HLL or the intermediate form.
This study was aimed at investigating the feasibility of directly executing the intermediate representation of the sequential features of Concurrent Euclid (CE) on the SEL 32/75 computer. The CE intermediate code was translated into Ecode, and a microprogrammed interpreter for Ecode was designed and implemented on the SEL, and benchmarked against the compiler. For the CPU-bound prime number algorithm Sieve of Eratosthenes, the interpreter was measured to be about twice as slow as the compiler, due primarily to poor overlap within microinstructions. Ecode was then modified, and a new translator and interpreter designed and implemented. The same benchmark then yielded comparable results for both the interpreter and compiler. We project that further changes in Ecode design and hardware support would result in substantial Ecode efficiency gains.
- BROA75 Broadbent, J. K, "High Level Language Implementation Through Microprogramming". Microprogramming and Systems Architecture, Infotech State of the Art Report 23 1975.]]Google Scholar
- BROC73 Broca, F. R., Mervin, R. E., "Direct Microprogrammed Execution of the Intermediate Text from a High Level Language Compiler". Proceedings ACM Sigplan Sigmicro Interface Meeting May 1973.]] Google Scholar
Digital Library
- COOP80 Cooper, R. E. M., "The Direct Execution of Intermediate Languages on an Eclipse Computer". SIGMICRO March 1980.]] Google Scholar
Digital Library
- DuBO86 DuBose, D. K., Fatakis, D. K., Tabak, D., "A Microcoded RISC". Proceedings 19th Annual Microprogramming Workshop December 1986.]] Google Scholar
Digital Library
- FAGI85 Fagin, B., Pratt, Y., Srini, V., Despain, A., "Compiling Prolog into Microcode: A Case Study Using the NCR/32-000". Proceedings 18'th Annual Microprograming Workshop December 1985.]] Google Scholar
Digital Library
- GEE86 Gee, J., Melvin, S. W., Patt, Y. N., "Implementation of Prolog via VAX 8600 Microcode'. Proceedings 19th Annual Microprogramming Workshop December 1986.]] Google Scholar
Digital Library
- HOLT83 Holt, R., Concurrent Euclid, The UNIX System, and TUNIS. Addison-Wesley 1983 QA76.73 C64H64]]Google Scholar
- HABI81 Habib, S., Yang, X., " The use of a Meta Assembler to Design an Mcode Interpreter of AMD2500 Chips". SIGMICRO December 1981.]] Google Scholar
- HASS76 Hassitt, A., Lyon, L. E., "An APL Emulator on System/370". IBM Systems Journal Volume 15 Number 4 June 1976.]]Google Scholar
- OKUN87 Okuno, H. G., Osato, N., Takeuchi, I., "Firmware Approach to Fast Lisp Interpreter". SIGMICRO 1987.]] Google Scholar
Digital Library
- SCHA83 Schaefer, M. T., Pratt, Y. N., "Improving the Performance of UCSD Pascal via Microprogramming on the PDP 11/60". Annual SIGMICRO Congress, 1983.]] Google Scholar
Digital Library
- SEL1 Reference Manual, SEL 32/75 Computer. Systems Engineering Laboratories Incorporated, August 1976. Publication Number 301-320075-00.]]Google Scholar
- SEL2 SEL 32/75 Series Writable Control Storage Users Manual. Systems Engineering Laboratories Incorporated, February 1979. Publication Number 301-322344-000.]]Google Scholar
- WIRT84 WIRT84 'Wirth, N., "Lilith: A Modula Machine". IByte, August 1984.]]Google Scholar
Index Terms
A microprogrammed interpreter for concurrent euclid
Recommendations
A microprogrammed interpreter for concurrent euclid
MICRO 22: Proceedings of the 22nd annual workshop on Microprogramming and microarchitectureThere are several methods of executing programs written in a high level language. The most widely used is to compile the programs into machine language. Another is to translate the programs into some intermediate form and then to execute that form ...
Euclid and Modula
Both Euclid and Modula are programming languages based on Pascal and intended for writing system software such as operating system kernels. The further goals of each language, however, resulted in two rather different languages. Modula is meant to be ...






Comments