Close

Ternary computer

A project log for Trixy

A ternary computer.

alice-crushalice crush 10/12/2020 at 17:513 Comments

But what will it be made from?  Relays, dg 403's, or more basic parts, like transitors and diodes... I'm leaning towards relays, but then I saw another project here building from diodes and transitors.  Hmm first design decision...

Discussions

alice crush wrote 12/28/2020 at 19:10 point

They are good questions, but ive got most of them answered now... general purpose application cpu.  Most definately Turing complete, it should run about 5 to 0.5 ips or one milliflop or so... slowly but sure.  I have considered an instruction set.  My first dissapointment is how little a 3nary computer differs from a binary one.  At some level I expected miles of differance, I got millimeters.  It will still have an ALU (which will add and compute bitwise nor of its operands) and registers and a control unit...(although the microcode only design of Super Micro Relay computer does have an appeal) As for signaling I will use two of the three voltage levels... -Vcc, and Vcc.  I plan on using 12v as the signalling level.  Which gets back to my comment of having cracked the register. I currentyly plan on 2 relays per Trit, one will latch to Vcc the other to -Vcc.  Which one will be decided by diodes.  Each of the two relays will store 1/3 of a Trit.  The 0 logic will be signaled by no voltage.  So yes 'floating' 0.  The point of my trinary experiment is to put all 3 signals on one wire.  I will test as i go along in the build...so yes I will test basic principles at each step... starting with the ALU and the registers.  Answers answers answers... until my first circuict is built,... dreams, plans, expectations...

Hack on! oh you crowd of readers...

  Are you sure? yes | no

Yann Guidon / YGDES wrote 10/24/2020 at 16:02 point

As you're shopping around for ideas, techniques, tricks and perspective, I believe it's a good idea to use your first log to collect the questions and answers that arise. Logs and comments are great for that :-)

Did you see my first relay explorations at #SPDT16: 16-bits arithmetic unit with relays  ? It was a first failure for me, and you'll save a lot of time/money/efforts by reading it :-)

For example : "know your relays" and all the electrical characteristics. In the case of the RES15, the alluring point was that it used a very low voltage, but this greatly increases the current so one relay output can only drive 2 parallel relay coils, limiting the "fanout". Typical relays have a much higher fanout so I had to adapt my approach and find new topologies.

For example this forces me to use multiple higher voltage rails and put the relay coils in series, which also complicates the design. But that's the great advantage of relays : the coil is isolated from the switch and can float or be reversed, you can get creative ! Transistors have only 3 pins and are forced to use a common reference rail for input and output, which strongly favors binary systems.

More sensitive relay types exist, called "reed relays" but they have a significantly lower output current handling and are mostly in SPST configuration, which also adds topological constraints.

From the logic design perspective, the hierarchy is :

* SPST : limited use, stay away unless you can't do otherwise.
* SPDT : less cumbersome than SPST but still needs tricks to be efficient in many cases
* DPDT : here we're talking :-)

Konrad Zuse used to hack his own relays, scrapped from telephone exchanges, and some of them had "many" contacts, which greatly simplified his designs. Almost a century later, we're using cheap mass-produced parts that are less flexible so we must invent new tricks.

Due to the stock I have, I use SPDT for most of the design, but I sprinkle SPST reed relays where I need low power and sensitivity (such as the register set of #YGREC8 ), and DPDT where it's too hard or too complex to use 2 SPDT in parallel. One such example is the ALU where the whole chain of XOR can be performed efficiently in DPDT.

If you want to build a computer, whatever the technology, you'll also need to be very familiar not only with the architecture, but also with each type of circuit that you'll need, and how to most efficiently implement all of them in the technology of your choice, which in turn could influence your architecture.

I know many examples of #Relay-based projects  and some ternary projects, but I am not sure I've yet seen a ternary relay computer. It's going to be quite an endeavour and the chances of succeeding are slim, which makes your project even more interesting and valuable !

Shoot for the stars, you'll always learn and do something :-)

  Are you sure? yes | no

Yann Guidon / YGDES wrote 10/22/2020 at 04:47 point

I could say : it depends on what you want that circuit to do. What is its purpose. Should it be Turing complete ? How fast ? Do you consider an instruction set ? What are you most familiar with ?
What sort of signaling will you use ? 3-level signals (like -5V/0V/5V) or use a "floating" level for the 3rd level (0/Z/1) ?
And since pretty much all electronic components (relays, transistors...) are bistable (on/off), what benefits do you expect from ternary logic, if you have to code one signal with 2 wires ?

Will you test the basic principles with a scaled-down circuit, such as a clock or a simple basic counter ?

Questions, questions, questions...

  Are you sure? yes | no