Path: utzoo!attcan!uunet!mcvax!ukc!mupsy!mucs!trevor
From: trevor@ux.cs.man.ac.uk (Trevor Hopkins)
Newsgroups: comp.arch
Subject: OISC was Re: ZISC computers
Keywords: OIC OISC
Message-ID: <5183@ux.cs.man.ac.uk>
Date: 29 Nov 88 14:18:06 GMT
Organization: Computer Science, University of Manchester, UK
Lines: 69

In a previous article Andrew Watson asked someone from Manchester to
comment on the OIC developed here, well since I knew the guy who built
the it I thought I might as well answer this one.  Excuse any mistakes
-- this is the first time I have posted to the net.

Here are the details:

J.R. Bown built a One Instruction Computer as his 3rd year
undergraduate project at the University of Manchester. His report
entitled `The One Instruction Computer' (third year project report No.
17, 1987) claims in its abstract to cover:

	The design and construction of a One Instruction Computer, OIC
	-- the extrapolation to its logical extreme of the philosophy
	of Reduced Instruction Set Computers, RISCs. The provision of
	a user environment for the testing and evaluation of software
	written for the One Instruction Computer Once Built.

The instruction which this machine implemented was a Reverse Subtract
Skip if Borrow, as described in previous postings.

Just skipping through this report I came on a rather nice quote in his
conclusions:

	Much to everyone's surprise, what at first sight appears to be
	a rather mad idea, namely a computer with only one instruction,
	appears in fact to have a great deal of potential as a viable
	machine. 

John actually built that machine and produced a fairly chunky report
on it, which I have in front of me now. I don't know a lot about it so
I`ll skim through the report and try and pick out the main points.

His implementation used a 60ns basic cycle, with the number of cycles
per instruction varying with the type of operands used. He built a
cross assembler for the machine and was able to download programs into
the OIC and upload the results. He also had an emulator program. A
major section of the report gives details of the assembler and emulator.

In the report he gives a number of comparisons of code written for the
OIC and the corresponding versions for a PDP-11 -- the OIC code is 2
to 2.5 times larger. He concludes that optimisation of programs is
extremely important and identifies 3 main types of optimisation:

Functional: putting the emphasis on using subtracts wherever possible.
Self Modifying code: - needed for indirect operations.
Code re-ordering.

He says his implementation was roughly equivalent to a 1 - 1.5 MIP
PDP-11 type machine (whatever that means), but he describes some
modifications which could be made to a future version of the machine
which he says would make it nearly comparable to a 68020. He points
out that the actual hardware for this machine could easily be fitted
into one chip, together with a significant amount of memory.

I hope this is of some use (or at least some interest) to some of you
out there.

	Rhod

 _______________________________________________________________________
| Dept. of Computer Science    JANET:      rmd@uk.ac.man.cs.r5    	|
| The University               USENET: mcvax!ukc!man.cs.r5!rmd    	|
| Manchester M13 9PL           Tel:    +44-61-275 6149             	|
| U.K.                                                             	|
|   ______      							|
| /~      ~\ 	So long and thanks for all the fish			|
| `-':  :`-'    							|
|____;  ;_____________the mushroom project______________________________|