[net.arch] Using a stack and dynamic instruction frequencies

mcdaniel@decwrl.UUCP (12/31/83)

From: mcdaniel (Gene McDaniel)
Regarding the use of a stack, and the use of memory:

A while ago I performed a series of experiments to determine the
frequency that various Mesa instructions were executed.  Mesa is a
stack oriented system developed at Xerox PARC and Xerox SDD.  Even
though Mesa runs on a stack machine, about 50% of all instructions
referenced the memory directly.

Mesa's stack is used for expression evaluation, and the active
storage that belongs to a procedure (the procedure frame) is allocated
from a heap.  Stack references occur only after the stack has been
loaded from memory or after another instruction has left a value on the
stack.

More extensive use of the stack would change the distribution of
references between memory and the stack, but that still depends upon
how much of the stack can fit in the high speed registers, and how
var-style references work.

There's (considerably) more information about Mesa, including my paper
on instruction frequencies, published in

Symposium on Architectural Support for Programming Languages and
Operating systems, March, 1982, Palo Alto, CA

Gene McDaniel 			...!decwrl!mcdaniel