[comp.arch] Lisp Chips

dolf@idca.tds.PHILIPS.nl (Dolf Grunbauer) (09/01/89)

In article <26595@winchester.mips.COM> mash@mips.COM (John Mashey) writes:
 >In article <1989Aug30.152155.9613@mentor.com> plogan@mentor.com (Patrick Logan) writes:
 >>In article <1989Aug26.232710.27174@utzoo.uucp> henry@utzoo.uucp (Henry Spencer) writes:
 >>>Take a look at the history of Lisp on Lisp machines, whose time has come
 >>>*and gone* -- those awful "C-only" RISC machines run Lisp faster than the
 >>>custom-cooked Lisp machines do.
 >>Saying that C machines run Lisp faster than Lisp machines is
 >>simplistic.
 >There are many good ideas in LISP, and more of it will filter over.

Just a short I-just-want-to-know question: is it true that the DEC-10 systems
processors were designed for an efficient Lisp implementation, and was it 
efficient ? (I once heard someone state that these processors were made with
two high-level languages as aims, one of which was Lisp, and the other I forgot
(I guess it must be FORTRAN isn't it ?)).
--
Dolf Grunbauer          Tel: +31 55 432764  Internet dolf@idca.tds.philips.nl
Philips Telecommunication and Data Systems  UUCP ....!mcvax!philapd!dolf
Dept. SSP, P.O. Box 245, 7300 AE Apeldoorn, The Netherlands
-- 
Dolf Grunbauer          Tel: +31 55 432764  Internet dolf@idca.tds.philips.nl
Philips Telecommunication and Data Systems  UUCP ....!mcvax!philapd!dolf
Dept. SSP, P.O. Box 245, 7300 AE Apeldoorn, The Netherlands

mrc@Tomobiki-Cho.CAC.Washington.EDU (Mark Crispin) (09/01/89)

In article <240@ssp1.idca.tds.philips.nl> dolf@idca.tds.PHILIPS.nl (Dolf Grunbauer) writes:
>Just a short I-just-want-to-know question: is it true that the DEC-10 systems
>processors were designed for an efficient Lisp implementation, and was it 
>efficient ?

Yes, the PDP-6 (the immediate predecessor to the PDP-10) was designed
with Lisp in mind, and for many years the PDP-10 was *the* standard
engine for running Lisp.  There were three major Lisps for the PDP-10;
Stanford Lisp 1.6/UCI Lisp/Rutgers Lisp, BBN/Xerox Interlisp, and MIT
MacLisp.

The Stanford PDP-6 had a machine instruction to implement CONS (this
was in 1964 when DEC would implement custom instructions in an
individual processor for customers) and the Lisp 1.6 sources had
support for it under an assembly switch, but to my knowlege it was
never turned on and the Stanford PDP-10 did not have CONS.

The main benefit for Lisp was the PDP-10's halfword instructions and
indexing, which made it ultra-easy to build lists in an efficient
manner and to chase down these lists.  The main thing that eventually
killed the PDP-10 for Lisp was the address space issue and the absence
of any faster CPU's after 1975.  A 30-bit address space Common Lisp
was developed, but it had no particular advantages over Lisp on other
machines.

A fast PDP-10 could be built today to run Common Lisp quite
competitively, but without any of the display facilities modern
Lispers are used to it wouldn't be interesting.

Mark Crispin / 6158 Lariat Loop NE / Bainbridge Island, WA 98110-2020
mrc@CAC.Washington.EDU / MRC@WSMR-SIMTEL20.Army.Mil / (206) 842-2385
Atheist & Proud / 450cc Rebel pilot -- a step up from 250cc's!!!
tabesaserarenakerebanaranakattarashii...kisha no kisha ga kisha de kisha-shita
sumomo mo momo, momo mo momo, momo ni mo iroiro aru
uraniwa ni wa niwa, niwa ni wa niwa niwatori ga iru

mike@thor.acc.stolaf.edu (Mike Haertel) (09/02/89)

In article <240@ssp1.idca.tds.philips.nl> dolf@idca.tds.PHILIPS.nl (Dolf Grunbauer) writes:
>Just a short I-just-want-to-know question: is it true that the DEC-10 systems
>processors were designed for an efficient Lisp implementation, and was it 
>efficient ? (I once heard someone state that these processors were made with
>two high-level languages as aims, one of which was Lisp, and the other I forgot
>(I guess it must be FORTRAN isn't it ?)).

I don't know if Lisp support was a design goal of the PDP-10 architecture,
but I do know that ITS (the Incompatible Timesharing System) included
custom microcode for the KL- and KS-10 processors (I believe the main
effort in porting ITS to a new processor was the microcode).  It added
several instructions, including a few needed by MACLISP.  I don't recall
exactly; it's been a while since I read the microcode, but I think the
new instructions included something special for Deutsch-Schorr-Waite
garbage collection (probably something like atomic test-and-mark with
conditional branch), and perhaps also something for tagged arithmetic.
I may be totally off the mark here, but this is what I seem to recall.
-- 
Mike Haertel <mike@stolaf.edu>
``There's nothing remarkable about it.  All one has to do is hit the right
  keys at the right time and the instrument plays itself.'' -- J. S. Bach