Processor/1

2021-04-10

Found this gem from my projects. It’s implementation of Processor/1, which is itself “an esoteric RISC architecture”.

This is an old implementation I made quickly in 2016. Don’t remember how I found it, but it sounded interesting. And of course I needed to implement my own one.

Please see my Processor/1 implementation.

The CPU

The CPU is designed to be “esoteric”, thus not that easy for humans to understand. I find this funny, since the design is not that weird for me.

One interesting fact is that the CPU has 256 general purpose registers, which is quite uncommon. It also has few extra special ones on top of that.

The CPU consist only few instructions, which are fairly easy to parse. The instructions are grouped in 1, 2, 3 an 4 byte sized groups. However there’s one instruction taking 10 bytes. As said earlier, if they would not claim this is esoteric I could think it’s something real. Have seen way much more weird ones in my life…

I’m not going more into the details. I’ll let the documentation - and my implementation - to provide the details.

Assembler

I implemented assembler as well, in order to create applications for the architecture. This one was implemented with Python, in order to get the job done fast. Compiler speed was not one of my considerations..

The assembler is very simple one. Most probably has some bugs, but at least works for my example apps (see example folder in my implementation).

Sands of time

I was bit surprised that all the original implementations has disappeared. Back in the days I think there was much more information and references available.

That was the main motivation for me to publish this code. If nothing else, this is my way to preserve a piece of history.

It’s true that you can never get information away from Internet. But some information might just fade away, and it’s really hard to find - if not almost impossible.