One Instruction Set Computers

So what is an OISC? It's a computer with only one instruction. Pretty useless, you might think, but not so. If you pick the right instruction, you can do anything a "normal" computer can do.

A number of people have written simulators and a few have even built real live working systems. A Windows program for simulating a number of kinds of OISC is available on Eugene Styer's OISC page.

I have come across two basic styles of OISC. They are:


Subtract and Branch if Negative

The one instruction here subtracts one number from another, and if the result is negative, branches to another part of the program, otherwise continues where it was.

I am aware of two simulators on the 'net for these, both at the Retrocomputing Museum. They are OISC by Ross Cunniff, which uses three operands, and URISC by (I think) Mike Albaugh which uses only one operand and an accumulator. These both come as C source code, which compiled happily on my Linux box.

I'm not aware of anyone actually building one of these, but I'm considering doing it myself.


The Move Machine

The one instruction for a Move Machine is Move. It reads in one location in memory and writes it out to another.

Arithmetic operations are performed by a memory-mapped ALU, so writing to a specific memory location sets the accumulator, writing to another adds to the accumulator, with other addresses for the other functions provided by the ALU. Jumps are performed with a memory mapped Program Counter.

A basic design for such a processor is available from Doug Jones' pages. He says that he has 'received many tech reports, E-mail missives and honors thesis reports from people who built variants on my design.'
Dave Lowry has built 'a 16 bit OISC in a FPGA. Connected are ROM, SRAM, UART and a pseudo-ISA slot, which currently holds a floppy controller card. It's running Forth. Speed is 500,000 moves/second. Haven't done any benchmarking, but it "feels" as fast as a 68HC11 running a similar Forth model (eForth).'
Steve Loughran also claims to have built a system based on Doug Jone's architecture.

There is an industrial project for a transaction-triggered architecture, the MOVE project.
In addition, the New England Digital ABLE processor was a commercially produced Move processor, which was apparently used in AppleTalk routers.


This page created by Ben Clifford, benc@hawaga.org.uk