[net.arch] high level language RISC machines

ludemann@ubc-cs.UUCP (Peter Ludemann) (03/18/86)

In article <119@tekchips.UUCP> stevev@tekchips.UUCP writes:
>
>If a Smalltalk-specific RISC machine is a good idea, why not a LISP-specific
>RISC machine, a Prolog-specific RISC machine, and a Pascal-specific RISC
>machine?  I thought that language-specific architectures were one of the
>things that RISC-types say are a bad idea.
>
The Warren Abstract Machine (WAM to its friends) is an example of 
moving toward a RISC-like design for Prolog.  I'm working on 
simplifying that even further - I should have some performance 
figures in a couple of months.  The trick is to apply the same 
criteria as for more "standard" languages - is this instruction 
*really* necessary and, if I get rid of it how can I exploit the 
resulting increase in simplicity?  

It also turns out for Prolog that full general unification is not 
needed in many situations - a compiler can determine where simpler 
(and faster) unification instructions will do the trick.  So, the 
machine ends up having a number of unification-like instructions, 
except these are all simpler (in implementation) and faster than the 
general one.  It's kind of a CISC except that the extra instructions 
do *less* rather than more.  

For those interested in the WAM, I suggest reading "Towards a 
Pipelined Prolog Processor" by Tick, E. and Warren, D.H.D. in IEEE 
1984 International Symposium on Logic Programming.  I have a few 
other references for those who are interested.  
-- 
-- Peter Ludemann
	ludemann@ubc-cs.uucp (ubc-vision!ubc-cs!ludemann)
	ludemann@cs.ubc.cdn  (ludemann@cs.ubc.cdn@ubc.mailnet)
	ludemann@ubc.csnet   (ludemann%ubc.csnet@CSNET-RELAY.ARPA)