[net.arch] Data Stack in the Symbolics 3600

sohi@rsch.wisc.edu (Guri Sohi) (08/12/86)

Does anybody have any information (or pointers to information)
about the data stack on the Symbolics 3600?  Apparantly it
is supposed to reduce garbage collection overhead.  Does
anybody knows how it works?

Guri Sohi
sohi@amul.wisc.edu

stern@princeton.UUCP (08/13/86)

[]

You should check out the "Symbolics Technical Summary", which is
available from your local Symbolics sales office.  It contains very
well-written descriptions of the various hardware components of the
3600 family machines.  

In addition, David Moon (who designed the garbage collection hardware)
has two interesting papers that go into much more detail:

  David A. Moon, "Garbage Collection in a Large Lisp System",
	Proceedings 1984 ACM Symposium on Lisp and Functional
	Programming, pp 235-246

  David A. Moon, "Architecture of the Symbolics 3600", Proceedings
	12th Annual Symposium on Computer Architecture, pp. 76-83
	(1985).

--Hal Stern
  Princeton University
  {ihnp4, seismo, allegra}!princeton!stern

llames@uicsg.UUCP (08/16/86)

>> Does anybody have any information (or pointers to information)
>> about the data stack on the Symbolics 3600? ...
>> Guri Sohi, sohi@amul.wisc.edu

> You should check out the "Symbolics Technical Summary" ...
> In addition, David Moon has two interesting papers ...
> Hal Stern, {ihnp4, seismo, allegra}!princeton!stern

The use of the data stack is described in Volume 8 (Internals, Processes,
and Storage Management) of the Symbolics documentation set, pp. 26-28.
In summary, special forms are provided that allow you to cons arrays on the
data stack, rather that in garbage-collected heap storage.  The arrays have
dynamic extent (and either lexical or indefinite scope).  They get popped
off when the form is exited.  This facility is like that which lets you cons
lists on the control stack.  Currently, only arrays can be allocated on the
data stack.  I don't know if Release 7 will permit more kinds of objects.

Rene Llames
llames%uicsg@a.cs.uiuc.edu
...!{pur-ee,ihnp4,convex}!uiucdcs!uicsg!llames