ACM Home Page
Please provide us with feedback. Feedback
Design of a LISP-based microprocessor
Full text PdfPdf (1.89 MB)
Source
Communications of the ACM archive
Volume 23 ,  Issue 11  (November 1980) table of contents
Pages: 628 - 645  
Year of Publication: 1980
ISSN:0001-0782
Authors
Guy Lewis Steele, Jr.  Massachusetts Institute of Technology, Cambridge
Gerald Jay Sussman  Massachusetts Institute of Technology, Cambridge
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 21,   Downloads (12 Months): 240,   Citation Count: 13
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/359024.359031
What is a DOI?

ABSTRACT

We present a design for a class of computers whose “instruction sets” are based on LISP. LISP, like traditional stored-program machine languages and unlike most high-level languages, conceptually stores programs and data in the same way and explicitly allows programs to be manipulated as data, and so is a suitable basis for a stored-program computer architecture. LISP differs from traditional machine languages in that the program/data storage is conceptually an unordered set of linked record structures of various sizes, rather than an ordered, indexable vector of integers or bit fields of fixed size. An instruction set can be designed for programs expressed as trees of record structures. A processor can interpret these program trees in a recursive fashion and provide automatic storage management for the record structures. We discuss a small-scale prototype VLSI microprocessor which has been designed and fabricated, containing a sufficiently complete instruction interpreter to execute small programs and a rudimentary storage allocator.


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
2
 
3
Berkeley, E. C., and Bobrow, D. G., Ed. The Programming Language LISP: Its Operation and Applications. Inform. Internat., Inc., Cambridge, Mass. 1964.
4
 
5
Church, A. The Calculi of Lambda Conversion. In Annals of Mathematics Studies, Number 6, Princeton Univ. Press, Princeton, N.J., 1941 (reprinted by Klaus Reprint Corp., N.Y., 1965).
 
6
Conrad, W. R. A compactifying garbage collector for ECL's nonhomogeneous heap. Tech. Rep. 2-74, Ctr. for Res. in Comptng. Technology, Harvard Univ. Cambridge, Mass., Feb. 1974.
7
 
8
Galley, S.W., and Pfister, G. The MDL language. Programming Technology Division Document SYS, 11.01, Project MAC, MIT, Cambridge, Mass., Nov. 1975.
 
9
Greenblatt, R. The LISP machine. Working Paper 79, MIT Artif. Intell. Lab., Cambridge, Mass., Nov. 1974.
10
11
 
12
Hart, TP., and Evans, T.G. Notes on implementing LISP for the M-460 computer. In The Programming Language LISP: Its Operation and Applications, E.C. Berkeley and D.G. Bobrow, Eds. Inform. Internat., Inc., Cambridge, Mass., 1964, pp. 191-203.
 
13
Hewitt, C. Viewing control structures as patterns of passing messages. Artif. Intell. J. 8, 3 (June 1977), 323-364.
 
14
Holloway, J., Steele, G.L., Jr., Sussman, G.J., and Bell, A. The SCHEME-79 chip. Memo 559, MIT Artif. Intell. Lab. Cambridge, Mass., Jan. 1980.
 
15
Hon, R., and Sequin, C. A Guide to LSI Implementation. Xerox PARC, Palo Alto, Calif., Sept. 1978.
 
16
Knight, T. The CONS microprocessor. Working Paper 80, MIT Artif. Intell. Lab., Cambridge, Mass., Nov. 1974.
 
17
 
18
 
19
The LISP Machine Group: Bawden, A., Greenblatt, R., Holloway, J., Knight, T., Moon, D., and Weinreb, D. LISP machine progress report. Memo 444, MIT Artif. Intell., Lab, Cambridge, Mass., Aug. 1977.
 
20
 
21
McDermott, D.V., and Sussman, G.J. The CONNIVER reference manual. Memo 295a, MIT Artif. Intell. Lab., Cambridge, Mass., Jan. 1974.
 
22
 
23
 
24
 
25
Moon, D.A. MacLISP reference manual, revision 0. Project MAC, MIT, Cambridge, Mass,, April 1974.
26
 
27
Moses, J. The function of FUNCTION in LISP. Memo 199, MIT Artif. Intell. Lab., Cambridge, Mass., June 1970.
28
 
29
Saunders, R.A. The LISP system for the Q-32 computer. In The Programming Language LISP: Its Operation and Applications, E.C. Berkeley and D.G. Bobrow, Eds., Inform. Internat., Inc., Cambridge, Mass., 1964, pp. 220-231.
30
 
30a
Stallman, R.M. Phantom Stacks: If you look too hard, they aren't there. MIT Artif. Intell. Lab. Memo. No. 556, Cambridge, Mass., July 1980.
 
31
Steele, G.L., Jr. Compiler optimization based on viewing LAMBDA as Rename plus Goto. S.M. Th., MIT, Cambridge, Mass., May 1977.
32
 
33
Steele, G.L. Jr., and Sussman, G.J. The revised report on SCHEME: A dialect of LISP. Memo 452, MIT Artif. Intell. Lab., Cambridge, Mass., 1978.
 
34
 
35
Steele, G.L., Jr., and Sussman, G.J. Storage management in a LISP-based processor. Proc. Caltech Conf. on Very Large-Scale Integration, Pasadena, Calif., Jan. 1979, 227-241.
 
36
 
37
Steele, G.L., Jr., and Sussman, G:J. The dream of a lifetime: A lazy scoping mechanism. Memo 527, MIT Artif. Intetl. Lab., Cambridge, Mass., Nov. 1979.
 
38
39
 
40
Wegbreit, B., et al. ECL programmer's manual. Ctr. for Res. in Comptng. Technology, Harvard Univ., Cambridge, Mass., Dec. 1974.
 
41
Weinreb, D., and Moon, D. LISP machine manual (preliminary version). MIT Artif. Intell. Lab., Cambridge, Mass., Nov. 1978.

CITED BY  13

Collaborative Colleagues:
Guy Lewis Steele, Jr.: colleagues
Gerald Jay Sussman: colleagues