Early transistor/relay computers
Armored Cars
Posts: 172
I want to build a very very simple transistor computer but need some way to remember a single bit even when powered down.
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
I also spent awhile (too long) looking for mercury delay tubes until I realized they had mercury in them and are probably outdated anyways. So far I havn't been able to find anything to use in place of them. I need something to delay current through a wire about one tenth of a second. Couldn't find any slow acting relays; a charging a large capacitor might also work, though I don't know how to figure the size or delay time. Havn't been able to turn up anything on Google yet.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·1+1=10
Do what I mean, not what I say!
PS be patient, as Im about to leave work, and I do not have internet at home at present (gotta pay the bill, wont have the money until Monday to do so).
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·1+1=10
Rick
Post Edited (RickB) : 11/9/2005 3:35:10 PM GMT
Since the invention of the transistor, asynchronous computers have been considered a very advanced subject. Until 6 months ago, the only asynchronous computers commercially availible (that I am aware of) were bit-slice computers, or single bit computers. The reason for this is very simple: propagation delay. Because of process variation, each gate's propagation delay will be slightly off, mainly from variations in channel width and parasitic capacitance, added to this is variations in signal line width (caused by process) and length (caused by design). When adding all these variations up on a multibit computer, signal skew will occur, this is when one bit arrives at the next stage sooner or slower than the other bits, the more bits, the more skew. A system clock creates a wait station by introducing a register which clocks all bits in when it is known that all signals have arrived, this resyncs the bits to one another. When designing an async computer out of discrete transistors or discrete gates, the variation of skew is amplified.
Now that you have been alerted to the pitfalls of asynchronous design, if you decide to stick with this approach, Ill help you design an asynchrounous delay line, but it is roughly 10x more complicated than a synchronous delay line, and requires considerable parameterization, calculation, experimentation and fine-tuning, because to get a precise device, you must know the particular behavior of each delay line which can only be determined after it is built, and each ones' behavior will be slightly different, requiring individual compensation.
To give you a window into the proposed method it will consist of one or more stages of buffers and fine tuned capacitors. There are other more esoteric methods, but because they are esoteric, they are very expensive, mercury delay lines have not been used really since the very first computers.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·1+1=10
What got me started was I needed a way to switch some speakers in my car. I could have used a toggle switch, but I had a push button that looked really awesome and wanted to use that. My first thought was to use an SX to debounce the button and switch the relays, but as I got thinking about it I realized I could do the whole thing with relays.
The pic is what I came up with. Hopefully you can follow my perfectly correct schematic.
Basically the power from the pushbutton goes straight through relay 1 and toggles relay 2. Relay 2 constantly has current flowing through it and will toggle relay 1 after a short delay, which, according to the plan, is after the push button is relased. This delay is where I get hung up, which is what I origionally decided to come here for.
Here I need no clock. If making a delay without a clock is too complicated, I'll probably just use an SX.
Back to my origional problem, the toggle circuit for my car. I realized that if I lined a bunch of these up I could count in binary, and then, using AND and NOT logic gates, translate the binary value to a decimal number which could then be displayed on a modified LED display through brute force (sort of like punch cards for each number, but wired in instead).
I made a basic outline of the program, it can be done, I just don't really know all that much about computers. A clock would work, if I use one and know how to make delays I think I could get somewhere with this.
PS, did you forget to attach the picture you are refering to?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·1+1=10
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·1+1=10
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·1+1=10