Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Levels of representation of programs and the architecture of universal host machines

Published: 19 November 1978 Publication History

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.

References

[1]
M. V. Wilkes, "The best way to design an automatic calculating machine," Manchester Univ. Comput. Inaugur. Conf., 1951, p. 16.
[2]
W. T. Wilner, "Design of the B1700," AFIPS Conf. Proc., 1972 FJCC, 41, 489-497, Montvale, NJ, AFIPS Press.
[3]
W. T. Wilner, "Burroughs B-1700 Memory Utilization," AFIPS Conf. Proc., 1972 FJCC, 41, 579-586, Montvale, NJ, AFIPS Press.
[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.
[5]
J. P. Anderson, "A computer for direct execution of algorithmic languages," Proc. EJCC, 1961, 184-193.
[6]
Y. Chu, "Introducing the high-level language computer architecture," Tech. Rep. No. TR-227, Comput. Sci. Center, Univ. Maryland, College Park, Maryland, 1973.
[7]
H. M. Bloom, "Design and simulation of an ALGOL computer," Tech. Rep. No. 70-118, Comput. Sci. Center, Maryland, College Park, Maryland, 1970.
[8]
T. R. Bashkow, A. Sasson and A. Kronfeld, "System design for a FORTRAN machine," IEEE-TEC, Aug. 1971, 485-499.
[9]
M. Sugimoto, "PL/1 reducer and direct processor," Proc. ACM, 1969, 519-538.
[10]
R. Rice and W. R. Smith, "SYMBOL - A major departure from classic software dominated von Neumann computing systems," SJCC, 1971, 575-587.
[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.
[12]
H. W. Lawson and B. K. Smith, "Functional Characteristics of a Multilingual Processor," IEEE-TC, 20, July 1971, 732-742.
[13]
Nanodata Corp., "QM-1 Hardware Level User's Manual," Second Edition, August 1974.
[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.
[15]
L. W. Hoevel, "'Ideal' directly executed languages: an analytic argument for emulation," IEEE-TC, 23, 8, 1974, 759-767.
[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.
[17]
G. Radin, "A note on the concept of binding," IBM Thomas J. Watson Res. Rep. No. RC 3287, Yorktown Heights, NY, March 1971.
[18]
P. Naur, (Ed.), "Revised report on the algorithmic language ALGOL 60," CACM 6, Jan. 1963, 1-17.
[19]
K. E. Iverson, "A Programming Language," Wiley, New York, 1962.
[20]
J. R. Bell, "Threaded Code," CACM, 16, 6, June 1973, 370-372.
[21]
J. B. Johnston, "The Contour Model of Block Structured Processes," Proceedings of the SDSPL (SIGPLAN Notices, Vol. 6) Feb. 1971, 55-82.
[22]
D. A. Huffman, "A method for the construction of minimum redundancy codes," I.R.E., 40, 9, Sept. 1952, 1098-1101.
[23]
C. C. Foster and R. Gonter, "Conditional Interpretation of Operation Codes," IEEE-TC, Jan. 1971, 108-111.
[24]
E. C. R. Hehner, "Computer design to minimize memory requirements," Computer, 9, 8, Aug. 1976, 65-70.
[25]
E. C. R. Hehner, "Information Content of Programs and Operation Encoding," JACM, 24, 2, Apr. 1977, 290-297.
[26]
B. S. Brawn and F. G. Gustavsen, "Program Behavior in a Paging Environment," AFIPS Proceedings, 33, FJCC, 1968, 1019-1032.
[27]
P. J. Denning, "The working set model for program behavior," CACM, 11, 5, May 1968, 323-333.
[28]
K. R. Kaplan and R. O. Winder, "Cache-based Computer Systems," Computer, 6, 3, March 1973, 30-36.
[29]
D. H. Gibson, "Considerations in Block-Oriented Systems Design," Proc. SJCC, 1967, pp. 78-80.
[30]
R. M. Meade, "Design Approaches for Cache Memory Control," Computer Design, 10, January 1971, 87-93.
[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.
[32]
P. J. Denning, "Virtual Memory," Computing Surveys, 2,3, 1970, 153-189.
[33]
B. Randell, "A Note on Storage Fragmentation and Program Segmentation," CACM, 12, 7, July 1969, 365-369.
[34]
C. J. Conti, "Concepts for Buffer Storage," Computer Group News, 2, March 1969, 9-13.
[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.
[36]
W. D. Strecker, "Cache Memories for PDP-11 Family Computers," Third Annual Symposium on Computer Architecture, 1976, 155-158.

Cited By

View all
  • (2020)MicroJITProceedings of the 30th Annual International Conference on Computer Science and Software Engineering10.5555/3432601.3432625(179-188)Online publication date: 10-Nov-2020
  • (2020)Type freezing: exploiting attribute type monomorphism in tracing JIT compilersProceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3368826.3377907(16-29)Online publication date: 22-Feb-2020
  • (2005)A Survey of Adaptive Optimization in Virtual MachinesProceedings of the IEEE10.1109/JPROC.2004.84030593:2(449-466)Online publication date: Feb-2005
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGMICRO Newsletter
ACM SIGMICRO Newsletter  Volume 9, Issue 4
Dec. 1978
160 pages
ISSN:1050-916X
DOI:10.1145/1014198
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 November 1978
Published in SIGMICRO Volume 9, Issue 4

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)123
  • Downloads (Last 6 weeks)17
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2020)MicroJITProceedings of the 30th Annual International Conference on Computer Science and Software Engineering10.5555/3432601.3432625(179-188)Online publication date: 10-Nov-2020
  • (2020)Type freezing: exploiting attribute type monomorphism in tracing JIT compilersProceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization10.1145/3368826.3377907(16-29)Online publication date: 22-Feb-2020
  • (2005)A Survey of Adaptive Optimization in Virtual MachinesProceedings of the IEEE10.1109/JPROC.2004.84030593:2(449-466)Online publication date: Feb-2005
  • (2005)Design and Engineering of a Dynamic Binary OptimizerProceedings of the IEEE10.1109/JPROC.2004.84030293:2(436-448)Online publication date: Feb-2005
  • (1991)A Pedagogical Tool For Learning LispTENCON '91. Region 10 International Conference on EC3-Energy, Computer, Communication and Control Systems10.1109/TENCON.1991.753888(299-303)Online publication date: 1991
  • (1981)On the efficient implementation of retention block-structured languagesInternational Journal of Computer & Information Sciences10.1007/BF0097837710:1(39-54)Online publication date: Feb-1981
  • (2008)A parallel dynamic compiler for CIL bytecodeACM SIGPLAN Notices10.1145/1374752.137475443:4(11-20)Online publication date: 1-Apr-2008
  • (2006)HDTransProceedings of the 2nd international conference on Virtual execution environments10.1145/1134760.1220166(175-185)Online publication date: 14-Jun-2006
  • (2003)A brief history of just-in-timeACM Computing Surveys10.1145/857076.85707735:2(97-113)Online publication date: 1-Jun-2003
  • (1987)Mimic: a fast system/370 simulatorACM SIGPLAN Notices10.1145/960114.2965122:7(1-13)Online publication date: 1-Jul-1987
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media