|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ingmar Vuong , Andrzej Wozniak , Suresh Krishna , Ion Filotti, KOALA: a cost effective workstation for fast LISP interpretation, Proceedings of the 1986 ACM SIGSMALL/PC symposium on Small systems, p.53-63, December 1986, San Francisco, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
H. Abelson , R. K. Dybvig , C. T. Haynes , G. J. Rozas , N. I. Adams, IV , D. P. Friedman , E. Kohlbecker , G. L. Steele, Jr. , D. H. Bartley , R. Halstead , D. Oxley , G. J. Sussman , G. Brooks , C. Hanson , K. M. Pitman , M. Wand , William Clinger , Jonathan Rees, Revised report on the algorithmic language scheme, ACM SIGPLAN Lisp Pointers, v.IV n.3, p.1-55, July, 1991
|
|
|
|
INDEX TERMS
Keywords:
LISP,
SCHEME,
VLSI,
direct execution,
garbage collection,
high-level language architectures,
integrated circuits,
interpreters,
large-scale integration,
linked lists,
list structure,
microprocessors,
storage management,
tail recursion
|