ACM Home Page
Please provide us with feedback. Feedback
Implications of structured programming for machine architecture
Full text PdfPdf (1.08 MB)
Source
Communications of the ACM archive
Volume 21 ,  Issue 3  (March 1978) table of contents
Pages: 237 - 246  
Year of Publication: 1978
ISSN:0001-0782
Author
Andrew S. Tanenbaum  Vrije Univ., Amsterdam, The Netherlands
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 29,   Citation Count: 57
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/359361.359454
What is a DOI?

ABSTRACT

Based on an empirical study of more than 10,000 lines of program text written in a GOTO-less language, a machine architecture specifically designed for structured programs is proposed. Since assignment, CALL, RETURN, and IF statements together account for 93 percent of all executable statements, special care is given to ensure that these statements can be implemented efficiently. A highly compact instruction encoding scheme is presented, which can reduce program size by a factor of 3. Unlike a Huffman code, which utilizes variable length fields, this method uses only fixed length (1-byte) opcode and address fields. The most frequent instructions consist of a single 1-byte field. As a consequence, instruction decoding time is minimized, and the machine is efficient with respect to both space and time.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Alexander, W.G., and Wortman, D.B. Static and dynamic characteristics of XPL programs. Computer 8 (1975), 41-46.
2
 
3
Foster, C.C., and Gonter, R.H. Conditional interpretation of operation codes. IEEE Trans. Comptrs. C-20, 1 (1971), 108-111.
 
4
Huffman, D. A method for the construction of minimum redundancy codes. Proc. IRE 40 (1952), 1098-1101.
 
5
 
6
Knuth, D.E. An empirical study of FORTRAN programs. Software-Practice and Experience l (1971), 105-133.
7
 
8
Richards, M. BCPL: A tool for compiler writing and system programming. Proc. AFIPS SJCC, Vol. 34, AFIPS Press, Montvale, N.J., 1969, pp. 557-566.
9
 
10
Tanenbaum, A.S. A programming language for writing operating systems. Rep. IR-3, Wiskundig Seminarium, Vrije U., Amsterdam, 1974.
 
11
Tanenbaum, A.S. A general purpose macro processor as a poor man's compiler. IEEE Trans. Software Eng. SE-2 (1976), 121-125.
 
12
van Wijngaarden, A., Mailloux, B., Peck, J.E.L., and Koster, C.H.A. Report on the algorithmic language ALGOL 68, Num. Math. 14 (1969), 79-218.
 
13
Wilner, W.T. Design of the Burroughs B1700. Proc. AFIPS FJCC, Vol. 4 1 ,4 9 7 , AFIPS Press, Montvale, N.J., 1972, pp. 489- 497.
 
14
Wilner, W.T. Burroughs B1700 Memory Utilization. Proc. AFIPS FJCC, Vol. 41, AFIPS Press, Montvale, N.J., 1972, 579- 586.
 
15
Wortman, D.B. A study of language directed computer design. CSRG-20, U. of Toronto, Toronto, Ont. (1972).
16

CITED BY  57

Collaborative Colleagues:
Andrew S. Tanenbaum: colleagues