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)