Relay Computer

My journey in constructing an 8 bit relay computer from scratch ... made from of a ton of solder, wires, lights, relays, sweat, tears, swearing and money.

Architecture isn't just for houses

04 Nov 2013     Architecture

So, with the scene now set (see previous posts) let’s dive right in and take a look at the system architecture I’ll be building my computer upon … here it is …

System Architecture for a Relay Computer
System Architecture for a Relay Computer1

This is a direct copy of the architecture Dr Harry Porter designed when creating his own relay computer. The architecture has the following features:

I personally think this design has a really good balance of functionality vs complexity. Some ‘home-brew’ architectures may have more registers or extra functions, in the ALU for example, but of course that requires more relays, more construction and extra cost. Equally, some may have less registers and maybe less functions which means although easier to construct the developer writing programs for the machine then has more work to do. A good example of this would be subtraction which could be implemented wholly in the hardware design if desired but would certainly add additional complexity to the ALU. However, you can subtract number B from A but making B negative and then adding A and B together. Now the ALU only needs to be able to negate numbers and add numbers — no special subtract circuit is required. We can even take this a step further by removing the need for a special ‘negater’ by performing a bitwise NOT and then incrementing by 1 (due to the special trick computers use to store signed numbers in binary). As you can see though, what was one step for a programmer is now several and as a result the computer will take longer to produce the result.

Right, for those familiar with computer architecture you can probably skip my next couple of posts as that’s the high level architecture pretty much summed up. For those who aren’t — and I’m particularly thinking of my poor friends and family who I’ve somehow browbeaten into reading my posts — allow me to have a stab at explaining what all the things in the list above actually are and how they go in to making a working computer.

  1. Image reproduced here with the kind permission of Dr Harry Porter