Design of LISP-based Processors, or SCHEME: A Dielectric LISP, or Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode
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 d...
Main Authors: | , |
---|---|
Language: | en_US |
Published: |
2004
|
Online Access: | http://hdl.handle.net/1721.1/5731 |
_version_ | 1826215154184880128 |
---|---|
author | Steele, Guy Lewis, Jr. Sussman, Gerald Jay |
author_facet | Steele, Guy Lewis, Jr. Sussman, Gerald Jay |
author_sort | Steele, Guy Lewis, Jr. |
collection | MIT |
description | 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. LISP is therefore a suitable language around which to design 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. The record structures can be organized into trees or graphs. An instruction set can be designed for programs expressed as such trees. A processor can interpret these trees in a recursive fashion, and provide automatic storage management for the record structures. We describe here the basic ideas behind the architecture, and for concreteness give a specific instruction set (on which variations are certainly possible). We also discuss the similarities and differences between these ideas and those of traditional architectures. A prototype VLSI microprocessor has been designed and fabricated for testing. It is a small-scale version of the ideas presented here, containing a sufficiently complete instruction interpreter to execute small programs, and a rudimentary storage allocator. We intend to design and fabricate a full-scale VLSI version of this architecture in 1979. |
first_indexed | 2024-09-23T16:17:26Z |
id | mit-1721.1/5731 |
institution | Massachusetts Institute of Technology |
language | en_US |
last_indexed | 2024-09-23T16:17:26Z |
publishDate | 2004 |
record_format | dspace |
spelling | mit-1721.1/57312019-04-12T11:48:42Z Design of LISP-based Processors, or SCHEME: A Dielectric LISP, or Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode Steele, Guy Lewis, Jr. Sussman, Gerald Jay 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. LISP is therefore a suitable language around which to design 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. The record structures can be organized into trees or graphs. An instruction set can be designed for programs expressed as such trees. A processor can interpret these trees in a recursive fashion, and provide automatic storage management for the record structures. We describe here the basic ideas behind the architecture, and for concreteness give a specific instruction set (on which variations are certainly possible). We also discuss the similarities and differences between these ideas and those of traditional architectures. A prototype VLSI microprocessor has been designed and fabricated for testing. It is a small-scale version of the ideas presented here, containing a sufficiently complete instruction interpreter to execute small programs, and a rudimentary storage allocator. We intend to design and fabricate a full-scale VLSI version of this architecture in 1979. 2004-10-01T20:33:03Z 2004-10-01T20:33:03Z 1979-03-01 AIM-514 http://hdl.handle.net/1721.1/5731 en_US AIM-514 75 p. 6008252 bytes 4674985 bytes application/postscript application/pdf application/postscript application/pdf |
spellingShingle | Steele, Guy Lewis, Jr. Sussman, Gerald Jay Design of LISP-based Processors, or SCHEME: A Dielectric LISP, or Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode |
title | Design of LISP-based Processors, or SCHEME: A Dielectric LISP, or Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode |
title_full | Design of LISP-based Processors, or SCHEME: A Dielectric LISP, or Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode |
title_fullStr | Design of LISP-based Processors, or SCHEME: A Dielectric LISP, or Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode |
title_full_unstemmed | Design of LISP-based Processors, or SCHEME: A Dielectric LISP, or Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode |
title_short | Design of LISP-based Processors, or SCHEME: A Dielectric LISP, or Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode |
title_sort | design of lisp based processors or scheme a dielectric lisp or finite memories considered harmful or lambda the ultimate opcode |
url | http://hdl.handle.net/1721.1/5731 |
work_keys_str_mv | AT steeleguylewisjr designoflispbasedprocessorsorschemeadielectriclisporfinitememoriesconsideredharmfulorlambdatheultimateopcode AT sussmangeraldjay designoflispbasedprocessorsorschemeadielectriclisporfinitememoriesconsideredharmfulorlambdatheultimateopcode |