Slashdot Mirror


Ternary Computing Revisited

Black Acid writes: "American Scientist's Third Base was a nice introduction to the advantages base 3 but didn't really explain ternary computing. Since 1995, Steve Grubb has maintained trinary.cc which covers many aspects of computing with base 3. Not only are the basic unary and binary gates enumerated, which I independently verified as being basic building blocks, but real-world circuits are described also. Half and full adders, multiplexers and demultiplexers, counters, shift registers, and even the legendary flip-flap-flop are all covered with ternary algebra equations and schematics. Steve Grubb touches on problems of of interfacing to binary computers elegantly, although no schematics are given. Perhaps most impressive are the Transistor Models - schematics of the basic gates which can be built from cheap parts available at your local electronic component store."

134 comments

  1. on, off, ? by eric6 · · Score: 4, Funny

    does ternary processing mean you will be using on, off, and some third state of electricity? "dim"?

    --

    --
    fight global cooling

    1. Re:on, off, ? by trash+eighty · · Score: 1

      no, it used the direction of the current or something like that... so one way, the other way and off

    2. Re:on, off, ? by Ashran · · Score: 1

      As stated before, its on / off and maybe ;)
      Is the bit dead? You'll never know till you open the harddrive!

      --

      Before you email me, remember: "There is no god!"
    3. Re:on, off, ? by drightler · · Score: 2, Informative

      I beleive a previous article said it was "Less Then", "Equal To", "Greater Then" as opposed to "Equal", "Not Equal"

      --

      blah blah blah....
      drightler@technicalogic.com
    4. Re:on, off, ? by popeyethesailor · · Score: 5, Funny

      Close. It's like On,Off and CowboyNeal.

    5. Re:on, off, ? by shogun · · Score: 1

      third state of electricity? "dim"?

      No no, its not a state of electricity its the rest state of all the Anonymous Cowards from around here.

    6. Re:on, off, ? by Novus · · Score: 3, Informative

      Instead of two voltage levels (traditionally zero or +5 V or something like that), you use three voltage levels. It is usually easiest to use zero, +x V and -x V, but in theory, you could use whatever voltages you like.

    7. Re:on, off, ? by guuyuk · · Score: 1
      Or it could be like the infamous three position "Lucas switch" of British Car fame: Off, Dim, Flicker.


      My interpretation of the Lucas switch: Dim, Flicker, Short (after which you let all of the smoke out of the wire, which causes it to quit working)


      For those of you that have tinkered with British or Italian cars, you have dealt with this before (or will soon). :-)


      For those of you who haven't, Lucas is the company that supplied/supplies the British automotive industry with electrical components (switches, relays, etc.) The early design of their electrical connectors left much to be desired. Ironically, this same company produces some of the best brakes and other hydraulic components in the industry (Lucas-Girling).

      --
      We're sorry, the phone number you have reached is imaginary. Please rotate your phone 90 degrees and try your call again
    8. Re:on, off, ? by Izmunuti · · Score: 1

      More like +1, 0, -1, or from the article: 0, 1, 2. Using the signed-digit (+1,0, -1) representation has some handy properties, like adders without carry-chains.

      The site is interesting; Mr. Grubb has definitely put some thought into it.

      The one issue that I find problematic is the requirement for bipolar transistors to get a +V and a -V. CMOS uses little power compared to bipolar. A trinary chip would have to be based on bipolar technology which would require more power and be less dense. Also, when laying out a chip one now has to worry about two power supplies instead of one: scratch one layer of metal. Now it's harder to route and even less dense.

      So there might be a use for trinary logic in chips that are already bipolar for some reason. A smidgen of trinary logic latched onto a mostly analog chip of some sort? I don't think they have a chance against current CMOS binary chips.

  2. If a... by tonywestonuk · · Score: 2, Funny

    If a Bit is short for Binary Digit...

    Does that mean that a Ternary digit is a 'Tart'? Do 8 Tarts make a 'Tight'?

    We could be having MegaTights of Ram, and GigaTights (or even TeraTights) of disk!

    Tony

    1. Re:If a... by Anonymous Coward · · Score: 0

      Isn't it Bit Digit. Which would give porn a whole new level on a pc.

    2. Re:If a... by tonywestonuk · · Score: 1

      Opps.... Spelling...

      Tight should be spelled 'Tyte'!

    3. Re:If a... by Anonymous Coward · · Score: 0

      s/Bit/Binary/

    4. Re:If a... by Snar+Bloot · · Score: 1
      If a Bit is short for Binary Digit, then why can't Tit be used for ternary digit?

      That would allow for Megatits and Teratits, and let the nerds guffaw around the water cooler more often.

    5. Re:If a... by helleman · · Score: 1

      Actually, if Bit is short for BInary Digit than
      a Ternary Digit would be a

      Terd. (Turd?)

      I knew it! Ternary computing is full of shit.

    6. Re:If a... by TMacPhail · · Score: 1

      You didn't really make to much sense there. You went from bit coming from the first two letters of binary and the last letter of digit and then you said that terd comes from the first three letters of ternary and the first letter of digit. Basicaly, your conclusion was not actually based on any known fact remaining true.

    7. Re:If a... by rlowe69 · · Score: 2

      If a Bit is short for Binary Digit...

      Actually, 'bit' is short for binary digit.

      That would make the shortform for ternary digits TITS.

      Which would then lead to TYTES, KILOTYTES, MEGATYTES, etc ...

      Of course, it would be better to have something that doesn't sound so alike ... bit-tit, byte-tyte ...

      how about TET and TEET? TEET being the single ternary digit and TET being a logical grouping 3^3=27 TEETS?? The only logic there being that it's easier to say MEGATET than MEGATEET ... and MEGATEETS sound silly. ;)

      --
      ----- rL
    8. Re:If a... by Proteus+Child · · Score: 1
      If a Bit is short for Binary Digit...

      Does that mean that a Ternary digit is a 'Tart'?

      I was always partial to 'trit' or 'trin'.

      Just out of curiosity, what do any Mage players think of this? A dream come true?

      --

      Proteus' Child

      Doko ni datte; hito wa, tsunagette iru.

    9. Re:If a... by wass · · Score: 2
      Does that mean that a Ternary digit is a 'Tart'? Do 8 Tarts make a 'Tight'?

      No, I I think it's better called Trinary. Tertiary would be a more appropriate name if base-2 was instead called Secondary. If trinary is used, then you've got Trinary Digits, or trits.

      However, the real question is when they get to base-4 computing, will they call it quits?

      --

      make world, not war

  3. 0, 1, 2 ? by iBod · · Score: 1
    This may be a dumb question, but if ternary logic states are represented by -ve, zero and +ve voltages on the gates, why are the states enumarated as '0', '1' and '2' rather than '-1', '0' and '1'?

    Just wondering.

    1. Re:0, 1, 2 ? by IngoSchi · · Score: 1

      Because you want the states to represent numbers
      in base 3 which has the digits 0,1 and 2.

    2. Re:0, 1, 2 ? by Flakeloaf · · Score: 1

      In the binary number system there are two digits: zero and one. The ternary number system has three digits: 0, 1, 2. Imagine a hypothetical "decinary" system: How many digits would it have?

      The way these digits are represented in the computer is unimportant, and shouldn't be confused with the way we represent them on paper.

      --

      Am I the only one who heard Roxette to sing "I'm gonna get blitzed for some sex"?

    3. Re:0, 1, 2 ? by iBod · · Score: 1
      Imagine a hypothetical "decinary" system: How many digits would it have?

      Duh! let me guess now...

      Well thanks. Actually I'm, quite familiar with number base.

      I was only wondering anyone had any alternative thoughts on the subject - which one of the posters above did.

    4. Re:0, 1, 2 ? by Keeper+ofthe+Keys · · Score: 1
      There are two notations to represent trinary:
      • Standard, which is the enumeration 0, 1, 2 and produces numbers such as 122101 and 202210
      • Balanced, which uses -1, 0, 1 as its notation, and is much easier to work with by humans. It produces numbers such as 10101 (note the BOLD should actually be a superline above the '1' for negative notation) and 11001


      For example: 1010
      = [(-1) * 27] + [0 * 9] + [1 * 3] + [0 * 1] OR
      = [(-1) * 3^3] + [0 * 3^2] + [1 * 3^1] + [0 * 3^0]
      = [-27] + [0] + [3] + [0]
      = -24
    5. Re:0, 1, 2 ? by Proteus+Child · · Score: 1
      Imagine a hypothetical "decinary" system..

      Didn't the ENIAC use denary to represent numerical values internally? Or was it another computer of that era?

      --

      Proteus' Child

      Doko ni datte; hito wa, tsunagette iru.

  4. break the shackles of your binary programming! by alienmole · · Score: 5, Informative
    Disclaimer: I haven't read any of the articles.

    However, in stodgy old binary, the levels are typically something like 0 Volts (i.e. "off") and 5 Volts (or 3.5 Volts). A "typical" ternary system would add a negative voltage, like -5V (or -3.5V), since that's easier to detect reliably than an intermediate positive voltage value.

    So to answer your question, yes a "third state of electricity" is used, one which was previously being ignored in binary circuits. Instead of on, off, and dim, think of positive, off, and negative.

    1. Re:break the shackles of your binary programming! by Christopher+Thomas · · Score: 2

      However, in stodgy old binary, the levels are typically something like 0 Volts (i.e. "off") and 5 Volts (or 3.5 Volts). A "typical" ternary system would add a negative voltage, like -5V (or -3.5V), since that's easier to detect reliably than an intermediate positive voltage value.

      This set of articles uses current-mode devices with "forwards", "backwards", and "off" as the current levels. Similar idea, and it makes some aspects of the design simpler.

    2. Re:break the shackles of your binary programming! by deepsky · · Score: 1


      If the third state is implemented as a negative voltage, then I suggest that the three states are named: ON, OFF and NO.

      Because NO is the reverse of ON. :)

    3. Re:break the shackles of your binary programming! by deepsky · · Score: 1

      Well, in this case maybe FOF would be more aesthetically pleasing...

    4. Re:break the shackles of your binary programming! by Anonymous Coward · · Score: 0

      no, if the voltage is detected as 12 V it could also be 24 V. Two checks would be need to determine the "true". However, no voltage, positive voltage and negative voltage would only require one check.

    5. Re:break the shackles of your binary programming! by Anonymous Coward · · Score: 0

      What bizarre world do you live in and how does electricity work there? There's no ambiguity if all voltages are compared to a fixed reference standard. Any 3 sets of sufficiently different voltages would work fine for checking.

  5. Why Tri why not just go Analog ? by CDWert · · Score: 4, Interesting

    This is all nice, but if we have to go to all the effort to reinvent the wheel , why not go all the way, I mean if we have to come up with all new components and software why no go the Analog route ?
    Digital computing gained popularity for many reasons, cost effective to build, easy to program, with the state of current electronics this is no longer neccesarly the case but we there ,
    Analog copmuting has many advantages over digital computing, especially in the AI arena, Since there can never be a digital concept of infinity
    Rockets in the beggining were put into orbit using ANALOG computers, there is a reason, accuracy to the nth factor.

    I played around with analog computing in the 70-early 80's cool stuff if more would have been available, fact wsas everyone was happy with their 8 bit pc.

    Trinary computing sounds a little like taking something that was settled on in the first place and resettling again
    I mean come on isnt the goal of computing to have a supercomputer take control of our national defense grid when it becomes sentient ?

    --
    Sig went tro...aahemmm.....fishing........
    1. Re:Why Tri why not just go Analog ? by yellowstone · · Score: 4, Informative
      Disclaimer: if this is a troll, then you got me. Ha, ha.
      Trinary computing sounds a little like taking something that was settled on in the first place and resettling again
      Apparently, you can't be bothered to read the Third Base link referenced in the body of the story. To summarize:
      1. The cost of representing a particular number in a given base depends on a) how many digits there are in the number in that base, and b) how many digits there are in the base
      2. Analysis of said formula gives a minimal value at e=2.718281828...
      3. Dealing with numbers in irrational bases is problematic, but the same formula also suggests that using base 3 is more optimal than using base 2.
      4. In the end, none of this matters, since AYBABTU.
      --
      150 Opening BINARY mode data connection for slashdot.sig (129323052 bytes).
    2. Re:Why Tri why not just go Analog ? by tony_gardner · · Score: 2

      Try putting your analog computer next to a microwave, TV, speaker, heater, source of vibration atc. Try comparing the error on an analog calculation under near-perfect circumstancesto that of a digital calculation. How will you store the data? If the data is stored digitally, how do you deal with AD converter errors.

      In short, analog computers are fast and accurate for small calculations under controlled conditions. Digital computers are better for difficult calculations (Despite what you'd think, calculating orbits is not a difficult calculation by modern standards) and under arbitrary conditions, a digital signal is less prone to error.

    3. Re:Why Tri why not just go Analog ? by lordbyron · · Score: 1

      The original Ternary Computer that the Russians built "The Russian Refrigerator"

      Was Analog. They spent 10 years writing software for it and by the time they had gotten guidance modules written for it they could buy them from Westinghouse for 100x less in digital binary.

      Lordbyron
      www.wylywade.com

    4. Re:Why Tri why not just go Analog ? by Anonymous Coward · · Score: 0

      The correct logical follow on is likely to be fundamentally different (in an information theoretical sense). Perhaps it will be quantum computing , which has physical reasons for existing (although manufacture of quantum devices is in the most preliminary stages, sp it may be a long time before we see serviceable quantum machines).

    5. Re:Why Tri why not just go Analog ? by csbruce · · Score: 1

      2. Analysis of said formula gives a minimal value at e=2.718281828...

      My understanding of this is that e is optimal only if the cost of supporting more signal levels grows linearly with the number of signal levels represented. Somehow, I really don't think that this is the case. I'm more inclined to believe that there is a step increase between 2 and 3.

    6. Re:Why Tri why not just go Analog ? by markmoss · · Score: 3, Informative

      The cost of representing a particular number in a given base depends on a) how many digits there are in the number in that base, and b) how many digits there are in the base This assumes that the cost of increasing the base is the same as the cost of increasing the number of digits. There is no particular reason to expect this to be true. So far as I can tell, it definitely is not true when comparing the transistor count of binary, trinary, and higher bases. The step from binary to trinary is a big one -- either your gates are like analog circuits, or they are essentially a double binary gate (100% more circuitry for 50% more states/bit). The step from 3 to 4 is not nearly as big...

      I dissected their inverter circuit in a different post -- in short, it won't work for the intermediate level, and in fact closely resembles a primitive ancestor of TTL binary.

      This is not to say that higher bases are always and everywhere a bad idea in electronics, just that you need to be cautious when taking designs from someone who hopes someone else will build them... Transistors are becoming much cheaper than wires, and higher bases really save on wires. So does time-division multiplexing (e.g., sending the bits twice as fast on half as many wires), and at this point we better know how to do this, and can make it work more reliably at lower cost as compared to trinary. Eventually, multiplexing will hit some sort of practical speed limit, and then sending multi-level signals may be cost-effective. I just don't see any particular reason to stop at 3.

    7. Re:Why Tri why not just go Analog ? by Liquor · · Score: 1

      I dissected their inverter circuit in a different post -- in short, it won't work for the intermediate level, and in fact closely resembles a primitive ancestor of TTL binary.


      Their inverter seems more related to current tristate outputs (i.e. zero, one, off) than trinary, but you might want to check the RSFQ tristate logic. Seems the links for more info are down at the moment, though.

      --

      Liquor
      Sanity is a highly overrated commodity.
    8. Re:Why Tri why not just go Analog ? by markmoss · · Score: 2

      No, their inverter doesn't have an off state. It's either low (Q1 output transistor on to output almost -3V), or high (Q1 off, R2 pulls up to +3V). You need two output transistors for tristate (one in place of R2), one to turn on for high, one to turn on for low, both off for the no output current (tristated).

    9. Re:Why Tri why not just go Analog ? by Tekgno · · Score: 1

      Analog copmuting has many advantages over digital computing, especially in the AI arena, Since there can never be a digital concept of infinity

      How on earth do you create equipment to handle or even create this value of infinity?

      Binary computer, touch CMOS chip, it dies
      Analog computer, touch chip, you die

      personally I would prefer a computer that I could kill and not the other way around.

      Seriously though.
      IANAEE (I am not an Electrical Engineer), but I don't see any way in which you could generate or store infinite voltages, however infinite currents could be manipulated if the computer was made out of superconductive materials.

      With the current state of superconductor technology, the cooling rig for a machine like that would truly be a beast.

    10. Re:Why Tri why not just go Analog ? by Liquor · · Score: 1

      Sorry, I skipped some mental steps in my comment. I looked at their inverter circuit, came to the conclusion that as a 3 level voltage inverter it was seriously lacking (saturated emitter follower??) and looked at the output stages of their other gates to come up with that comment.

      (Circuit tricks that depend on transistor gain, but NOT equal gains, to set the switching thresholds and approximate a connection to ground are not, IMO, useable as a real circuit, even though a 'simulator' will work fine.)

      The best I could come up with out of their circuits was 'rotate down' - voltage switched positive and negative output, and although it's theoretically a complementary emitter follower, zero is open (to a resistor) zero output - add a saturating transistor between the output bases, and you've got a tristate. But you are correct, this is not the inverter that I was looking at.

      Meanwhile, the link I suggested is still applicable for naturally tristate circuitry - josephson junctions and magnetic flux work equally well for switching between positive, negative, and zero with no additional components.

      --

      Liquor
      Sanity is a highly overrated commodity.
    11. Re:Why Tri why not just go Analog ? by Kiryat+Malachi · · Score: 1

      Analog computers were used for orbital calculations for a simple reason:

      It's *very* easy to do differential and integral equations in analog circuits. It's much harder to do them digitally.

      Orbital and aerospace/ballistic calculations involve lots of integro-differential equations.

      FWIW, there's a (relatively) cheap source of analog computers available still - analog synthesizers. They can be interlinked and interchanged with analog computers, and the demands of music make sure they're fairly accurate. Wouldn't trust the space shuttle to an MOTM synth, but then again, I'd just use a binary computer.

      --

      ---
      Mod me down, you fucking twits. Go ahead. I dare you.
      (I read with sigs off.)
  6. Zero effect to developers... by MosesJones · · Score: 0, Flamebait


    To be honest I say "who cares" if I'm running on a base 2, base 3, base 98 or Analogue computer. The vast majority of applications are written in languages that are then compiled to the wire. So use the most efficient deployment machine but it doesn't effect your day to day job. There appears in general to be too much in computing about the next whiz bang feature from marketing rather than developing from the building blocks we already have.

    Sure this sort of thing is "interesting", but what is the actual benefit of writing applications in HLL that are then compiled down to this instruction set or that ? If it runs faster and is more reliable then fair enough but most of this is redundant as in reality a slower processor that has had more development time in its compiler will probably function better than a faster processor with a poor compiler.

    This obsession with the quirky and the new is indicative of marketing and the hacking culture of computing as it now stands, M$ are probably the worst proponents of this approach but no other really make a stand against it.

    This isn't "Stuff that matters" its "irrelevant stuff to pass sometime"

    When was the last time anyone read an article _anywhere_ that talks about building on the current technology base rather than re-inventing the wheel. Linux has succeeded by building on the past. M$ have succeeded by continually re-inventing it. This is yet another example of the desire for "new or different" over getting hands dirty and improving what is there

    --
    An Eye for an Eye will make the whole world blind - Gandhi
    1. Re:Zero effect to developers... by micromoog · · Score: 2
      Hmmm . . . maybe because this site isn't just for developers?

      Maybe this "doesn't effect your day to day job", but it is an interesting computer science article. Apparently you want a site that's "software news for developers, stuff that matters only to a very narrow audience".

      If you'd get your head out of your ass, you'd realize that most of technology comes from building on the past; that's why it doesn't usually make the news. Technology has always been marked by gradual refinements, occasionally interrupted by large leaps.

    2. Re:Zero effect to developers... by macrom · · Score: 1

      I'm going to guess that you are unfamiliar with Boolean logic operators, shift operators, etc. that are a part of many languages (C and C++ being the most popular). Introducing a new base would indeed break a good deal of code that relies on a these constructs which are based (no pun intended) in a binary number system. The |, &, and ^ operators in C/C++ would have to take on new meaning or possibly be deprecated. Shift operators (<< and >>) are often used for divide and mulitply by 2 -- what happens to that functionality?

      And let's not forget all of those hours spent in Algebra/Geometry/Calculus doing truth tables and proofs based on Boolean logic. I'm too far in debt from my college education to just throw away all of that valuable knowledge! :-)

      greg

    3. Re:Zero effect to developers... by SlipJig · · Score: 1
      I think the point is that (theoretically and eventually) this could provide more efficient hardware. If you don't agree that this might affect developers, then perhaps you'd like to tell Intel, AMD and Motorola to stop improving their chips, they run fast enough, thanks. So it won't make you develop in a different language. Who cares? The article's not about a new programming language.


      I don't think the pursuit of binary computing needs any encouragement. The companies above spend billions on it, products that use it are everywhere, and schools around the world teach students to design binary computers. Binary computing is being refined and improved as fast as it can be, period.


      And even if trinary computing goes nowhere, I think it should be explored, if for no other reason than principle. How else are you going to know if it's better? The world needs more variety, not less (check out this book for why), and if you think otherwise I suggest you go work for Microsoft or McDonald's.


      I, for one, am interested in alternative approaches not *necessarily* because I think they're better, but because without being exposed to them I won't know if my current assumptions are valid. For that reason *I WANT* to see this kind of thing on /. If something is better, I will use it without marketing's help.

      --
      Read my keyboard review.
    4. Re:Zero effect to developers... by iBod · · Score: 1
      This obsession with the quirky and the new...

      But that's exactly why I read Slashdot!

      If I really want 'Stuff that matters' there are plenty of other places to go.

    5. Re:Zero effect to developers... by Peyna · · Score: 1
      No effect to developers? A major architecture change would cause alot of systems programmers, and people working with DBMSs to have to rethink their entire approach.

      If the data is all represented in a format other than binary, that means that it will be that way on disk as well as internally, (otherwise it seems pointless to have to switch it to binary when leaving the processor, non?).

      Operating systems would have to be rewritten for this new architecture, and that isn't exactly an easy process, especially considering that we're not talking just Intel to Alpha here.

      --
      What?
    6. Re:Zero effect to developers... by justinstreufert · · Score: 1

      Please. The obsession with quirky, new and different things is a primary element of human nature.

      It makes me laugh that you use these words with disdain, when most people -- or at least geeks (and probably you, if you'd admit it to yourself) thrive -- no, LIVE on this stuff. New things, quirky things and different things are, to my knowledge, subsets of the class called "interesting things..."

      The desire to do, learn or be part of something new or odd is precisely what has powered the whole hacker culture from the beginning. Think about it for a minute...

      And as for marketing -- You're on the right track. The theory behind marketing is that people like interesting things. But your logic is transductive; you seem to be condemning ALL new or different ideas. ;)

      I agree that building on what we have is important, but what if we realize that what we have has become a giant, messy, bloated crapfest, or just that there might be a better way to start? I'll take my BMW Z3 and you can just keep developing a better horse feed to make your carriage run faster.

      Justin

      --
      "Why would God give us a waist if we wasn't supposed to rest our pants on it?" - Rev. Roy McDaniels
    7. Re:Zero effect to developers... by CMiYC · · Score: 2

      Sure this sort of thing is "interesting", but what is the actual benefit of writing applications in HLL that are then compiled down to this instruction set or that ?

      You are rather arrogant, aren't you? I care about this kind of stuff because I don't write applications. I build hardware. You don't seem me bitching about MAME running on the XBox. I could use your same "who cares" argument by saying "No kidding, its a PC. Let's stop wasting our time with that. Its 'interesting' but nothing new."

      So I am sorry if it bothers you that Slashdot appeals to a broader audience than code monkies (which apparently you are and the other 99% of the people that read slashdot are not).

      This isn't "Stuff that matters" its "irrelevant stuff to pass sometime"
      God, a statement like that just makes me boil.

      This is yet another example of the desire for "new or different" over getting hands dirty and improving what is there

      You don't even know what a trinary system is, do you? Its exactly dealing with improving what is there already. By having 3 different states, we could significantly increase the rate with we transmit serial data. (Which is idea that just popped into my head.) Its a lot faster to detect two distinct voltages than two that are very close.

      Ah, no one cares about you anyway. Go back under your rock.

  7. Adopting crypto to trenary computing by Kiwi · · Score: 4, Interesting

    One of the engineering problems w.r.t. trenary computing is how to have a crypto algoritm for trenary computing, since all of the modern crypto schemes assume binary computing.

    One of the nice things about the Rijndael crypto algorithm is that, becuase of its "wide trail strategy" design, it is easy to adopt to different environments, including trenary computing.

    I am sure that a variant of Rijndael which does everyting in "trits" instead of "bits" would have the same security features as the current Rijndael algorithm. The only thing that would have to be re-invented is the sbox. The rest (changing the galois field to a 3-base instead of a 2-base galois field, and chainging the MDS matrix used) could be simply adopted.

    - Sam

    --

    The secret to enjoying Slashdot is to realize that it should not be taken too seriously.

  8. 3rd base? or base 3? by sewagemaster · · Score: 1, Offtopic

    i guess every average geek can now make it to 3rd base with their girl. all they need to do is to visit radioshack and purchase their on-and-off switches and gates - sounds like someone's semi-automatic gun's fully loaded already! ;-)

  9. History Repeating by jweatherley · · Score: 0, Redundant

    A very similar story was posted less than three weeks ago. Many of the replies were lame jokes about Tits and Yes|No|Maybe logic - please don't make us suffer them again.

    --

    --
    Reverse outsourcing: it's the future
    1. Re:History Repeating by Anonymous Coward · · Score: 0

      Too late. Harm has been done already.

    2. Re:History Repeating by Anonymous Coward · · Score: 0

      Oh really? Would you kindly care to point out where logic gates and trinary algebra is used in Third Base? If you read the article, maybe you wouldn't post such blatantly false comments. trinary.cc has infinitely more depth.

    3. Re:History Repeating by jweatherley · · Score: 1

      Maybe you could kindly point out where I gave a rats arse about logic gates and trinary algebra. My post was about the lame karma whoring +5 funny jokes that had been made many, many times in the previous story and sadly repeated in response to this one.

      Perhaps if you read my original post you wouldn't make such blatantly false comments.

      On a further karma burning point, why was the original modded as redundant? Flamebait maybe, but redundant? No-one had mentioned the previous article when I posted - perhaps someone posted minutes before me but this just underlines the pointlessness of the redundant moderation.

      --

      --
      Reverse outsourcing: it's the future
  10. - Where's the Chips !?! by Bender_ · · Score: 2, Informative


    Easy answer: Signal to Noise ratio renders ternary logic useless. Either it comes at a slower speed than binary logic or at higher power consumption.

    In addition - the site design doesnt make it look very credible..

    1. Re:- Where's the Chips !?! by Graff · · Score: 1

      Signal to Noise ratio renders ternary logic useless.

      The signal-to-noise ratio is similar for both binary and these type of trinary systems, if they are using similar hardware. The three states of a the trinary system given here are 0 (-x V), 1 (0 V), 2(+x V). In other words, the circuitry in both cases still uses the same voltages, and thus the same resolution. The only addition is current direction, which is just a modification of normal binary logic circuits.

      the site design doesnt make it look very credible

      So if someones site doesn't look fancy and professional then their ideas are no good? Perhaps the guy who made the site was too busy coming up with good ideas to have time to make a fancy frames-and-flash site. I think Steve Grubb did a great job with the site. It's simple and direct, he has tons of examples and tables to show you how the concept works. He also has a tutorial which brings you through the ideas gradually, culminating with the actual circuit designs so you can build your own versions of his ideas. What's not to like about it other than the fact that it is plain?

    2. Re:- Where's the Chips !?! by CMiYC · · Score: 2

      Not necessairly.

      We are already dealing with circuits that have a voltage swing of 250mV. If I understand this site (which you have pointed out already as less than credible), then we could say 0 = 0v, 1 = 250mV and 2 = 500mV.

      I don't think that ternary logic is useless. But its usefulness is limited. I think it will be most useful in high speed serial systems. Infiniband comes to mind. (Though it wouldn't be implemented there now.)

      I don't agree with your assement of slower than binary, however, it will cost more power. Especially if the first generation of design relied on more comparaters.

    3. Re:- Where's the Chips !?! by Bender_ · · Score: 1

      The signal-to-noise ratio is similar for both binary and these type of trinary systems, if they are using similar hardware. The three states of a the trinary system given here are 0 (-x V), 1 (0 V), 2(+x V).

      You name it. Binary logic requires 0V and +vcc, ternary -vcc, 0v and +vcc. Thats twice the voltage range. Hence the power usage (almost, due to different switching scheme) quadruples for the same SNR and speed.

      In addition ternary logic will be much more sensitive to process variations. The logic will be A LOT more unrealiable than binary logic, not to speak of initial production yield.

      So if someones site doesn't look fancy and professional then their ideas are no good?

      No - he has too much graphics. Using HTML in a proper way (eg. as _markup_ and not _layout_ langue) would have been fine. Even better would have been some TeXed PDF/PS paper.

    4. Re:- Where's the Chips !?! by Bender_ · · Score: 1
      We are already dealing with circuits that have a voltage swing of 250mV. If I understand this site (which you have pointed out already as less than credible), then we could say 0 = 0v, 1 = 250mV and 2 = 500mV.

      Exactly, thats four times the power requirement. (See above) Not to speak about the problems of building proper comparators for this voltage range.

    5. Re:- Where's the Chips !?! by CMiYC · · Score: 2

      err?

      Isn't that exactly what I said... "...however, it will cost more power. Especially if the first generation of design relied on more comparaters.?

    6. Re:- Where's the Chips !?! by Bender_ · · Score: 1
      Isn't that exactly what I said...

      Isnt this great ? I agree with you ! ;) (Ok, sorry I was too quick while reading).

      About the speed issue: The higher power requirements are generally dynamic power - hence it scales with clockspeed. Therefore you would have to use a slower clock to achive the same logic/power density as with binary logic. Since the power/area ratio is limited you would have to go with a lower clockspeed for the same manufacturing process.

      An addition: I presume that implementing the ternary logic gate in CMOS logic will eat almost as many transistors as an equivalent gate for two binary bits. The only advantage i can see for ternary logic is that of having ~30% less interconnections. Thats not a big one ...

  11. Re:0, 1, 2 ? vs. -1, 0, 1 by Lemmus · · Score: 1

    Actually, as the previous article (Third Base) pointed out, it really is -1, 0, and 1. this system works even better than 0, 1, 2 since it it symmetrically balanced. That article used a symbol similar to a 1 with a hyphen through it, for which I'll use the "t" key.

    The example given is 19, which in 0, 1, 2 is expressed as 201 [ (2* 3^2) + (0* 3^1) + (1* 3^0) ] = 18 + 0 + 1 = 19.

    In -1, 0, 1 this is represented as 1t01 [ (1* 3^3) + (-1* 3^2) + (0* 3^1) + (1* 3^0) ] = 27 - 9 + 0 + 1 = 19.

    Although it does often take more digits to represent the number via the second method, the balanced system does have many advantages. Without getting to deeply involved, the important one is that you have one system fo both positive and negative number, thus eliminating the need for the actual sign.

    I hope this basic summary of that previous article helps.

    --
    "Omnia quia sunt, umbra sunt."
  12. Since 1995? by PotPieMan · · Score: 1

    The whois record for trinary.cc says the registration date was 2000-04-14. Did Steve Grubb maintain the content elsewhere, and then move it over to the trinary.cc domain upon registration?

    1. Re:Since 1995? by CloneRanger · · Score: 2, Informative

      Actually, I used base3.org and changed to trinary.cc when the cc domain opened up. Before base3.org, it was available from my personal homepage at gate.net.

      -Steve grubb

  13. Getting to third base... by rosewood · · Score: 1

    was always half the fun!

    Okay god that was bad

  14. closed world by Anonymous Coward · · Score: 0

    One thing I've wondered about is the "closed world" logic problem - rather than binary logic true/false, how about true/false/don't-know ? I would have thought balanced ternary computers would be better equipped to handle such "real world" problems - e.g. -1, 0 , +1 == false, dunno, true.

  15. Dude. Totally. by glowingspleen · · Score: 4, Funny

    "Dude, check this out. So I'm reading this news site for nerds, right, and I see this article on computers that work on some "base 3" kinda deal. So I'm like Damn! Those PCs can get to third base! I wonder if I can learn some tips from em?"

    "So I call one up and we agree to meet out at Woody's on 4th. And this PC never shows up. So I just keep drinking, waiting for it. I musta had too many because all I know is that I woke up in this apartment on 84th with these three midgets screaming at me in portugeuse."

    "Damn unreliable computers."

  16. Base2 subset of Base3 shocker.... by MosesJones · · Score: 2

    Err how would that be broken exactly by a move to base3. Guess what you can represent base 2 directly in base 3. In the same way as working in base 10 doesn't break on a base 2 machine. The definition of & etc are within the specification of the language, to take advantage of the base 3 processor you'd need base 3 operators and base 3 syntax for those operators (if x, else y, else). It would not break anything that currently exists.

    I'd ask for a refund on that college education if I were you.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
    1. Re:Base2 subset of Base3 shocker.... by macrom · · Score: 1

      I understand that the actual number system isn't broken, but the code would be. You may be "working in base 10" with your high level code, but the compiler translates that into base 2. If you're currently working in base 2 that's not a problem because you're working with the processor's native number base. But on a ternary system, what happens, when you write code that expects base 2? Does the processor have the knowledge of base 2 AND base 3? Does it know that when it see AND, OR, XOR, ASL, ASR, LSL, LSR, etc. instructions that base 2 is to be used?

      Let's take a small example in C:

      long x = 42;
      long y = 100;
      long z = x | y;

      In base 2, you can view this as :

      0101010
      |1100100
      ---------
      1101110


      But what is the same sequence in base 3?

      01120
      | 10201
      -------
      ?????

      To me, that doesn't translate. Are you advocating that a ternary system would be able to represent numbers in base 2 when Boolean operators are present, but represent numbers in base 3 when ternary operators are present?

      greg

    2. Re:Base2 subset of Base3 shocker.... by roguerez · · Score: 2

      I'm not familiar with "Troolean" logic, but the first that comes up in my mind is this:

      01120
      | 10201
      -------
      11221

    3. Re:Base2 subset of Base3 shocker.... by jafuser · · Score: 3, Informative
      But on a ternary system, what happens, when you write code that expects base 2?
      On the trinary.cc site, the author describes trinary boolean operations as:

      • AND(x,y) == MIN(x,y)
      • OR(x,y) == MAX(x,y)

      This works for base-2 just as well, as you see the operations are exactly the same.

      --
      Please consider making an automatic monthly recurring donation to the EFF
    4. Re:Base2 subset of Base3 shocker.... by Lars+T. · · Score: 1

      That's a problem of C's very weak typing. 42 | 100 simply doen't make sense, even (0101010)base2 | (1100100)base2 doesn't. Only with the implied casting of decimal to binary and then to bit-field it does.

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

  17. Something already use ternary signalling by hamjudo · · Score: 5, Informative
    It's no big deal. Some comunications lines use 3 states, -v, 0v, +v. The 3 levels represent 0, 1 and same as the last bit. They use the third level so they change the voltage every clock cycle and thus only one frequency travels down the wire.

    Naturally, such systems get enhanced so they can send more data at the cost of a little harmonic purity. For expample, they could get 50% more data through by using pairs of trits to send 3 binary bits. The 9th state would be used to prevent leaving the line at one voltage level too long. The real encodings are better behaved in the analog domain, and therefore more complex, but lookup tables for the trit to binary conversions take very little silicon.

    For those who haven't memorized powers of three, if trinary logic, memory or signalling works better in some situation, 1 trit holds 1 bit, 2 trits hold 3 bits, 12 trits hold 19 bits, 31 trits hold 49 bits, etc...

    Going the reverse is also very simple. If you have an algorithm that works better in trinary, store 1 trit in 2 bits, 3 trits in 5 bits, 5 trits in 8 bits, etc... You don't need special hardware.

  18. Cyclic Groups by death_denied · · Score: 1

    Cyclic groups are integers modulo n where n is 2,4,p^m,or 2*p^m where p is an ODD prime. This means that (mod 2^m) is not a cyclic group while (mod 3^m) is. Cyclic groups have manifested themselves in numerous cryptographic and number theory applications and ternary computers can implement a (mod 3^m) group as quickly as a binary computer can implement a (mod 2^m) field, all you have to do is discard the most significant digits
    I have been trying to implement a Number Theoretic Transform based multiplication system and not being able to choose a power of two as my modulus is causing a major speed loss. Even though switching to a ternary base (in hardware) would not lead to more than a linear speed difference, having low level functions run two to eight times faster, and doing away with the ugly code used to modulo a prime) is nice.

  19. Trinary consumes more power, not less. by Robert+Baruch · · Score: 1

    One of his claims is that trinary logic is "better" than binary because it uses another "natural" state of electricity: flow forwards, flow off, and flow backwards. He uses example power supplies of +3v, 0, and -3v.

    However, this is *no different* than power supplies of 0, +3v, and +6v. Shifting your voltage reference does *not* change the power consumed.

    Trinary also does not change your noise margins. Noise margins are a function of the actual circuit, and in an ideal world the noise margins on the high and low sides would be at half the representation voltage. 2.5 volts for 5-volt TTL logic, for example. 1.5 volts for 6-volt trinary logic, for example. See the noise margins decrease? You would have to increase the voltage range to 10 volts to maintain the noise margins. And therefore you would increase the power consumed. And power rises as the *square* of the voltage.

    So let's see. Assuming your gates are feeding 1k resistors, binary logic would consume either 0mA (for a 0) or 25mA (for a 1). Assuming uniformly random distribution of bits, each bit would consume an average of 12.5mA.

    For trinary, and maintaining the noise margins, a 0 would consume 0mA, a 1 would consume 25mA, and a 2 would consume 100mA. Average of 41.7mA. Since each "trit" conveys 3/2 as much information as a bit, the equivalent power consumption per bit for trinary logic is 27.8mA.

    So trinary logic consumes more power per bit than binary logic.

    Bummer.

    1. Re:Trinary consumes more power, not less. by Anonymous Coward · · Score: 0

      Not to mention the ckts laid out were all TTL. TTL loses utility once you want something more complex than what you can debug with a voltmeter.

      CMOS is what populates the inside of your computer, phone, and most everything electronic nowadays. CMOS processing is cheap, reliable, and scalable, and CMOS itself is (comparatively) low-power (the current consumption for logic gates in a stable, non-switching state is nearly 0), whereas bipolar technology is more costly, difficult to scale (signal levels are typically current-driven, which is directly dependent on the junction area), and higher power.

      A quick look at the ckts shows resistors throughout the network. Each resistor is a nice fat heat source, as well as exceedingly costly in terms of die area, if you want any level of precision (read: using poly Rs).

      It's possible to use some sort of modified CMOS technology to implement a ternary system, but it'd be difficult to maintain a low-power design. I think as well the cost in die area from more complex circuits would likely make the whole design unprofitable. A Ternary SRAM cell would probably consume > 12 transistors, which is the minimal design for 2 binary SRAM cells.

      In summary, I think the exercise is more academic than pragmatic, as even Crays and other high-speed and supercomputers have switched from a bipolar ECL to CMOS logic.

    2. Re:Trinary consumes more power, not less. by Lars+T. · · Score: 1

      Sorry, but your numbers are way off. Let's ignore that it's mW not mA for Power, Trinary logic doesn't need to use 0/5/10 V, it can use -5/0/5 V leading to 25mW, 0mW and 25mW resulting in an average per trit of 16.7mW, with an equivavalent of 11.1mW per bit.

      --

      Lars T.

      To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

  20. Show me a trinary Schottky by rdmiller3 · · Score: 3, Insightful
    The big disadvantage of using any logic system with more than two states, electrically, is that sometimes in switching from one state to another you must go through a third state which is electrically "valid" but not the correct output for the function you're implementing.


    Electrically, implementation is inevitably binary, at its core... electrical comparisons of boundary conditions. "Trinary" is just a minimal case of "analog", with all of the same disadvantages.


    You want the same noise margins? You'll have to double your voltage. That means you're cutting your speed in half. So overall you're taking a loss because at half speed you could have gotten two whole bits for your money instead of one lousey trit.


    Not to mention the fact that you're using more power, switching between these trinary states due to the longer transition and detection times. Oh boy! Hotter chips! Bleah!

    1. Re:Show me a trinary Schottky by Liquor · · Score: 1

      The big disadvantage of using any logic system with more than two states, electrically, is that sometimes in switching from one state to another you must go through a third state which is electrically "valid" but not the correct output for the function you're implementing.

      True, but that's what clocks or asynchronous handshakes are for - because even with only two levels, there's a lot of 'Wrong' state in between.

      Admittedly, it might not be possible to define a 'gray code' signalling scheme using trinary digits, but a trinary clock signal ( -1, 0, +1, 0, -1) etc, could have definite benefits - quad speed data rate, data in trits would be effectively a 6X interface...

      Electrically, implementation is inevitably binary, at its core... electrical comparisons of boundary conditions. "Trinary" is just a minimal case of "analog", with all of the same disadvantages.

      Say what?? Where'd this come from? Binary itself is still a minimal case of analog - just with a single breakpoint instead of two with trinary.

      You want the same noise margins? You'll have to double your voltage. That means you're cutting your speed in half. So overall you're taking a loss because at half speed you could have gotten two whole bits for your money instead of one lousey trit.

      This depends very much on the implementation, but it is NOT necessarily cutting the speed in half. Assuming that the circuit has normal RC timeconstants, double the swing is NOT double the lag. (It's about 1.4 times the lag) This might not be significant in clocked ciruits, and at worst, the loss is about equal to the gain achieved by trits over bits.

      Not to mention the fact that you're using more power, switching between these trinary states due to the longer transition and detection times.

      Here you may be partly correct.

      Assuming that there is a separate power supply connection for each signal state, the leakage in the drive transistors is probably going to be about double that of a normal binary output. The active power using a positive-zero-negative type signalling scheme should work out similar, since the voltage relative to ground won't be increased. The dynamic power would probably be comparable despite the larger swing since only 1/3 of the transitions involve the full possible swing while carrying 50% more information. And as I noted in the previous point, the transition (and detection) times are also comparable on a 'amount of data transferred' basis.

      Oh boy! Hotter chips! Bleah!

      All things considered, it looks like the heat to computing power ratio is going to similar for both. But if there truly are algorithms or applications that are more easily rendered using trits (and there may well be so) then the advantage for them may go to the trinary logic.

      There may also be some uses for trinary base computing where the storage of additional logic states is NOT an overhead. Quantum flux gates - which unfortunately can't amplify or fan out yet - can store digits as fluz quanta - gates can be designed such that there is no overhead to such a device holding 2 quanta instead of one - and these chips will definitely NOT run hot. (Of course, cooling to superconducting temperatures may have its own problems.... for those interested, this is a link to the RSFQ lab pages, and a link to an item on superconducting trinary circuits. 100+GHz on 3.5um technology.)

      --

      Liquor
      Sanity is a highly overrated commodity.
    2. Re:Show me a trinary Schottky by rdmiller3 · · Score: 1

      Sigh... All "logic" is essentially binary, Monseur 'Liquor'.

      The whole point of what I was saying was that if you represent logic states with voltage levels you would be throwing away a quarter of your bandwidth using three states. Here's why:

      To determine what state a 'trit' is in, TWO BINARY COMPARISONS must be made, one against each dead zone. Why, that sure looks like two whole bits-worth of information! But your trinary system doesn't allow one of the four states, and thus throws away what could have been a useful bit.

      If you make those two comparisons simultaneously to keep the same bandwidth, then you'll need more voltage spread and higher currents (and an oven mitt to handle your circuit).

      It just doesn't pay to throw out a perfectly good bit. There's ALWAYS a trade-off. If you think you're getting something for nothing, you're probably wrong.

      -Rick

  21. ooh i can't wait to program this by posmon · · Score: 1
    i assume that the three states will be similar to TRUE/FALSE/NULL in sql. and we all know what fun and twisted logic NULL can involve.

    --

    update comments set karma=-1, reason='offtopic' where sid=26315

    1. Re:ooh i can't wait to program this by nytes · · Score: 1

      Let's not forget the fun we can have with IF-ELSE-ORMAYBE statements.

      --
      -- I have monkeys in my pants.
  22. Binary compatibility mode by Caelum · · Score: 0

    I was thinking, if properly designed a trinary processor's VM instructions could designate parts of memory, both code and data, with a "binary" bit. This would have the processor emulate binary in microcode much more efficiently than a compiler/emulator would.

    Of course, using an expensive trinary computer and running everything binary on it, it wouldn't seem to make much sense, but this is the same as Intel's Itanium/AMD's Sledgehammer project.

    And it makes sense too, MS could very quickly get a version of WinWhatever out (just rewrite some critical sections in trinary). A linux distro would recompile everything by default in binary except those package whose autoconf recognizes a trinary system.

    Of course, non of this may ever happen, or it might happen in 5,10,25 years *shrug*.

  23. Trinary impractical due to power & design prob by Anonymous Coward · · Score: 0

    The whole premise of CMOS and small geometry process technology (e.g. 0.13um) is that in the static state, the basic gate consumes virtually no significant power. This is because at least one of the two transistors in a basic inverter configuration are operating in cut-off mode non-linear regions, which means that they do not allow current to flow between power and ground. (Actually they do but the charge carriers are in the minority by at least 10 orders of magnitude typically, but it is unmeasurable).

    I also counted five resistors, two independent voltage sources, and the transistors are bipolar junction transistors in the basic inverter. Resitors are expensive and take up real-estate on a chip, not to mention consuming major power and the fact that in a CMOS gate there are no resistors. It would be impossible to get two voltages to every gate in a design, unlike CMOS which uses a single routed voltage for internal digital gate operation and the substrate for ground. Finally, bipolar junction transistors are larger to fabricate than their CMOS equivalents, take more processing steps which makes them inherently lower yield, and consume measurable power and provide a path from voltage source to ground at all times.

    You also have the fact that no major design tools even support trinary computing or methods, and that all major I/O interfaces for computing today have, as their input, binary, and it becomes difficult to even interface with new electronics, much less design with them. Certainly, none of the big design tool manufacturers have or will have trinary support to do any of this type of design on a large scale, pardon the pun.

    In other words, besides being an interesting hobby project, this is definitely NOT the wave of the future for practical purposes. I give him a lot of credit for developing an entirely new system of algebra and even giving something that can actually be built - this is quite an intelligent person here. Perhaps quantum computing will take advantage of non base-2 math if there are more than two quantum states, for example (and I'm not a quantum physicist, so I don't know, sorry...). But even the slightest thought of using this in a commercial application is not really believable.

  24. Just a few thoughts. by Anonymous Coward · · Score: 3, Interesting



    Looking at the schematics I see that it is based on a analog design style. The transistors are bipolar and there are plenty of resistors used for biasing. All in all, it looks more like an amplifier than a digital gate.

    A previous poster commented on returning to analog computing. While there are several major problems with analog computing, I want to just mention a few.

    High Implementation Cost

    Currently, resistors are considered a somewhat "expensive" item in VLSI designs, since they use a lot of area and lead to static power dissipation. Using bipolars instead od MOSFETS is probably a mistake from a fabrication standpoint, but I don't see why the schematic couldn't be modified to take this into account.

    In other words, any design using these gates would be big and power hungry. This isn't to say that a base-3 system is infeasible, only that this implementation doen't map very well to existing technology.

    I think a MOSFET only implementaion would be required before we can take base-3 really seriously. Maybe something using depletion mode MOSFETS would work better.

    No Component Architecture

    Analog components are difficult to interconnect. Without going into too much detail, they don't just snap togeater like legos; rather, each brick must be modified slightly depending on what it connects to.

    The schematics shown also exibit this problem; the author freely admits it. While I feel that this problem could be partially solved by automated tools, it is still a big hassle. Not just because I'm lazy either. Many tools operate using O(n ln n) or even O(n^2) algorithms. Increasing the time constant or adding unnecessary coupling means that the tools won't finish their production times for very long periods of time. A Xilinx FPGA synthesis run, which is comparativly simple, can allready take several hours to complere. This hurts the design cycle time, since even small changes can require a full recompile totaling hours. No telling how long it would take to make a full microprocessor - many days I am sure.

    A true digital design, by contrast, does not exibit this problem. Again, I don't feel that this problem is insurmountable. The problem here is all those resistors whose values must be changed. Remove them and remove the problem as well.

    Problem with interconnect

    One more problem is that in most modern designs the design area is dominated by interconnect. Active areas (made of real transisotrs) are connected by routing channels, and the channels are getting to be quite large. Ternary logic doesn't exactly help with this, since we now have three power rails. This is at worst a second order problem though, since it doesn't really increate the interconnection between any two components, just the interconnection between all the components.

    Underdeveloped logic family

    While on the topic of power rails, I can't help but wonder about the clock. It seems underutilized. What should a negative (-1) pulse on the clock do? Or the control lines on a flip flop. Take a D-type flip flow for example. if load=1 loads a new value, and load=0 hold the old value, what does load=-1 do? load an inverted value perhaps? Until clocking a flip flop behavior is defined, I don't see any complete designs coming out. These ideas probably just need some more "brain time".

    Error Correction and Asthetics

    Lastly, let me say what I do like. The fundamental advantage of digital gates are that signals can be regenerated. In a five volt system, if you have a 4.89 volt signal, it is probably supposed to be a 5.00, so the gate boost it up and passes it on. This means that error do not propogate. This is the essence of Digital design.

    The ternary design style we see is not incompatable with this notion. In binary, The decision is made around the transisors meta-stability point, typically 2.5V. This means that the fundemental decision is to determine if a signal is [ s>2.5V ] | [ 0V ] | [s

    1. Re:Just a few thoughts. by mwood · · Score: 1

      See Emitter-Coupled Logic. ECL operates in the linear region. That's why it needs huge power supplies and throws lots of heat. So, there are potential problems, but there is also more experience than you may have thought.

  25. The machines don't care. by KevinGale · · Score: 1

    Machines are good at jumping though hoops and are just as happy counting in base 2 as base 22! I do think people would be better off not using base ten. For example base 12 has the advantage of being evenly divisible by 2, 3 and 4 so you can evenly divide things in half, thirds or quarter which are the most common divisions. Base ten chokes on dividing things into thirds. Using base 12 or base 16 would also allow a more compact representation which would be a big help dealing with screens which are always too small. Of course base 16 has the major advantage of easy translation to base 2. So everyone would be comfortable with hex numbers since those would be normal numbers. The US seems to be willing to ignore the base 10 metric system forever maybe we can introduce a base 12 or base 16 measurement system. :-)

  26. Circuits more complicated? by kirn_malinus · · Score: 1

    I just took a quick glance at the schematics for some simple gates in ternary logic, and it seems to me that they are quite a bit more complex than their couterparts using binary logic (i.e. they use a lot more gates to do the same thing). Therefore they are more expensive. It seems to me that that could hold up moving to ternary logic, as everything about design is geared towards making things cheaper.

    --
    All circuits busy.
  27. Ternary "bit"?? by wvanhoof · · Score: 1


    if a bit stands for "binary digit", so by analogy, shouldn't a "ternary bit" be called a tit?

    "I am busily ignoring some thousand of implications I have determined to be irrelevant."

  28. OLD news by Anonymous Coward · · Score: 0

    Ternary computing?

    Dude we are working on Light based CPU systems.

    We have a slight problem making the switches really small. but other than that, its pretty easy.

    So yeah some think 3 step computing is neat, however others have seen that years ago.

  29. So... by LaNMaN2000 · · Score: 0, Offtopic

    Does this mean that we're going to give up our bits for tits? Sounds good to me.

    --

    ByteMyCode.com: A Web 2.0 code sharing community.
  30. Intercal by Parein · · Score: 1

    Hm, this seems to mean that one is never late learning Intercal. B-)

    PLEASE DO. Argh.

  31. Rest of the post by Anonymous Coward · · Score: 0

    The ternary design style we see is not incompatable with this notion. In binary, The decision is made around the transisors meta-stability point, typically 2.5V. This means that the fundemental decision is to determine if a signal is [ s>2.5V ] | [ 0V ] | [s

  32. One more try on the rest of the post by Anonymous Coward · · Score: 0

    The ternary design style we see is not incompatable with this notion. In binary, The decision is made around the transisors meta-stability point, typically 2.5V. This means that the fundemental decision is to determine if a signal is s>2.5V or 0V or s

  33. It's a matter of simulating binary. by Nindalf · · Score: 1

    Binary operations can be done on any base numbers by implementing them using base-neutral arithmetic. "shift left" become "multiply by a power of 2" etc. It would be easy to add to a C compiler.

    When you knew you were writing for ternary computers you wouldn't want to use a lot of binary operators, since they're not very efficient, but a ternary computer could definitely run programs in binary-based languages. Naturally, there are analogous digit operations for any base, and to take full advantage of the computer, you'd want a more appropriate programming language that lets you access them.

  34. This theory works great, except in the real world. by Eugene+O'Neil · · Score: 2, Interesting

    To quote the core argument of the article:

    Evidently we need to optimize some joint measure of a number's width (how many digits it has) and its depth (how many different symbols can occupy each digit position). An obvious strategy is to minimize the product of these two quantities. In other words, if r is the radix and w is the width in digits, we want to minimize rw while holding r^w constant.


    This may be an "obvious" strategy, but is it a useful one? A modern computer typically contains hundreds of millions of digits in base two. According to this theory, the cost of a computer (ie, the value we are trying to minimize) is equal to the radix times the width. If this is true, we can reverse the radix and the width to get a system that has precisely the same cost: thus, a machine that stores one hundred million digits in base two costs the same as a machine that stores two digits in base one hundred million, because two times one hundred million equals one hundred million times two.

    In practice, building an electronic computers capable of distinguishing between one hundred million distinct voltage levels is a practical impossibility. Early attempts to build machines that had just ten distinct voltage levels were abandoned, not because of any theoretical arguments about data density, but because these devices turned out to be extremely difficult to manufacture and notoriously unreliable in operation. A computer with one hundred million distinct voltage levels, if it could be built at all, would certianly cost several million dollars to construct, and it would probably require a special power supply and several pounds of electromagnetic sheilding. It would certianly not "cost the same" as a typical desktop computer.

    Even if we were to ignore the absurdity of the basic premise of the theory, and take for granted that the trinary computer is better than binary in some abstract way, there is still no compelling reason to switch. We have already invested billions of dollars into binary technology, and the benifits of that investment are undeniable. If you think companies like Sun and Apple has a hard time selling theoretically superior hardware in a market dominated by cheap PC clones, imagine how much harder it would be to introduce a computer that is so fundamentally incompatable that it does not even work with binary data. The dominance of the Windows platform proves that people don't want theoretical perfection: they want something that gets the job done, they want it to be cheap, and they want it now.

  35. 13*3/20*2 by ahde · · Score: 3, Informative

    Consider again the task of representing all numbers from 0 through decimal 999,999. In base 10 this obviously requires a width of six digits, so that rw=60. Binary does better: 20 binary digits suffice to cover the same range of numbers, for rw=40. But ternary is better still: The ternary representation has a width of 13 digits, so that rw=39. (If base e were a practical choice, the width would be 14 digits, yielding rw=38.056.) so the theoretical approximate is less than 2% efficiency increase. But what they don't say is that it takes 2 operantions to distinguish a ternary system: v < 1 ? 0 : v < 2 ? 1 : 2 as oppose to binary: v < 1 ? 0 : 1 In the real world you can't do "equal to" because there is the potential for infinite precision -- you can always measure more closely. And you can't measure on/off, because then your circuit is dead and no further calculations can be done. You can't use positive/negative, because you want three. So you need something that can detect voltage levels. The problem is, that if such a device can be created that distinguish 3 different voltage levels, and do so more efficiently than using to binary operations (see above ternary notation :) -- it could also be used to perform 2 binary operations which doubles the efficiency of the binary system rw = 40 / 2 = 20 almost twice as efficient as the ternary circuit.

  36. Base e by Animats · · Score: 3, Interesting
    There's something to be said for a base e representation, where numeric values are represented as logarithms. Audio data should be represented logarithmically, because 16 bits used linearly doesn't offer much dynamic range. With a linear representation, on soft passages most of the high bits are 0. It's possible to end up with 6-bit or 4-bit audio on some quiet sections of classical music. And the big peaks in rock music have to be scaled down during mixing. Much of CD mastering revolves around cramming the dynamic range into a limited space. With logarithmic audio, that's not a problem.

    A friend of mine who's into digital pro audio looked into building logarithmic audio gear, but the recording industry went to 24-bit linear instead, which provides more headroom.

    1. Re:Base e by Anonymous Coward · · Score: 0

      doing calculations using logarithms... yes my friends the slide rule is back. and thus the wheel turns.

  37. number of transistors by brer_rabbit · · Score: 3, Interesting

    One big disadvantage of trinary is the number of transistors involved. I don't know if the author's schematics were minimal or not, but his inverter required 2 transistors and 5 resistors. A standard CMOS inverter requires 2 transistors and *zero* resistors. On top of that, the transistors were BJT (Bipolar Junction Transistors), not CMOS which are what current most common.

    The other functions will take a lot more real estate if realized in trinary too. The Full Adder he had listed has 20 gates of varying complexity, that would take at least 2 transistors per gate, probably resistors as well considering his schematics. A binary/CMOS implementation can be done in about 30 transistors.

  38. I Guess I Should Be Waiting For... by puppetman · · Score: 1

    ...my gallium arsenide quantum ternary clockless computer.

    It's going to kick some wicked ass, especially with those 12-gigabyte multilayer CD-ROMS and fungus-based hard-drives.

  39. Trits? by Sloppy · · Score: 1

    Hmm.. at my fictional computer company (Zapitron -- an in-joke among my friends), we always called 'em trits, trytes (9 trits), and words (27 trits). But now that everybody's moving from those old 27-trit computers to the new-fangled 81-trit machines, "word" might get redefined.

    BTW, one of the neat things about Zapitron computers is that unlike conventional computers with their software emulated null devices, Zapitron machines have hardware null devices, so that you can burst-read EOFs at billions of EOFs per second. Ain't innovation great?

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    1. Re:Trits? by Mercuria · · Score: 1

      I learned "trit" myself in my fundamentals of computing class last fall. This semester I'm in a class where we're doing a lot of assembly programming, so where when we have to do the bit masking and such, we're reffering to the individual hex digits or half-bytes as nibbles.

      So in trinary, you couldn't go in hex halves, you'd have to go by base-9 thirds. Would a third of a tryte perhaps then be a "katz" ? No, we want a diminutive, not a superlative... Hackneyed is too long... a "stale"? well, that does it for my thesaurus. Suggestions?

    2. Re:Trits? by Sloppy · · Score: 1

      Three trits make a tribble.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    3. Re:Trits? by Anonymous Coward · · Score: 0

      Hmm.. at my fictional computer company (Zapitron -- an in-joke among my friends), we always called 'em trits, trytes (9 trits), and words (27 trits). But now that everybody's moving from those old 27-trit computers to the new-fangled 81-trit machines, "word" might get redefined.

      81-trit machines should deal in sentences. When we get up to 243-trit machines, they can be paragraph-based.

  40. The real benefit of trinary computation by hzhu · · Score: 1

    The economic claim for trinary computation is bogus, because we do not know that the cost of building width w base r device is proportional to r*w. The cost is likely to increase more than linearly with the base. For example if it is r^k*w, the "optimal" base would be r=exp(1/k). For k=2, r=1.65, and for k=1.5, r=1.95. In these cases binary or a _smaller_ base is better.

    However, there would be a real benefit in using trinary logic, as it can be used to represent true, false and unknown. In many real situations a lot of extra logic is devoted to dealing with unknowns because the binary system forces a decision. This would be cleaned up quite a bit in trinary system. In fact, the ease of rounding using trancation is a nice little demonstration of this property.

  41. Not Necessarily by robbyjo · · Score: 1

    it takes 2 operantions to distinguish a ternary system: v < 1 ? 0 : v < 2 ? 1 : 2 as oppose to binary: v < 1 ? 0 : 1

    You're applying binary logic to ternary digits. I would foresee that the logic would be something like this: cmp(v) ? -1 : 0 : 1;

    C's '?' operator inherently assumes binary digit. So, I think that if we were going to implement trit-based computer, we have to slightly change programming language structures.

    Anyway, it won't happen, because people don't like radical changes. Besides, a lot of investments already take place in bits...

    --

    --
    Error 500: Internal sig error
  42. What about using more than one base? by softsign · · Score: 2
    For some really, really interesting stuff, look into using two bases for computation.

    One of the professors in our department has been doing some heavy research into computations using more than one base. The idea goes like this:

    1. Select two bases that will be able to represent your expected number space best. He started out using 2 and 3, but you can easily use 2 and 7, 2 and 13, 2 and 9973, whatever floats your boat. In fact, you can use any real number as your second base.
    2. Map your real numbers to the DBNS number space thusly:
      • 6 = 2^1 * 3^1
      • 18 = 2^1 * 3^2
      • 231.67 ~= 2^3 * 3^3.0637
      Keep in mind that there are many possibilities for your mapping (he's developed optimizations for finding good mappings)
    3. Exploit the exponential nature of the system! A multiplication is now a simple addition of exponents. Division is a subtraction.
    4. Keep in mind that huge numbers (or huge precision) can be maintained with a small number of bits in the exponents. For example, the number 105413504 (2^7*7^7) requires only two bytes. In binary it requires 27 bits to be represented.

    Obviously this isn't a universal solution, but think about DSP hardware, where multiplications are expensive and needed all the time. Not to mention exponentiation for cryptography. Also, this brief explanation doesn't do justice to the full potential/applications of DBNS. A lot of work has gone into it.

    If you want to find out more about DBNS, there is a primer at www.rcim.ca/Research/Video_Rate/DBNS/, miscellaneous papers at people.atips.ca/~eskritt and a collection of a few published papers at www.atips.ca/research. Also, some older presentations are archived at wooster.hut.fi/geta/courses/graham/Applications/.

    Disclaimer: I'm the web guy for our research group at the U of Calgary. The guy who came up with DBNS is a professor here (Dr. V. Dimitrov).

  43. There was an ternary machine Setun in Moscow Unive by Anonymous Coward · · Score: 0

    http://www.computer-museum.ru/english/setun.htm
    It worked and it was a good computer.

  44. Impractical circuits by markmoss · · Score: 3, Informative

    The last time ternary logic came up, I was disappointed to see no proposed schematics. Now there are schematics, but I'm still disappointed. One thing is that they designed with bipolar transistors rather than CMOS -- you cannot put more than a few thousand bipolar transistors on one chip without serious heatsinking... Beyond that, these designs lack quite a lot in speed, power consumption, and reliability as compared to even the 7400-series of TTL bipolar logic chips of the late 60's. And the first one I looked at doesn't even work.

    Their ternary inverter is simply a two-transistor inverting _analog_ amplifier running on +/-3V supplies. If the input is -, Q2 turns on, bringing the base of Q1 low, turning Q1 off, so R2 pulls the output (which isn't explicitly shown) to the + rail. If the input is +, Q2 is off, and apparently this circuit depends on leakage to then bias Q1 on. This brings the output almost to the - rail. So it would work as a binary inverter. It's not nearly as good as a
    TI 7404 (see page 2). The major difference is that R2 was replaced by a transistor, which turns on for high. This speeds up the low-to-high transition, since you get the full output current of the transistor until the output node is charged up. It also saves power, because one
    output transistor is always off and the other always on, so when not switching only leakage currents flow at the output. (This two transistor output is called a "totem pole", and CMOS similarly depends on transistor pairs, one always off so little current flows.) Two more intermediate transistors are added, to control the top transistor on the totem pole and to reduce the resistor count. (On-chip, resistors are not cheaper than transistors.) But if you used it as a binary circuit, trinary.cc's inverter is basically the stripped-down ancestor of the 7404 circuit.
    As a trinary circuit, it also has to take a 0V input and output 0V. This inverter does not do this reliably. It probably could be made to work by adjusting the resistor values until 0.0V in gave 0.0V out, but warm or cool the transistors a few degrees, and the amplifier bias will shift so that the output swings to the + or - rail. When you are trying to put the mid-level through it, you are running it like an analog amplifier, and analog amplifiers are unstable without negative feedback.

    Nor would adding a few transistors and a negative feedback loop to stabilize it make it work well enough. A trinary inverter should take an input that is not right at any logic level, decide which level is closest, and output the corresponding nomimal voltage. For highs and lows (2 and 0), it does that, since it pins the output to the opposite rail. But even if you can be sure that 0.0V in = 0.0V out, with a circuit that is basically an analog amp, -0.1V in will give more than +0.1V out. So a chain of gates would allow the logic levels to get worse at each gate, until the mid-level became misinterpreted as + or -. To restore the mid-level would take a much more complicated circuit. I lay no claims to being a good designer at the transistor level, but I can't see any possibilities that are not nearly twice as complex as the corresponding binary circuits.

    1. Re:Impractical circuits by CloneRanger · · Score: 2, Informative

      Before everyone pick apart what is presented on the website, I wanted to explain a little about whats there...

      Don't focus on whether the transistors are BJT's or how many resistors there are. When you put this on a chip, everything changes. It gets changed to CMOS, NMOS, or something. Resistors are gone. All the famailiar 2nXXXX transistors are basically gone. You use a transistor library customized for the feature size and process and other odds and ends.

      What is important is that the circuits are simple enough to put into a spice simulation and it uses parts that are already in your library so that it can be independantly confirmed or improved. Its much more fun to play with things without having to drop all the way to foundation if all you want to do is study one aspect.

      The transistor models are not ideal...I'll be the first to admit it. What my goal really is about is to get people thinking and to share knowlege.

      I would be more than happy to publish any improved transistor circuits that uses parts that would be in a common spice library. Anyone that is sincerely interested, please contact me through the address listed at the website.

      Cheers,
      -Steve Grubb

    2. Re:Impractical circuits by markmoss · · Score: 2

      Steve, my one issue with that is until the circuits are considerably more real-world, there is no basis for cost comparisons between binary and trinary circuits. An yet last time trinary was on /., there were those who didn't have any circuits to point at, yet claimed that the circuits wouldn't be significantly more complex. Since these people obviously lacked the experience to tell a practical circuit from a starting point, I figured I'd better cut them off in advance...

      Just remember, in your spice modeling, try varying the transistor characteristics. It's not a real circuit until it can shrug off immense variations in the silicon. 10 degrees C temperature change can change beta by a factor of 2, for instance. Variation from wafer to wafer is even greater...

    3. Re:Impractical circuits by Liquor · · Score: 1

      Unfortunately,( RSFQ (Rapid Single Flux Quantum) circuitry is beyond the scope of SPICE simulations, but this appears to me to be a natural fit to the trinary logic paradigm.

      Some circuits have already been physically built and tested - and at least one person feels that they lend themselves to tristate logic gates .

      The basic principles are already in the category of proven technology - ever heard of a SQUID sensor?

      Josephson junctions work equally well for either positive or negative currents - and so do magnetic flux quanta. (But this circuitry has to be the ultimate in low-power computing - you can't get much lower discrete amounts of energy than a single quantum of magnetic flux.)

      --

      Liquor
      Sanity is a highly overrated commodity.
  45. "no such thing as two." by dankjones · · Score: 1
    "What an awful dream. Ones and zeroes everywhere. [shudder] And I thought I saw a two." -Bender


    "It was just a dream, Bender. There's no such thing as two." -Fry

  46. Actually by Anonymous Coward · · Score: 0

    It is tertiary, not ternary.

  47. It was tertiary machine! It used physical 3-logic by Anonymous Coward · · Score: 0

    Yes... Setun was a machine that used 3-state logic, 0,1 and -1 from physical level.
    It was about 80 of them produced.

  48. Mathematical Threesome by cliffy2000 · · Score: 0

    A bit orgy. ::laughs::

  49. -1,0, and 1! by Anonymous Coward · · Score: 0

    You're quite right. It is very common to use -1, 0, and 1. This is known as symetrical numbering and can only be done with odd numbering systems. If you will that - for negative one it would count something like:
    1 1- 10 11 1-- 1-0 1-1 10- 100 101 11- 110 111
    and so on.

    Negatove numbers are just inversed so...
    - -1 -0 -- -11 -10 -1- -01 -00 -0- --1 --0 ---
    and so on.

    Once you get used to this system it is very simple to do algebra and even calculus (though i wouldn't recommend it).

    The practical difference is in electricity. You either have a negative voltage or, more simply, use 2 different volatages and 0. For example, 0v,5v,12v. You could however use the direction of the current to determine the voltage.

  50. Not really a problem. by rjh · · Score: 2

    Any trinary machine can mimic a binary machine simply by getting rid of one of its states. So if we switch to ternary, the first ports of crypto libraries will just be binary libraries running on ternary machines.

    Second, separate theory from implementation, please. Very few areas of information theory and cryptography are dependent on base-2. That'd be counter to the entire point of math, which is to think abstractly enough that the principles apply to any base. Your statement is sort of like saying "moving from base 10 to base 16 is hard, since we learn arithmetic in base 10 and we'd have to relearn all our arithmetic". It's just not the case. A + B = B + A, no matter what base you use. And likewise, the integer factorization problem and the discrete logarithm problem are damn hard no matter what base you use.

    Implementations are highly dependent on binary systems, yeah--but that's only because we only have binary computers right now. As soon as someone comes up with a ternary computer, rest assured, Blowfish and 3DES and RSA and El Gamal and AES and all sorts of crypto goodness will be running on it in no time flat.

    Think about this one for a moment. Computers are Turing machines. We write in Turing-complete languages.

    But there's nothing in the definition of a Turing machine which requires that it be binary, trinary, or base radical two. The Turing machine doesn't care.

  51. The trouble with... by lines · · Score: 1

    Binary Digit == Bit

    So maybe a Ternary Bit would be a Trit.

    and a Ternary Byte would be a Trite.

    And a Nibble, of course...

    Hobbes

    --
    to e-mail, remove '.dot.' from the address
  52. Embarrassed this made /. by Anonymous Coward · · Score: 0

    I for one am embarrassed this silly subject reached this forum. The only people who go ga-ga over trinary are fools who don't really understand digital computing.