Xref: utzoo comp.compilers:365 comp.arch:7355
Path: utzoo!utgpu!watmath!clyde!ima!compilers-sender
From: gert@prls.UUCP (Gert Slavenburg)
Newsgroups: comp.compilers,comp.arch
Subject: Re: Real Compiler for One Instruction Computer?
Summary: No, but an interpreter and a real machine
Keywords: OISC vanderPoel PL0 Pascal Wirth
Message-ID: <17060@prls.UUCP>
Date: 29 Nov 88 18:12:27 GMT
References: <5507@thorin.cs.unc.edu>
Sender: compilers-sender@ima.ima.isc.com
Reply-To: gert@prls.UUCP (Gert Slavenburg)
Organization: Philips Research Labs, Sunnyvale, California
Lines: 39
Approved: compilers@ima.UUCP

Actually, I own a REAL HARDWARE OISC according to van der Poel. It runs
(crawls would be a better word) the PL0 high level language (a Pascal subset). 

Its origin is immaterial, suffice it to say that some very bright and very
fanatic people put the hardware together in 1987 in the Netherlands, just for
fun, and decided to show that it could do everything that a computer was 
supposed to do, by writing an interpreter for the PL0 virtual machine [Wirth
1976] for the 'van der Poel' instruction set. I am the 'caretaker' of the
machine.

The actual machine is a single board, designed to operate at a reasonably high
clock speed (I believe 12 MHz), using fast static RAM as main memory. The only
I/O of the 'computer' is a double UART, to hook it between an Atari/ST and a
terminal. The ST does the translation of the Pascal subset (PL0 from Wirth's
book 'Algorithms + Data Structures = Programs') to the PL0 virtual machine
code. There is no reason why the compiler couldn't be made to run on the OISC, 
other than the fact that the current OISC board has a limited amount of
main memory and lacks file I/O devices (besides the obvious SPEED problem).

The whole thing was a fun exercise, but the actual machine runs and does its
job, hence showing once and for all that 'van der Poel' was right (of course).

However, don't think of this as the ultimate RISC. RISC is a carefull balance
of what to do in hardware and what to do in software - not a minimization of
the opcode set. The van der Poel machine is VERY SLOW on any task, given its
memory bandwidth, due to the fact that doing any computation at all requires
just too many instructions.

  just thought I'd mention that it CAN and HAS BEEN done,

  Gert Slavenburg
  (UUCP : ..!pyramid!prls!gert)

[Wirth 1976] N. Wirth, 'Algorithms + Data Structures = Programs', Prentice Hall
--
Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.EDU
Plausible paths are { decvax | harvard | yale | bbn}!ima
Please send responses to the originator of the message -- I cannot forward
mail accidentally sent back to compilers.  Meta-mail to ima!compilers-request