Abstract
The issue of high level language support is treated in a systematic top-down manner. Program representations are categorized into three classes with respect to a host processor: high level representations, directly interpretable representations and directly executable representations. The space of intermediate languages for high level language support is explored and it is shown that whereas the ideal intermediate language from the point of view of execution time is a directly executable one, the best candidate from the viewpoint of memory requirements is a heavily encoded directly interpretable representation. The concept of dynamic translation is advanced as a means for achieving both goals simultaneously; the program is present in the memory in a compact static representation, but its working set is maintained in a dynamic representation which minimizes execution time. The architecture and organization of a universal host machine, incorporating this strategy, is outlined and the potential performance gains due to dynamic translation are studied.
- 1 M. V. Wilkes, "The best way to design an automatic calculating machine," Manchester Univ. Comput. Inaugur. Conf., 1951, p. 16.Google Scholar
- 2 W. T. Wilner, "Design of the B1700," AFIPS Conf. Proc., 1972 FJCC, 41, 489-497, Montvale, NJ, AFIPS Press.Google Scholar
- 3 W. T. Wilner, "Burroughs B-1700 Memory Utilization," AFIPS Conf. Proc., 1972 FJCC, 41, 579-586, Montvale, NJ, AFIPS Press.Google Scholar
- 4 L. W. Hoevel, "DELTRAN Principles of Operation: A Directly Executed Language for FORTRAN-II," Tech. Note No. 108, Digital Systems Laboratory, Stanford Univ., Stanford, CA, March 1977.Google Scholar
- 5 J. P. Anderson, "A computer for direct execution of algorithmic languages," Proc. EJCC, 1961, 184-193.Google Scholar
- 6 Y. Chu, "Introducing the high-level language computer architecture," Tech. Rep. No. TR-227, Comput. Sci. Center, Univ. Maryland, College Park, Maryland, 1973.Google Scholar
- 7 H. M. Bloom, "Design and simulation of an ALGOL computer," Tech. Rep. No. 70-118, Comput. Sci. Center, Maryland, College Park, Maryland, 1970.Google Scholar
- 8 T. R. Bashkow, A. Sasson and A. Kronfeld, "System design for a FORTRAN machine," IEEE-TEC, Aug. 1971, 485-499.Google Scholar
- 9 M. Sugimoto, "PL/1 reducer and direct processor," Proc. ACM, 1969, 519-538. Google Scholar
Digital Library
- 10 R. Rice and W. R. Smith, "SYMBOL - A major departure from classic software dominated von Neumann computing systems," SJCC, 1971, 575-587.Google Scholar
- 11 E. W. Reigel, V. Faber and D. A. Fisher, "The interpreter - a microprogrammable building block system," AFIPS Conf. Proc., 1972 SJCC, 40, 705-723, Montvale, NJ, AFIPS Press.Google Scholar
- 12 H. W. Lawson and B. K. Smith, "Functional Characteristics of a Multilingual Processor," IEEE-TC, 20, July 1971, 732-742.Google Scholar
Digital Library
- 13 Nanodata Corp., "QM-1 Hardware Level User's Manual," Second Edition, August 1974.Google Scholar
- 14 M. J. Flynn, C. J. Neuhauser and R. M. McClure, "EMMY - an emulation system for user microprogramming," AFIPS Conference Proceedings, 1975 NCC, 85-89.Google Scholar
- 15 L. W. Hoevel, "'Ideal' directly executed languages: an analytic argument for emulation," IEEE-TC, 23, 8, 1974, 759-767.Google Scholar
- 16 L. W. Hoevel and M. J. Flynn, "The Structure of Directly Executed Languages: A New Theory of Interpretive System Support," Digital Systems Lab. Tech. Rep. No. 130, Stanford Univ., March 1977. Google Scholar
Digital Library
- 17 G. Radin, "A note on the concept of binding," IBM Thomas J. Watson Res. Rep. No. RC 3287, Yorktown Heights, NY, March 1971.Google Scholar
- 18 P. Naur, (Ed.), "Revised report on the algorithmic language ALGOL 60," CACM 6, Jan. 1963, 1-17. Google Scholar
Digital Library
- 19 K. E. Iverson, "A Programming Language," Wiley, New York, 1962. Google Scholar
Digital Library
- 20 J. R. Bell, "Threaded Code," CACM, 16, 6, June 1973, 370-372. Google Scholar
Digital Library
- 21 J. B. Johnston, "The Contour Model of Block Structured Processes," Proceedings of the SDSPL (SIGPLAN Notices, Vol. 6) Feb. 1971, 55-82. Google Scholar
Digital Library
- 22 D. A. Huffman, "A method for the construction of minimum redundancy codes," I.R.E., 40, 9, Sept. 1952, 1098-1101.Google Scholar
Cross Ref
- 23 C. C. Foster and R. Gonter, "Conditional Interpretation of Operation Codes," IEEE-TC, Jan. 1971, 108-111.Google Scholar
- 24 E. C. R. Hehner, "Computer design to minimize memory requirements," Computer, 9, 8, Aug. 1976, 65-70.Google Scholar
Digital Library
- 25 E. C. R. Hehner, "Information Content of Programs and Operation Encoding," JACM, 24, 2, Apr. 1977, 290-297. Google Scholar
Digital Library
- 26 B. S. Brawn and F. G. Gustavsen, "Program Behavior in a Paging Environment," AFIPS Proceedings, 33, FJCC, 1968, 1019-1032.Google Scholar
- 27 P. J. Denning, "The working set model for program behavior," CACM, 11, 5, May 1968, 323-333. Google Scholar
Digital Library
- 28 K. R. Kaplan and R. O. Winder, "Cache-based Computer Systems," Computer, 6, 3, March 1973, 30-36.Google Scholar
Digital Library
- 29 D. H. Gibson, "Considerations in Block-Oriented Systems Design," Proc. SJCC, 1967, pp. 78-80.Google Scholar
- 30 R. M. Meade, "Design Approaches for Cache Memory Control," Computer Design, 10, January 1971, 87-93.Google Scholar
- 31 T. Kilburn, D. B. G. Edwards, M. J. Lanigan, and F. H. Summer, "One-level Storage Systems," IRE Trans. Elec. Comp., 11, 2, 1962, 223-235.Google Scholar
- 32 P. J. Denning, "Virtual Memory," Computing Surveys, 2,3, 1970, 153-189. Google Scholar
Digital Library
- 33 B. Randell, "A Note on Storage Fragmentation and Program Segmentation," CACM, 12, 7, July 1969, 365-369. Google Scholar
Digital Library
- 34 C. J. Conti, "Concepts for Buffer Storage," Computer Group News, 2, March 1969, 9-13.Google Scholar
- 35 S. H. Fuller, V. R. Lesser, C. G. Bell, and C. M. Kaman, "The Effects of Emerging Technology and Emulation Requirements on Microprogramming," IEEE-TC, 25, 10, Oct. 1976, 1000-1009.Google Scholar
- 36 W. D. Strecker, "Cache Memories for PDP-11 Family Computers," Third Annual Symposium on Computer Architecture, 1976, 155-158. Google Scholar
Digital Library
Index Terms
Levels of representation of programs and the architecture of universal host machines
Recommendations
Levels of representation of programs and the architecture of universal host machines
MICRO 11: Proceedings of the 11th annual workshop on MicroprogrammingThe issue of high level language support is treated in a systematic top-down manner. Program representations are categorized into three classes with respect to a host processor: high level representations, directly interpretable representations and ...
A lightweight symbolic virtual machine for solver-aided host languages
PLDI '14: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and ImplementationSolver-aided domain-specific languages (SDSLs) are an emerging class of computer-aided programming systems. They ease the construction of programs by using satisfiability solvers to automate tasks such as verification, debugging, synthesis, and non-...
Representation Levels Within Knowledge Representation
ICCS '07: Proceedings of the 15th international conference on Conceptual Structures: Knowledge Architectures for Smart ApplicationsRepresentation of knowledge is used to store and retrieve informational data in a machine. Since meaning cannot be directly stored in the computer; this work proposes a series of levels of representation. The meaning of the data is transformed to a ...






Comments