datasheets.com EBN.com EDN.com EETimes.com Embedded.com PlanetAnalog.com TechOnline.com  
Events
UBM Tech
UBM Tech

Design Article

Comment


Max the Magnificent

4/11/2011 10:43 AM EDT

That sounds "tasty" :-)

More...



jonnydoin

4/9/2011 10:59 AM EDT

Another interesting user interface for programming the PROM would be to use ...

More...

Building an HRRG Steampunk Computer – Part 3 – Switches and Relays

Clive Maxfield

4/6/2011 12:39 PM EDT

In Part 1 of this mini- series we introduced the concept of a Heath Robinson Rube Goldberg (HRRG) Steampunk computer project; in Part 2 we pondered the system clock; now let’s consider switches and relays…

ROM (Switches)
One thing we are going to need for our HRRG Steampunk computer is some form of read-only memory (ROM) in which to store a simple boot (start-up) program. One way to achieve this would be to have a cabinet containing a number of banks of up/down on/off switches (preferably really uber-cool-looking antique ones).

Assuming an 8-bit data bus (and remembering that we may decide to go for a 4-bit machine for the sake of simplicity), each bank of eight switches would represent an 8-bit byte in the ROM. A switch in the up position could represent a logic 1, while a switch in the down position could represent a logic 0 (or vice versa).

An additional thought is that we need some way to specify the range of memory addresses represented by this type of memory cabinet. For example, suppose the cabinet contained 32 banks of switches (just to pick a number out of the air). In this case, we need to be able to specify whether these 32 banks equate to addresses $0000 through $001F, or addresses $0020 through $003F, or addresses $0040 through $005F, and so forth (where the dollar '$' characters represent hexadecimal values). This will allow us to (a) have as many of these cabinets as we wish and (b) to mix-and-match different ROM technologies [see also the ROM (Plug Panel) topic below].

With regards to the idea of forming a portion of our ROM from switches, Paul from New Boston, NH, emailed me to say: "An arrangement of switches makes perfect sense. You can point to the example set by no less than Seymour Cray in the CDC 6600's Deadstart Panel (what we'd call a Boot ROM these days)."


Paul was also kind enough to facilitate my getting hold of the above photo taken by Dave Redell showing the Deadstart Panel of the CDC 6600 serial number #1 (this machine currently resides at the Computer History Museum in Mountain View, Califonia). As we see, in addition to some control switches at the bottom, this panel comprises 12 words, each containing 12 bits.

As a point of interest, the CDC 6000 was a mainframe computer that was designed by the legendary Seymour Roger Cray (1925-1996) and his colleague Jim Thornton. Created by the Control Data Corporation – and considered by many to be the world's first supercomputer – the first CDC 6600 was manufactured in 1964. The CDC 6600 remained the fastest computer in the world until 1969, at which time it was surpassed by its successor, the CDC 7600. For around 30 years, there used to be a joke that if anyone asked "Which company makes the fastest computer?" the answer was "Wherever Seymour Cray is working now!"

ROM (Plug Panel)
Another form of ROM could be a cabinet containing a big "plug board" – something like the panel a human telephone operator used to use in ye olden days (the sort of thing you see in old black-and-white films).

In reality, this would be simply a giant plug board. Each 8-bit location would have eight sockets and eight corresponding plugs, where each of the plugs would look a bit like an audio jack and would be on the end of a spring-loaded retractable wire. A plug in its socket could represent a logic 1, while a socket without its corresponding plug could represent a logic 0 (or vice versa).

ALU/CPU/RAM (Relays)
Towards the end of the nineteenth century – when Queen Victoria still held sway over all she surveyed – the most sophisticated form of control for electrical systems was the electromechanical relay.

For the uninitiated, a relay is an electromechanical switch that consists of a coil of wire wrapped around a rod of iron or some other ferromagnetic material. When an electrical potential is applied to the coil, it generates a magnetic field that is used to close/activate a switch [see (a) in the figure below); when the electrical potential is subsequently removed from the coil, a spring is used to return the switch to its open/inactive state [see (b) in the figure below].


The point is that the output from one relay – or from a number of relays – can be used to control other relays, and the output from these other relays can be used to control yet more relays, and so forth. Thus, by connecting relays together in different ways, it's possible to create all sorts of things, such as the first automatic telephone switching exchange. This little scamp was invented in 1888 by the American undertaker Almon B. Strowger (1839-1902).

I know this sounds a bit weird, but the local telephone operator was married to a competing undertaker. Strowger became somewhat disgruntled when he discovered that she was redirecting calls from his potential clients to her husband, so he invented the automatic telephone exchange to get her out of the loop!

Perhaps the most ambitious use of relays was in the construction of electromechanical computers, such as the first large-scale automatic digital relay-based machine – the Harvard Mark 1 – which was constructed between 1939 and 1944. This beast was 50 feet long, 8 feet tall, and contained over 750,000 individual components.


Returning to the HRRG Steampunk computer, our next cabinet (or several cabinets) could contain a portion of the CPU (maybe some or all of the ALU) implemented using relays. Or maybe we could create a RAM cabinet using relays. One consideration is that every technology has cunning tricks associated with it. I personally have never actually designed arithmetic and control logic using relays before.

One alternative would be to try to work everything out from first principles. This could be fun, but it would certainly be time-consuming. Fortunately, Paul from New Boston, NH, pointed me in the direction of a book on relay logic called The Design of Switching Circuits by Keister, Ritchie, and Washburn (apparently, the Ritchie who wrote this book is the father of Dennis Ritchie, who was the co-creator of Unix).

