[net.arch] looking for stack machines

turner@ucbesvax.UUCP (02/18/84)

You might take a look at FORTH, which is sort of a virtual stack-machine.
Several years of hacking in this low-level language must certainly have
yielded a set of stack-manipulation primitives that FORTH writers consider
"optimal" for their purposes.  This is more than I can say for most computer
architectures, little as like FORTH as a language.
---
Michael Turner (ucbesvax.turner)

patcl@tekecs.UUCP (Pat Clancy) (02/20/84)

I'm looking for information on stack(-like) machines; ie.,
some examples of same and possibly brief instruction
set descriptions. The object is to discover what operations
other than the usual ones have been considered useful for
efficiently evaluating complex expressions with these machines.
Replies appreciated, and possibly summarized if enough interest.

Pat Clancy
Tektronix

usenet@abnjh.UUCP (usenet) (02/23/84)

The 'classic' stack machine(s) is (are) the Burroughs B5000 and its
descendants, the B5500, B6500, B6700, etc.  Get a reference manual for
one of them and read it.  The operating system (called 'MCP' -- no
kidding -- stands for Master Control Program) for them was programmed
in Algol 60 (spruced up a bit for systems programming, but basicly
Algol.)  The compiler did nearly one for one translation of Algol 60
statements into machine instructions.  The B5000 had virtual memory
long before IBM even heard of the word.  That company has been doing
things right for a very long time.  Incidentally, their lower end
machines stand in the same relation to COBOL as the high end machines
do for Algol.

Another stack machine of some fame is the Pascal P-code
pseudo-machine.  Western Digital makes a chip set that has P-code as
its machine language.  They package the chip set as a micro and call it
the 'Pascal Engine.'  It is said to run the UCSD system at very
acceptable speed.

Rick Thomas
ihnp4!abnjh!usenet  or  ihnp4!abnji!rbt

husmann@uiuccsb.UUCP (02/28/84)

#R:tekecs:-352300:uiuccsb:5600007:000:229
uiuccsb!husmann    Feb 27 18:52:00 1984

The HP3000 is a stack machine.  Beyond that, the only thing I recall about
it is that the top four words of the stack are actually CPU registers.

Harlan Husmann
USENET: ...!pur-ee!uiucdcs!husmann
CSNET:  husmann.uiuc@rand-relay

faiman@uiuccsb.UUCP (02/28/84)

#R:tekecs:-352300:uiuccsb:5600008:000:164
uiuccsb!faiman    Feb 27 19:53:00 1984

In answer to rmiller's query, the English Electric stack machine of the 60's
was the KDF9.

>From the ex-Elliott Bros fingers of Mike Faiman (pur-ee!uiucdcs!faiman)

rmiller@ccvaxa.UUCP (02/28/84)

#R:tekecs:-352300:ccvaxa:4700003:000:289
ccvaxa!rmiller    Feb 26 18:09:00 1984

just for historical purposes, there were a couple of mid 60's machines
built by (i think) English Electric which used stacks, one for argument
passing and another for expressions. interesting machines, but not very
well known. (anyone in the UK have more on these?)
uiucdcs!ccvaxa!rmiller

rob@ctvax.UUCP (03/01/84)

#R:tekecs:-352300:ctvax:32800001:000:435
ctvax!rob    Feb 28 13:41:00 1984

One British machine was the KDF-9. There was a special issue of IEEE Computer
several years ago on Stack Machines. I recall it contained articles on 
at least the KDF-9, the B5000 and the HP-3000.

Rob Spray

US Mail:  Computer*Thought Corporation, 1721 West Plano Parkway,Plano Tex. 75075
BellTel:  214-424-3511    ARPAnet:  ROB.CT@RAND-RELAY    CSNet: ROB@CT
uucp:     ... {decvax!cornell!|ucbvax!nbires!|allegra!parsec!}ctvax!rob

phil@unisoft.UUCP (Phil Ronzone) (03/01/84)

Well - I microcoded and did part of the design for a
C stack machine. It had some nice ideas, as the other
designer was Marv Rubinstein, one of the world's most
experienced compiler writers / machine designers (did
Fortran II in '61, microcoded a 7094 look-alike).
If you send me 8.5 by 11 envelope or mag tape, I'll
send you the 350 page manual.

It was done at (now defunct) Delphi Comm. (part of EXXON!).
Delphi had an ``association'' of some type with TANDEM (non-stop
computers) and had very similar bus architecture. It was
a 32-bit machine, optimized for Pascal and C. We did some
clever things (good solution to Pascal display register problem) etc.

smith@umn-cs.UUCP (Richard Smith) (03/03/84)

#R:tekecs:-352300:umn-cs:13900007:000:287
umn-cs!smith    Feb 27 19:42:00 1984

  There was another old 'stack machine' built in England sometime in
the past decade or two called the KDF-9.  I remember seeing a writeup
about it in some compendium of comparative architecture papers at
some point (Computing Surveys? Bell-Newell[-Sieworcek]? I don't remember).

Rick.

wmb@sun.uucp (Mitch Bradley) (03/07/84)

Charles Moore, the inventor of FORTH, is building a FORTH machine.
He described it a the FORTH Modification Laboratory conference at
Asilomar last November.  Unfortunately, his presentation was verbal,
and there was not a written version in the conference proceedings.
Basically his is an ECL processor with 2 hardware stacks, one for
passing arguments and the other for holding return addresses for
subroutines (FORTH programmers will recognize this architecture as
closely resembling the FORTH virtual machine).  Both the top-of-stack
and the second-on-stack are instantly accessible (i.e. in one
microcycle) for both stacks.  The machine is microcoded in such a way
that FORTH code may be easily compiled into a near-optimal set of
microinstructions.  The mapping is interesting.  In one particular
case, a sequence of 5 FORTH operations compiles into a single
microinstruction.

In November, he showed the film for his PC board, which he had just
gotten back from the photo house.  He expects the first rev of the
computer to run with a 16 nsec. microcycle time.

He did all of the design work on a home-brew CAD system (written in
FORTH of course) which was pretty impressive, but not general purpose.
It runs on an 11/23, and does layout, simulation, timing analysis, etc.

				Mitch Bradley
				Sun Microsystems, Inc.