Close

If you don't have any Dollars ?

A project log for Simple Relay ALU

Only 2 relays and a few diodes, but 10 functions including ADD and Shift Right. Simplest relay ALU ever designed ?

roelhroelh 09/27/2019 at 20:283 Comments

If you don't have dollars (Sorry I mean diodes), and you don't want two different current directions in your A and B inputs... What would be an easy ALU circuit ?

The above circuit will do all possible logic functions, and will also ADD.

The controls are a lot like that of the 4-bit TTL ALU, as described in ITS FIRST Log. It also operates in much the same way.

If F4 has no power, then none of the RL3 relays will attract. In this case, the four inputs F0 - F3 determine which of the 16 possible logic functions is executed. Of course, the CY-IN of the first circuit must also not be activated.

For addition, F4 must be powered and the XOR must be selected as operation (F2 and F1 powered). Note that there is no built-up of carry delays.

If you also want a shift-right for your one-byte ALU, then add two 4-pole relays to select the normal ALU result or a shifted version of it.

Note that the upper contact of RL1 has been mirrored in the drawing, to make it easier for you to follow the current flow. Also note that the ground connection of the relays is not shown.

Discussions

Stefano wrote 09/29/2019 at 22:23 point

Very interesting idea to reuse the A register contacts! But looking at the circuit (unfortunately still with mobile phone) seems to me that the carry delays sum up in.the addition, but I'll have a look better tomorrow.

Another nice point is that the circuit seems entirely compatible with both logic 0 attribution (0V and disconnected), isn't it? :)

  Are you sure? yes | no

roelh wrote 09/30/2019 at 07:18 point

Hi Sefano,

It is true that one of the relays is connected to the Carry-in signal, but the contacts of this relay are not used to generate the Carry-out, so the delay of these carry relays don't add up.

  Are you sure? yes | no

Stefano wrote 09/30/2019 at 19:21 point

Yes, clearly carry is not adding up! And should not be fully compatible with the 0V/12V design since the combination CY-IN=0 and B=1 for the addition would make a short circuit without "dollars"!

With the possibility to have 0V (and not disconnected) my proposal is still saving the SHR relays and A register poles. And you can also go down for 12 total relays for 8 bit with all the main functions (including SHR) as I would have done (so I think I'll keep the page title ;)), but in my case I would need to add relays to have the 0V on the bus for the signals coming from the punch card reader, so I think I'll free up one more pole pair in A and use this version and keep the "disconnected" design! :)

Without using the A register poles and 2 relays per bit I think that might be also possible to "reengineer" the old Zuse layout. And, never say never, until mathematically proved maybe an even smaller design is possible (until now many people considered the Zuse design the smallest possible)!! ;)

  Are you sure? yes | no