There used to be a number of used copies of this book available from Amazon.com. Now there is one copy less, because I ordered one of them!

I also heard from Mike, Carlisle, MA, who said: "As far as a text for designing relay logic, the reference that comes to mind is Switching Circuits and Logic Design by Samuel H. Caldwell, published by John Wiley and Sons. The third printing appeared in November 1960 (its first printing was 1958) and its Library of Congress catalog card number is 58-7896." Sadly, I haven't been able to track one of these little rapscallions down, so if you know of one that's available, please drop me a line at max@CliveMaxfield.com  and let me know.

Until next time, please keep those ideas coming in…




Max the Magnificent

4/6/2011 12:51 PM EDT

Just wait to see what's coming in Part 4...

Sign in to Reply



KarlS

4/6/2011 1:13 PM EDT

Since Bytes were not invented until the mid 1960's,how about using octal and 6 bit BCD coding for characters? Of course Teletype/Start-Stop for communication lines is almost mandatory. Also it seems like the ladder logic (PLD's?) is a good analog for relay logic. ... using octal arithmetic could lead to the world's first 3 bit computer.
Another thing about relay logic is that series contacts do an 'and' while parallel does the "or".
Maybe tin cans and string could be used for clock distribution.

Sign in to Reply



zeeglen

4/6/2011 2:01 PM EDT

RAM can be made from latching relays, one bit each. A RAM cabinet - nice project for someone with a lot of time on their hands. :-))

When I was a kid I remember a museum display of a Strowger exchange compared to a modern (at the time) transistorized exchange. They were interactive, one could dial telephones and watch/hear the Strowger stepping relays do their stuff. The modern exchange had a small replica switchboard with a Nixie counter, when a random light came on the human had to quickly plug a cable into the associated jack while the counter smugly declared how many thousands of connections the transistors could have done in the same time as the human response.

The Strowger was a lot more fun to watch. And for the uninitiated, a telephone dial was a metal disc with 10 holes in it near the circumference and a mechanical finger stop. To dial a single digit one placed the index finger in the appropriate hole and rotated the disc clockwise to the finger stop, then removed the finger and let the spring-loaded disc return to it's home position, allowing the associated cam-operated contacts to open/close the same number of times as the associated digit. It was possible in a phone booth to jiggle the hang-up hook up and down with the required number of pulses, thus bypassing the need to first insert the dime.

In college the ham radio club members had keys to the roof for antenna maintenance. It was fun to take a side trip into the elevator control room and watch all those relays click-clacking and sparking away.

Sign in to Reply



AcousticCliff

4/7/2011 2:49 PM EDT

Back in the day we didn't even have zero's. We had to heat the one's with a torch and then bend em' over when they got soft enough.

Sign in to Reply



Max the Magnificent

4/7/2011 3:30 PM EDT

You were lucky! We dreamed of having ones that could be heated enough to be bent over -- our ones were the old Mark 4 versions that were too brittle and fell apart at the drop of a hat (not that anyone I knew could afford a hat, you understand, but we heard tales that people wore them in the big city...)

Sign in to Reply



jculpepper

4/7/2011 4:30 PM EDT

It might not be as practicle but if you are using switches you should use one of those hugh knife switches. The kind Dr. Frankenstein throws to bring the monster to life. Ok, that might make the cabinet too big but you should at least use it to turn the power on.

Sign in to Reply



Max the Magnificent

4/7/2011 4:59 PM EDT

"Great minds think alike,: as they say ... I already purchased a Bakelite and Copper beauty from eBay

Of course, they also say "Fools seldom differ," but I know they (whoever "they" are) aren't talking about us :-)

Sign in to Reply



WKetel

4/8/2011 8:30 PM EDT

For your memory bank, a really neat approach could be magnetics. Each "byte" would be a row of steel pegs, with a "row" coil, addressing the whole group. Then the sense coil would be driven by pegs pushed in, or not driven by pegs not pushed in. If you wanted to avoid sense amplifiers, small reed switches would work quite well. Not quite the old-time effect, but definitely not current.
One other choice would be punched cards, like the late 1950s Hickok brand tube checkers. Remember them?

Sign in to Reply



jonnydoin

4/9/2011 10:28 AM EDT

Relays could also be used as the nonvolatile memory, like a eeprom, using Bistable Relays.
Bistable relays have two coils, one for placing it in the NO position, and another to place it in the NC position. You can have a double pole dual throw (2 reversible contacts) that can even be used to form complex logic with memory, for state machines that survive a power-on/power-off cycle.
With bistable relays, we can have a cabinet with a NVRAM, or a cabinet with a PROM that could even be used as self-modifying code.

Sign in to Reply



jonnydoin

4/9/2011 10:59 AM EDT

Another interesting user interface for programming the PROM would be to use telephone dial disks for the address and data.
You could have regular 10-number dials for the addresses and modified disks with only 0 to 7 for octal data, to ease use of binary relays.
The relays have a flag that shows the bits, but we could also have a nice octal display with Nixie tubes showing current address and data for the memory interface. If the opcodes and operands are 3 bit wide, one could easily program the assembly code by hand.

Sign in to Reply



Max the Magnificent

4/11/2011 10:43 AM EDT

That sounds "tasty" :-)

Sign in to Reply



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)