Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site ubc-cs.UUCP Path: utzoo!utcsri!ubc-vision!ubc-cs!ludemann From: ludemann@ubc-cs.UUCP (Peter Ludemann) Newsgroups: net.arch Subject: high level language RISC machines Message-ID: <190@ubc-cs.UUCP> Date: Tue, 18-Mar-86 15:56:08 EST Article-I.D.: ubc-cs.190 Posted: Tue Mar 18 15:56:08 1986 Date-Received: Tue, 18-Mar-86 21:26:47 EST References: <119@tekchips.UUCP> Reply-To: ludemann@ubc-cs.UUCP (Peter Ludemann) Organization: UBC Department of Computer Science, Vancouver, B.C., Canada Lines: 32 Summary: 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)