Slashdot Mirror


Beyond Binary Computing?

daksis writes "Non base two computing is nothing new. But it is an idea that, for various reasons, never really caught on. Embedded.com is running an op/ed piece that asks if hardware and software engineers are ready to move to ternary or quaternary logic. A move to multi-valued logic provides more computational capability without the standard increase in die size or transistor count. Is the need to make do with the current fabrication technology enough to drive the move to multi-valued logic? Or will Moore's law continue without the need for doing more with less silica based real estate?"

9 of 412 comments (clear)

  1. Trinary Computing by Liselle · · Score: 5, Informative

    Didn't the Soviets already do this? I don't remember it catching on very splendidly, though I guess than can be chalked up to the limitations of the times.

    --
    Auto-reply to ACs: "Truly, you have a dizzying intellect."
    1. Re:Trinary Computing by isomeme · · Score: 5, Informative

      The most effective base being e is not coincidental. Consider that the number of digits required to represent a number is proportional to the log to the base in use of that number. Since e is the base of the natural logarithms, with the property that the slope of the curve e^x equals e^x for all x, the product of a base and the logarithm of any number to that base will always reach a minimum for base = e.

      --
      When all you have is a hammer, everything looks like a skull.
  2. Re:Truth Tables * n? by stratjakt · · Score: 5, Informative

    The whole concept of AND/OR/NAND is a Boolean construct. The gates define the 16 functions that can be expressed by two boolean variables. Ternary or quarternary logic would more basic functions, and different ones, but it would be easy to implement boolean logic as well (like your quarternary example).

    Try reading this for a quick primer.

    It wont happen all at once, its a different paradigm and a definate learning curve, like the difference between imperative, functional and object oriented programming. But it has definate advantages, beyond the Moores law tripe.

    --
    I don't need no instructions to know how to rock!!!!
  3. Ternary by Anonymous Coward · · Score: 5, Informative

    For reference, Slashdot has done two other stories on ternary computing here and here.

  4. Re:Ternary system is the way to go by Andorion · · Score: 5, Informative

    Here's a link to what you're talking about:

    Third Base

    It's a good read, stuff I didn't know until I read your post and looked it up =)

    ~Berj

  5. Re:Truth Tables * n? by Maimun · · Score: 5, Informative

    I have studied little multi-value logic. In m-valued logic: AND is minimum. OR is maximum. XOR is complement modulo m A friend of mine that was doing testing of multi-value circuits (purely theoretical work, of course) said that some phenomena are seen "more clearly" when the base is bigger than 2. HTH.

  6. Base 3 or 4 logic is NOT smaller than base 2. by Eric+Smith · · Score: 5, Informative
    A move to multi-valued logic provides more computational capability without the standard increase in die size or transistor count.
    No, it doesn't. Let's see you design a 16-quat full adder that takes fewer transistors or less die area than an 32-bit full adder.

    Base 3 or higher are a lose for implementing logic. Base 4 is useful in some kinds of memory, and this has been done by Intel since around 1980-81. Intel used a quaternary ROM (two bits per cell) for the microcode store of the 43203 Interface Processor, and (IIRC) for the 8087. More recently this technique has been used in flash memory.

  7. Re:Binary logic by maraist · · Score: 4, Informative

    Hence, making such transistors would allow chip makers to make huge strides in speed without having to handle the engineering problem of packing in more transistors.

    No, they'd just trade the engineering problem of packing more bits into once space with finding ways of unambiguously interpreting a value.

    See the whole power of binary (pardon the pun) has always been it's wonderful noise-suppression ability. Imagine a copper wire running 2 miles with either a 5V or a 0V signal on it. You can apply a simple analog device (say a BJT transistor amplifier) that utilizes an exponential function switching at some precisely known voltage (we'll call it 2.5Volts). Voltages before and beneath this voltage are amplified to either zero or 5V exponentially, such that only voltages within a small delta of the threshold voltage have any ambiguity.

    Thus you can determine the likelyhood of noise on a line, then put digital amplifiers every so often such that no amount of noise will be sufficient to raise or lower the voltage to the ambiguous region.

    The same is true even on micro-scopic wires; Fanning transistor outputs out to too many transistor inputs introduces noise on the wire. CPU's not surprisingly utilize "buffers" which are trivial 2 transistor logic gates which pass the output to the input. This cleans the signal just as the higher-powered digital amplifiers do.

    While I'm not sure which particular technologies are being considered in this trinary/quatrinary logic system, if it is nothing more than a sub-division of voltages, then it's doomed to failure for general processing, and possibly even simple memory storage. First of all, you introduce another whole region of voltage ambiguity. The only way to maintain your safety zone is to up the voltage or provide more amplification stages to garuntee a cleaner signal. But the trend has been to decrease, not increase voltages (lower power consumption, smaller devices, whatever), and adding additional logical devices merely to interpret a signal means that your bit-density is going to suffer.. Exactly impeeding it's whole point.

    Likewise for denser bit-storage, since the probability of bit-error necessarily increases (all else being equal), then you're not as likely to achieve as small or as dense a physical digit. So unless you can at least achieve less than 1.5x logical-digit spacial expansion (due to error-compensating material), you haven't gained anything by going to a trinary system.

    Lastly, the concept of >2 digit computing already has a particular niche where it's trade-offs are acceptible.. Think of 56k modems which encorporate dozens of thousands of "values" for a single digit. They utilize a full 256 voltages for each anticipated time-slice. Of course the analog modem can't anticipate the exact sampling point where the analog phone line gets digitized (happening to transition at that point can be bad), and there is usually a tremendous amount of line noise. But what modems wind up having to do is group several time-slices together and produce a macro-digit with a but-load of error-correcting pad-values. And that's not even enough; the entire packet is still likely to have misrepresented digits, so CRCing and thereby retransmission is often necessary.

    All this effort is worth it because we physically realize extra bandwidth.. But such a "probabalistic" solution (prone to bit-error) is unacceptable at the lowest level of computation. You can't get any less error prone than binary (given the above discussion), and mathmeticians have shown that base-e (2.717) is the optimal number to balance complexity of the number of combinations with the number of digits in a given number. (analogously demonstrated by considering an automated phone system where you have to wait to hear 10 possible choices per menu (the base-10), and you have to go through k menu levels to achieve what you want. The metric is the average wait-time using different bases, and mathmatically the shortest wait time was the

    --
    -Michael
  8. Associative processing by andyr · · Score: 4, Informative
    When I was at Brunel University on a post-grad course, we built chips for Associative Processing (pdf)> or Google HTML that inherently used Ternary logic. The main chip that we built was an Associative memory chip, that stored binary data, but was addressed by searching for data. There were no address lines. It was a wide field - 40 bits,(this was late 70's) and you presented a search term as Ternary data on the input lines. Each bit was 1,0,X - where X meant "don't care". You could add one field column to another, without any of the data exiting the chip.

    Say you wanted to add an 8 bit field - bits 0-7, to another, bits 8-15, and store the result in a 9 bit field, 16-24.

    Search as follows (CC Field is Carry):-

    Bits: C 1 1 1 1 1 1 1
    Bits: C 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
    Find: X X X X X X X X X X X X X X X X X X # All rows
    Writ: 0 0 X X X X X X X X X X X X X X X X # Clear output
    Find: X X X X X X X X X 0 X X X X X X X 1 # 0+1=1
    Writ: 0 1 X X X X X X X X X X X X X X X X # write 1
    Find: X X X X X X X X X 1 X X X X X X X 0 # 1+0=1
    Writ: 0 1 X X X X X X X X X X X X X X X X # write 1
    Find: X X X X X X X X X 1 X X X X X X X 1 # 1+1=0 carry 1
    Writ: 1 0 X X X X X X X X X X X X X X X X # write 0 carry 1
    Whew. You have added the LSBs of the fields together, in 6 operations. There are 8 more to go. However, you have done it for the entire array which might be thousands of records.

    So there is a fixed processing time for parallel operations on all the data.

    We still had to use two input lines to represent the Ternary value, but, remember, no address lines needed.

    Content Addressable memory chips are also used for lookaside Cache memory in CPUs today.

    Cheers, Andy!

    --
    Andy Rabagliati