Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles $Revision: 1.7.0.10 $; site uiucdcsb Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxn!ihnp4!inuxc!pur-ee!uiucdcs!uiucdcsb!robison From: robison@uiucdcsb.CS.UIUC.EDU Newsgroups: net.arch Subject: Re: VAX polyd instruction (and the Message-ID: <5600044@uiucdcsb> Date: Thu, 20-Mar-86 00:52:00 EST Article-I.D.: uiucdcsb.5600044 Posted: Thu Mar 20 00:52:00 1986 Date-Received: Sat, 22-Mar-86 06:12:22 EST References: <119@tekchips.UUCP> Lines: 29 Nf-ID: #R:tekchips.UUCP:119:uiucdcsb:5600044:000:1498 Nf-From: uiucdcsb.CS.UIUC.EDU!robison Mar 19 23:52:00 1986 > Anyhow, why beat on the poor little vaxen? They are but pale shadows compared > to a real *C*ISC like a Burroughs B6700. Kind of interesting when you review > the old claims about Burroughs architecture being designed for HLL's - what > percentage of the instructions and whatnot did their compiler writers manage > to use? The Burroughs B6700 and its successors (B7700 and current A15) have a aspects of both CISCS and RISCS. There are relatively few instructions, but each instruction has complex semantics. For example, there are only two non-immediate load instructions: "value call" and "name call", which have automatic chain dereferencing and "thunk" evaluation. For the code I've looked at, good use was made of most of the instruction set by the ALGOL compiler. (This is to be expected, since Burroughs ALGOL has extensions based on the instruction set. E.g. field extractions.) The marketing advantage of the complex semantics is that it allows a wide price range of machines with the same instruction set. Because the instructions try to describe what to do, and not exactly how to do it, the higher-priced machines can exploit more parallelism by rearranging the computations at run-time (and in some cases not doing them!), which compilers can not do. The principle problem is other languages which the designers did not anticipate. E.g. there is no C compiler available because the current hardware can not support C's pointers. Arch D. Robison University of Illinois