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?"
I learned truth tables when I was a kid, and it was pretty simple:
a and b = ?
-----------
0 and 0 = 0
0 and 1 = 0
1 and 0 = 0
1 and 1 = 1
But how would you make an AND gate for a trinary system? Would it be like multiplication with signs?
a and b = ?
-----------
- and - = +
- and 0 = 0
- and + = -
0 and - = 0
0 and 0 = 0
0 and + = 0
+ and - = -
+ and 0 = 0
+ and + = +
And then quarternary... if it's just pairs of Boolean digits, no problem. It's just a four-input AND:
a and b = ?
-----------
0x and 0x = 0
0x and 1x = 0
1x and 0x = 0
x0 and x0 = 0
x0 and x1 = 0
x1 and x0 = 0
11 and 11 = 1
Or is the whole concept of an AND (OR, NAND, NOR, XOR) gate a relic of my Boolean thinking?
Stressed? Me? Of course not. Stress is what a rubber band feels before it breaks, silly.
More logic than I understand
...prove we will be using a quaternary system. How many gigaquads of hard drive storage do we need, anyway?
Aren't quantum computers built around quaternary logic using qubits instead of bits?
Never eat more than you can lift -- Miss Piggy
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."
Looks like systems working with more than ones and zeros would just need a way to encode these different values with different strengths of signals (as opposed to off=0, on=1). Something like no voltage=0, 1/3 voltage = 1, 2/3 voldage = 2 and 3/3 voldage=4. Seems like a very good way to wrap more information in the same signal/clock, but how would the logic work? How would and/or/xor work?
:) But I'd be willing to learn..
My mind is too used to binary
Sounds like a good idea.
find / -name "*.sig" | xargs rm
Silica? Who needs silica? We are going to diamonds!!
When the machine works with 0 ... 1, and all values in between are possible, then we'll be a lot closer to how our brains work, and neural networks in general. Of course, getting 2 + 2 equal 4 every time might not be a given.
Does everything include nothing?
For reference, Slashdot has done two other stories on ternary computing here and here.
In trinary, there'd be no more hex digits, you'd have to chose betwween base 9, and base 27 representation of numbers.
After 20 years in the biz, my brain is hard-coded for hex, I'd have to retire.
Quidquid Latine dictum sit, altum videtur (anything said in Latin sounds important)
It's been a long time since I read an article about that, but AFAIK ternary system is most efficient in storing information (basically if you want to store numbers 0..700, you need 28 states (8+10+10) for decimal system, 20 states (10*2) for binary and 18 for ternary (6*3). This has something to do with 3 being closest to the value of e (2.718...) but I dont remember what exactly. Any /.-ers to fill in?
I don't see why software would have to deal with
quarternary logic at all.
Currently the assembler- hardware logic is already an abstraction (microcode).
If only the main busses (address bus, data bus, and their modern counterparts) would simply use that, and elementary pieces like barrelshifters would
be quaternary, one could severely limit the number of lines (and thus transistors)
However it could be that because of tolerance problems quaternary logic elements have to be larger, and thus don't yield the big benefit one would expect.
Base-10 math? Not bits, but actual digits? All the benefits of BCD with none of the overhead.
On the other hand, 7-bit ASCII now needs three digits -- 300 values, wasting 172 values, more than have the value-space of a byte ("bydte"?).
Don't even begin to ask UNICODE to retool for this.
"A great democracy must be progressive or it will soon cease to be a great democracy." --Theodore Roosevelt
According to some science, base 3 computers would be the most efficient (closes to e). Does anyone has that article?
It's critical mass behind existing systems.
Take a look at the Itanium. It's not taking off because not enough people 'get' EPIC, and moving to that platform is a lot of work. The speed benefits for a full migration to Itanium are quite large, but nobody wants to hand-tune their millions of lines of code.
Increasing the number of states requires you to increase the overall voltage required of the device to acount for noise in the system. So in return for more states you are running at a higher voltage and thus at a higher power consumption level. You still have the same problem.
no tiene bananas HOY!
If you go to multilevel logic (not just on/off) then you're necessarily going to have intermediate states which both conduct and have voltage across them, with the resulting dramatic increase in power. This is an acceptable tradeoff for charge-storage devices like memories but a non-starter for logic.
Lacking <sarcasm> tags,
you can get either heads, tails, abdomen or heart!
New year Resolution: Don't change sig this year
Not to mention changing the Slashdot Sigs.
No. For the excelent afformentioned reasons , i vote we stick with binary.
Slashdot Sig. version 0.1alpha. Use at your own risk.
Multiple-valued logic seems to be an fertile area of research judging by the fact that there is an International Symposium on Multiple-Valued Logic.
The "base" of the logic is really a pointless distinction. If you have a computing task you want done, it's just a matter of how to "encode" the task such that the computer can accomplish it, and how efficiently (money- and time-wise) that machine can accomplish that task. Every base is isomorphic (can be represented in) to every other base. I mean, your computer has libraries to print out integers in base 10, even though the internal representation is binary. True and false, and even 0 and 1 are human ideas. Computers deal in voltages.
"In a 32-bit world, you're a 2-bit user. You've got your own newsgroup, alt.total.loser." -Weird Al
From a marketing standpoint, that is. Even if they cost the same to manufacture, the fact that they can advertise it as "twice as many bits" (or something dumb like that) will justify a 2x price increase simply because of dumb consumers. Seems like a great marketing gimmick, and maybe nothing more.
Stupid people make stupid things profitable.
It has to do with the decision part of a logic gate. To take an OLD example, in 7400 logic, 3.8V and above is "1", .8 and below is "0", anything else is considered ambiguous.
All that would have to happen is for a middle range to be established: 2-3V is "2".
But why stop there? You could have a base10 system by making further divisions. It depends on your ability to differentiate between the various voltage levels.
You could even have a system wherein a multi-volt circuit checked to see what kind of input it was receiving, and adjusted its decision levels accordingly.
Back-wards compatible, in other words.
A tertiary system could get hooked up to a binary hard drive and still have the hard drive work. It would just work like a binary processor.
hook it up to a base7 operating system, and it adjusts on the fly.
The only downsides I can see would be that there would be no more bit-"ANDing" or "ORing", etc. It'd be straight math from here on out.
Also, if you were on a battery system, and your battery levels died slightly, it could mean catastrophe. RF interference could be an issue to.
Oh well, just my $(2e-2)
and not binary. We have 10 fingers, 10 toes, etc. We can handle base-10 math easily, but not base-2 math.
But consider this:
- there is only one of you, or 2^0
- you have two parents, or 2^1
- you have four grandparents, 2^2
etc, etc.
Them natives are good they count in base three.
One
Two
Many
Many One
Many Two
Many Many
Many Many One
etc
matfud
Do you think three-valued logic is a good idea?
Then we will never have to check for "NULL" ever again. :)
... especially in the realtime world.
Also, I want to work on a computing system wherein *every* single data has its own timestamp.
I've been experimenting with 64-bit processors in this regard - using regular 32-bits for data, and the remaining 32-bits as a timestamp - and it has produced some interesting results. Treating *all* data as though it has a 'last modified' timestamp...
If computing systems can be designed to take Time into account with every single operation, it can make for some interesting changes in the programming paradigm
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
Thats an interesting point. My brain is almost wired like that as you suggest. Undergrad was spent getting used to binary. (Now I can even read the slashdot t-shirt that was recently selected as a favorite by Taco with all the binary words showing slashdot.org)
Now I am a masters student, and I use binary and hex like base 10. I would find it a bit difficult to move to another base right now. But if the move was going to happen, I'd like to start learning this new number system ASAP.
It is possible to do, I just don't want to do it.
From the article:
"Shouldn't we also take another look at multi-valued logic?"
Short answer:
No. Binary is cheaper (and faster) and you get no real improvement by using more. Not to mention control logic on tri- or quad- would be ugly and complex.
His point is increasing number density with shrinking transitor structure. When 3 ghz is $250 and 1 gig RAM is $125, where's the problem?
#define FALSE 0
#define TRUE 1
#define MAYBE 2
Hate me!
Clearly, I have no idea what I am talking about.
Nerd rage is the funniest rage.
Yields an analog computer. Which is really a digital computer if you count individual electrons...
Now I am confused.
My rights don't need management.
I'm old enough to remember quadrophonic sound.
I have nothing to hide. So, why are you spying on me?
I was wondering while reading this, doesn't it kind of ignore the fact that some of the biggest breakthroughs are more likely to come from things like quantum computing, or even the DNA based processing techniques?
It strikes me, that to make a statement like "Or will Moore's law continue without the need for doing more with less silica based real estate?", after the article really is just pushing out the other, to me, more likely, possibilities, to make this an important article?
I'm not saying it's not, and that discussing this won't have advantages, but let's not forget all the other things being discussed.
- True
- False
- Sorta true
- Sorta false
I don't believe it - is this a case where politics has beaten science in advancing the state of the art?There are no karma whores, only moderation johns
It will be harder to program for. Say bye to hexidecimal, its 27-imal (is there a name for it?). It would be 0-9a-k, brain melting! And to factor with the powers of three, the tribyte would probably be 6-trits (trinary digit), which would represent a value of 729.
Binary compatiblity. Not just for applications, but for data. Sure you would be able to compile applications from source for your tri-athlon, but would it beable to read your binary documents?
There is no such word as "definate"!!! You did it more than once, and it's so fucking irritating! What the fuck is wrong with you people? Why do so many of you assholes make that same damned mistake?
Obviously, you aren't a total fucking moron and you can spell most words (even uncommon ones). So, why the fuck can't you spell this one? Just think about it... definite, as in defined, as in not infinite. Clearly, you are just using the word, with no comprehension of how the word came to be or its relationship to other words (do you even know what it means?), otherwise the spelling would be glaringly-fucking-obvious.
You fucking idiot!!!
will someone please think of the dialogs we will have to implement for this extended logic.
There will be no more
Yes No Cancel
Now it will be
Yes No Maybe Cancel
Yes No Maybe Dont_Know Cancel
Yes No Yes(but I mean no) No (but I mean yes) Maybe Cancel......
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
... if the transition time is reasonably fast. Consider how long it takes a transistor to switch on-board; this (not is but) determines when the CPU is ready to send the result of a calculation. It would seem to me that the more graduations you introduce into your 5V, the longer you'll have to wait, due to transition and bouncing. With this in mind, tertiary seems reasonable, but `base 10' or higher seems questionable.
Most likely the #1 Unfunny Meta/Moderator on
It's hard to break out of binary thought since the traditional AND/OR in computer science mimic the English language usage of these terms, but in reality one could create any logic table and assign it a name. The fact that AND/OR have clear English meanings confuses the issue when we try to apply them to ternary input; we might as well call the functions FuncA, FuncB, etc. and define the logic tables arbitrarily, then pick those which are commonly useful and give them more definitive names.
Note that the size of a logic table increases geometrically with the number of possible values of each input. 8 bits have 256 possible values, but a group of ternary transistors has 6561 possible values, and quarternary would have 65536. As you can see, this number explodes very quickly. 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.
---
WARNING:Slashdot karma not redeemable in the afterlife.
The very first computer I ever programmed was a base-10 IBM 1620 (in California, 1968). If IBM didn't see enough business for a non-binary machine, why will anyone else?
Of course in those days, the machine was incredibly primitive. It didn't even know how to multiply without help. But it did run Fortran II very slowly and well.
Now, for a binary number system, digit 0 is [0, 2.5) volts, and digit 1 is (2.5, 5] volts. Clearly, the noise margin of the binary number system is much better than the noise margin of the base-3 number system.
Now consider the voltages of modern digital circuits. Consider a voltage range of [0, 1.5] volts. In a base-3 number systm, digit 0 would be [0, 0.5) volt. Digit 1 would be (0.5, 1.0) volt, and digit 2 would be (1.0, 1.5] volts.
For a binary number system, digit 0 is [0, 0.75) volt, and digit 1 is (0.75, 1.0] volt. Again, the noise margin of the binary number system is much better than the noise margin of the base-3 number system.
In fact, the noise margin of the binary number system is consistently 50% better than the noise margin of the base-3 number system. The noise margin of the binary number system is always better than the noise margin of the base-n number system, where n > 2. For this reason, engineers have not built and will not build digital systems with any non-binary number system.
Aristotle, given x & y:
1) x
2) y
Buddhist, given x & y:
1) x
2) y
3) x & y
4) ^(x & y)
In Moore's own words
No exponential is forever, but we can delay 'Forever'
The nice thing about binary systems are that they are either on or off. As gates and tracks get smaller, interference effects etc. become the limiting factor.
As we add more states, intermediate voltages, to the system, the difference between states becomes smaller, ie. the difference between states 2 and 3 in a ternary system is less than states 1 and 2 in a binary system.
Hence a binary system can be made smaller and denser than a ternary system and still work.
We may gain in logic density but lose out in physical density.
>Non base two computing is nothing new. But it is an
>idea that, for various reasons, never really caught on.
The various reasons not being so various; A binary system can be constructed in a much more stable fashion than can a trinary or quatrinary system. Everyone knows that 1 is not always exactly 5v (or 3v). Having several values confuses the picture even more
"but we have progressed enough that trinary systems are much more stable now!"
No matter what level of stability someone can get out of a trinaty or quatrinary system, a binary system will always be able to be more stable.
'ON', 'OFF' will *always* be superior to 'ON', 'KINDA ON', 'KINDA OFF', 'OFF'
What would the benefit(s?) be of going to such a system?
How about this, same AND:
a b ?
- - -
0 0 0
0 1 0
0 2 0
1 0 0
1 1 1
1 2 1
2 1 1
2 2 2
OR would be harder, and more so to interpret what the hell it actually means:
a b ?
- - -
0 0 0
0 1 1
0 2 1
1 0 1
1 1 2 (---====== Here I assumed OR would be a higher value if both non-zero values - the "Bonus Plan" (for no apparent reason.)
1 2 2
2 1 2
2 2 2
My head hurts.
Base 2,3,4, and 10 are so easy. If you really want a challenge, build a computer using base pi, e, i, 1, or 0 :-).
- David A. Wheeler (see my Secure Programming HOWTO)
01010110011010010111011001100001001000000110110001 10000100100000010000100110100101101110011000010111 00100111100100100001
(Viva La Binary!)
"It was only a dream. There's no such thing as 2."
- Phillip J. Fry
Avoid Missing Ball for High Score
...prove we will be using a quaternary system. How many gigaquads of hard drive storage do we need, anyway?
640 kiloquad ought to be enough for everybody.
We don't even use base two (or the shorthand base sixteen).
-Libertarian secular transhumanist
I may be wrong, but hasn't most of the effect of moores law existed based on improvements in chip design and manufacturing alone - ie. the doubling of transisters on a chip or the doubling of clock speed of a die.
If we were to double the clock speed or transisters of a tirnary computer, would that still give just a 2x performance increase, 8x, or somewhere in between? I can't even get my head around this enough to begin ...
Back in the day, as I taught myself the basics of binary arithmetic and logic gates, it amused me to think about how most of the esoteric training for programming involved thinking in two digits.
:) of course, but a lot of the arcana of programming stems from base 2.
I imagined that if a stable 10-state device could exist, programming would no longer need a mathematical priesthood.
I now think in my old age that someday a stable 10-state device will come. And it will be received with all the joy of wedding guests greeting a police raid. If you take the hex out of coding, how will the elite keep out the hoi polloi?
It's not that simple,
It'll never happen, base10 computing, not in our lifetimes. But it is amusing to think of the unwashed masses waking up one day to realize that coding wasn't that hard after all...
Actually I have 3 grandparents, 3 parents and if there's only one of me.....who the hell keeps telling me to light things on fire?
Well, if the word "bit" is a contraction of "binary digit", then I'm all for a move to "ternary digits". We need a lot more of those in this field.
Yes, computers deal in voltages, but only two voltages. The logic we design in those computers, at the lowest, fundamental level, is based on a decision of whether any individual signal is at one voltage, or another. There is no third state.
The idea is that if we work in ternary, or other multi voltage based system, (which implies we need the math and logic to design the system around), we can get more processing done with the same amount of silicon.
The base of the logic is not pointless at all.. the binary logic we talk about is *exactly* what the computer uses at the lowest level, each individual component is deisgned to work around a binary system. Moving to another system means different components... it is by no means arbitrary.
Those who don't understand binary don't deserve to live, right?
-Libertarian secular transhumanist
One of the best parts of Ternary (Trinary, base 3) is that you can use BALANCED Ternary, in which the digits are not 0, 1, and 2, but are -1, 0, and 1. This allows you to represent any integer without a sign bit. Letting N represent -1 digit you can represent -17 in balanced ternary as 101N (1*(3^0),0*(3^1),1*(3^2),N*(3^3)).
You can check out http://www.trinary.cc/Tutorial/Tutorial.htm for many examples of ternary circuits using ternary logic gates.
01010111011010000110000101110100001000000110110101 10000101101011011001010111001100100000011110010110 11110111010100100000011101000110100001101001011011 10011010110010000001100010011000010111001101100101 00100000001100110010000001101001011100110010000001 10010101100001011100110110100101100101011100100011 1111
The power of Christ compiles you.
A Random Blog
Theres one small problem with this is that anyone who knows basic physics and logic design circuits that operate on voltage base would be impossible as you can not creat instantainious changes in voltage as it violates basic physical laws of capacitance (as the capacitance across 2 devices is = to 1/2 the capacitance multiplyed by the voltage squared and the only way for there to be an instantaious change across the 2 would be for there to be and infinite power supply). The only way in order to create a system with more then 2 stable states would be to use a different method for measurement such as measureing changes by useing lightbeams.
- you have four grandparents, 2^2
Only if I dig them up.
http://jesus.everdense.com/
Why not abolish a different area - synchronous computing.
Rather than considering them to be 3 valid values, we simply have invalid, 0 and 1, and if any of the inputs are invalid, the output is invalid. The value isn't propogated until all the inputs are valid.
Actually, you'd probably still have a sign tit... -1 for negative, +1 for positive, and 0 for imaginary.
Hehehehe... I said, 'tit'.
i can finally run my java/swing programs at the speed of native programs??????
All it takes to fly is to hurl yourself at the ground... and miss. -Douglas Adams
Date: Wed, 26 Dec 2001 10:38:34 -06000 387abs.htm
From: Jeff Epler
To: steve@trinary.cc
Subject: Trinary adder efficiency
Do you know of any more efficient trinary adder designs? I've found an
online abstract of a paper that may have some, but I don't have access
to the paper itself:
http://www.computer.org/proceedings/ats/7129/7129
Also, do you know if a "balanced trinary" adder (-1, 0, 1 trit values)
is any simpler than your trinary (0, 1, 2) adder?
I also performed a simplistic comparison of the proposed full adder on
your website against a binary full adder at
http://www.play-hookey.com/digital/adder.html
I compared number of gates and number of gate delays for a 64 bit binary
adder and a 40 trit (slightly smaller range than 64 bits) trinary adder
designed from each full adder. These aren't open-and-shut cases, since
they don't answer questions such as the relative size and speed of
trinary gates to binary gates in a particular process, but I think they
may raise some interesting questions about circuit design than the
proposed "minimize m*n for given m^n" measure.
In your adder, I count 17 gates + 3 muxes at 15 gates each for 47 gates
per trit, or 1880 gates for a 40-trit adder. I count 5 gates per bit,
or 320 gates for a 64-bit adder in the binary case. Thus, at least
in adders for numbers in this range seem to be significantly larger
for trinary. (won't this advantage always exist as a constant factor?)
In your adder, I count 7 gate delays for the MUX operation, giving a
count of 14 gate delays for the "result" path and 11 gate delays for the
"carry" path. In the binary full adder, I count 2 and 3 delays for
the paths. This gives 443 gate delays for the trinary adder, and 191
gate delays for the binary adder. (again, won't this advantage exist for
numbers of any magnitude with the same constant factor?)
By either of these measures, it's hard to see trinary logic as a "win".
I haven't investigated more complex adder designs (carry-lookahead adder
and its trinary counterpart, if any) or more complex ALU operations
(multiplication/division, floating point) to see if the advantage binary
shows here exists in other operations as well.
If the real "win" of trinary is in external pin-count, then another good
option would seem to be to use trinary (or even 4-state) logic for
I/O, and convert to binary before entering the main logic of the chip.
4-state logic would have easy binary conversion, and if trinary inputs
were chosen, encodings such as 6t->9b, 7t->11b, 9t->14b, 12t->19b (#
trits -> # bits) could be chosen. (You need 3**n to be just larger than
2**m, where you can also build efficient converters for that width
number)
One last thought -- when we convert all our old COBOL programs from
binary computers to trinary ones, we'll have to face the horrible
encoding "TCD", where each decimal digit will require three trits.
Thus, numbers up to one million would require 18 trits, compared to 24
bits. Using the 'm*n' measure, the bits solution wins (24*8 = 48
18*3 = 54)
Thanks for taking the time to read this far -- if you've addressed these
points on your website, I hope you'll let me know where (I read much of
it, but not the whole thing by any means).. thanks for the interesting
website, and I hope you're not drowning in messages after the recent
magazine article and publicity on a certain geek website...
Jeff
Hate stupid software on freshmeat? Laugh at
The point is that after the density of wires will come closer to its limits, then the amount of states per wire can increase the informational density, making devices more compact. It will not come without a price: you'll have to have more precise "readers" that can read more states (levels?) per wire. I think it will certainly useful to increase the density of memory devices.
Today the race is directed to increase amount of wires: 16-, 32-, 64-bit architectures, what's next? Tomorrow they may split the density between amount of wires and amount of levels. However, I am wondering, what can we expcet in a really far future? Infinite amount of wires or infinite amount of levels? Or both?
Inifinit amount of wires with infinite amount of levels means just an electromagnetic field, IMHO. So, the dynamic and the shape of the field means the computation. Wow! That's something cool! Wait a minute, it's not new.
I remember reading a hardprinted article 20 years ago (back in Russia) about a generalization of neural networks. In that article the author is taking a typical math model of a neural network and makes neural elements extremely small (infinitely), while amount of them extremely big (also infinitely), while keeping analog signal (means no fixed levels, or infinite amount of levels) between them. The result of such generalization after several transformations was just a system of equations of Maxwell, desribing the most general electromagnetic field. It means that the whole electromagnetic field of the Universe is the most ultimate neural-network simulator with all (and also ultimate!) self-learning capabilities. I wonder, what would take to include there other fields as well?
Conclusion: the ultimate comuputer (and equally same way the ultimate brain) is the Universe itself. Hmm... Sounds like a super-mega-Matrix again - the Universe that is the program that interprete itself... Enough for today - I need a rest or I'll start to interprete myself recursively :)
Less is more !
Haven't we covered this before?
:-(
I also read a paper once explaining how 3 was the optimal number base when you consider the number of different symbols needed and the width of a string of those symbols needed to represent numbers. I even solved the equations myself coming to this conclusion. You actually find "e" (2.718281828...) as your answer, but the closest whole number is 3, not 2.
Unfortunately, I don't have a link and Google has failed me
The quaternary system would be perfectly suited for women:
0 = No
1 = Yes
2 = No (But I mean yes)
3 = Yes (But I mean no)
It seems like just yesterday that /. had a posting about transistors getting so small that chips had to be designed such that each gate had a "probability" that it was going to work up to spec. (As in it would be lucky if it was actually binary...forget about some fancy 3 or more states.)
For a long time now, there have been telephone answering machines that use flash chips to record multi-level "analogue-bits"!
It works but it is not exacly CD quality (all digital) sound.
>Using the 'm*n' measure, the bits solution wins (24*8 = 48 18*3 = 54)
Should be 24*2 = 48
Hate stupid software on freshmeat? Laugh at
Would/could DNA Computing be inherently base-4?
This user account is inactive account replaced by the PDA
Men = Binary Logic.
Women = Fuzzy Logic.
Me = Sleepin on the Couch.
"Derp de derp."
1. Yes
2. No
3. Mu
mmm... yeah... You see, we're putting the cover sheets on all TPS reports now before they go out...
Another poster provided trinary computing tutorial. On one of the pages for the introduction, the author writes:
As if we didn't lack sufficient sexual jokes regarding current computer technology. Now we have to introduce "trits" into the fray. Now we're going to have to explaing to our mothers that they're using 32 trit computers. Or stop people from laughing when we mention we like lots of trits.
I propose we quickly abandon this system in favor of quarternery logic. The possibilities for abuse of a trinary logic system (and its trits) are simply too many.
Join Tor today!
no, the ACLU is....
The Bill of Rights permit free speech and free
expression of religion. The excuse used by the ACLU is the Establishment Clause, which was designed to prevent a Federal Religion. Also, it does NOT say that the state of ALA can not have a state religion - some like MD do. The 14th ammendment (illegally ratified, by the wey) has been used to expand the rights of the US Government to take away rights from the states (a war was fought over these issues in 1861-65).
We have 10 fingers, 10 toes, etc. We can handle base-10 math easily, but not base-2 math.
Maybe you only use your 10 fingers to count to 10, but any self-respecting geek will use those 10 fingers to count, in binary, up to 1023 by using both states of their fingers to represent a one or zero (up or down). A base-1 system on your fingers is just a waste of states. With some practice you can even handle the unusual states like 21 and 27 easily (I use my thumb as 2^0).
Things you think are in the Constitution, but are not.
We can certainly build 4 state logic, Flash already does this to squash 2 bits into a single flash cell.
However if you can't build a 4 state gate with fewer than twice the transistors of the binary gate, you will use more die area. If you fiddle with an inverter you can get it to produce vcc/3 when vcc*2/3 is put on it's gate, but the inverter has a lot of gain between the supplies, so any deviation on the input will be magnified. A circuit with a stairstep-like transfer function is needed to fix this, and that would require lots of parts.
Also in a 2 supply system forcing a gate to output vcc*2/3 would allow DC current to flow, which adds to the power problem. If you use 4 supplies then you'll be wasting area.
Multi-level logic is fine for RAM and storage applications since you only use sqrt(n) decoders, where n is the number of bits, so they can be big and complex.
Also, in the binary case, AND and NOT (say) are a basis, any other function can be expressed in those. I dunno if that holds for m-values logic.
Like white guys the world over, Aristotel does more with less ;)
Will the Enterprise have to retool the fleet to reflect the new technology?
You have to worry a lot more about intermediate states.
Consider a ternary machine. There are three states-- represented, let's say, by 0V, 3V, and 6V (yes, I know, this probably wouldn't be the case-- work with me).
To go from the 6V state to the 0V state (or vice-versa), the signal will momentarily pass through the 3V state. While this may not seem like a big deal, you need to consider what it could mean when that intermediate state is active-- entire parts of a ternary CPU could be activated.
Mind you, if every subsystem is watching the clock like a hawk, it makes it a lot easier. But it's still another design consideration that makes ternary (and quaternary) computing a LOT more complex than binary computing.
Not only that, but binary logic has some convenient tie-ins with various branches of math, notably number theory. Mersenne primes would be a royal pain in the ass in ternary (though quaternary logic wouldn't be bad, I suppose). Similarly for the square-multiply exponentiation algorithm.
Not to say that non-binary computing doesn't have potential, but there are going to be a LOT more changes to consider than simply "how large a number will fit in a 32-trit register".
Food for thought.
Hey I only have 2 parents, 2 grandparents, 2 great grandparents... Don't discriminate against us yokels.
Why don't you guys have friends or journals?
The problem I see with this is:
Already our processors are dissipating a serious amount of heat. This heat is developed only during the switching time.
Picture a cpu clock:
_|-|_|-|_|-|_
Haha, something like that. Anyways, the heat is only developed during the vertical bars of that clock. (Because the vertical bars arent perfectly vertical in the real world and that P(heat)=VI. During the horizontal bars, only V or I are present, so no power, ie: no heat)
I dont exactly know how this ternary or quaternary computing works, but if its forcing the transistor to work in stages between full off and full on (1 and 0), you will be increasing the heat output by your cpu exponentially.
Correct me if im wrong on this, but maybe we'll really need those diamond semiconductors to make this feasable for high computing power applications.
It's easier to fight for one's principles than to live up to them.
"Or will Moore's law continue without the need for doing more with less silica based real estate?"
:-]
Mmmmmm, silica based real estate....
sorry, as a chemistry geek I'm required by federal law to make a joke when someone confuses Silica or Silicone with Silicon.
- "Hear that?! The percolations are imminent! Cease your ingress!"
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.
Unask the question!
Off 1/4 on 1/2 on 3/4 on full
not true you are baising your logic on the ordering or the lattice
Cool thought -- too bad it's from the AC!
How indeed would you work a trinary system where:
A > B
B > C
C > A
In HS biology, there was a chart of "pecking order". The chicken on the top (A) could peck anyone, the next chicken (B) could peck anyone but A, and so on. We had a chart like this, but note what happens to chickens D, E, and F:
o A B C D E F G
A - X X X X X X
B - - X X X X X
C - - - X X X X
D - - - - X - X
E - - - - - X X
F - - - X - - X
G - - - - - - -
D can peck E, E can peck F, but F can peck D. So even though D is greater than E, and E is greater than F, D is not greater than F.
This isn't the sort of trinary (ternary, tritiary, whatever) logic I've seen referenced in any of the links I've seen so far.
What's the number for the patent office again?
Stressed? Me? Of course not. Stress is what a rubber band feels before it breaks, silly.
IIRC from MAT/CSE460, trinary (-1,0,1) is great for multiplication and division but sucks at addition and subtraction. With the opposite being true for binary (special cases like powers of 2 excepted).
I also thought the great advantage for transistors was speed (and power savings as a previous poster noted). You can drive one into cutoff or saturation very fast.
http://www.trios.org/
As long as the hardware can still be programmed as if it were binary based, using other bases only as needed, then it might be worthwhile. But if you have to completely rethink how you program everything to handle other-base logic, it won't take off. We'd have to be eased into it.
Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
Take it to the extreme man, learn base -(-1^1/2), i.e. base -i, negative imaginary base. :)
The phrase is "hear, hear". Saying it wrong makes you look like a dumbass. Dumbass.
After all, TriINTERCAL has supported this for a long time. And, of course, the extra necessary operator is BUT.
In the future, all spacecraft will be made of cheese.
Read the First Amendment again. I think you'll see that you're quite wrong.
I remember reading a scifi parody/comedy where it was stated that "true AI was not developed until ternery logic was developed (yes, no, maybe). This explains why all AI's are female."
I wish I could remember the name of that story.
Yay me!
Flash memory cells, however, are read by an analog sense amplifier, so multi-level LOGIC doesn't really come into play. And I think it's the multilevel logic that really presents the challenges.
It's not wasting time, I'm educating myself.
are these multi state transistors available at the basic level?
I thought computings binary nature came form the on/off nature of the transistors.
anything else requires abstraction, overhead, waste thats best done higher up in the stack right?
the metal dictates the computing as i understand it.
if someone makes really good chips with 3 state transistors then I imagine the 3 state computer logic will quickly follow.
your quantum computers, for example will use something mind bogglingly more complicated I'm sure.
'There is a Light that never goes out.'
as you increase number of bits, you need to increase signal strength to differentiate the multiple levels that are created. this requires more power and in the end you lose. in general a bandwidth increase is better way to increase communication speed than increasing signal strength and the same applies to computing. i don't have the precise figure, but during my studies, we did some calculations about power required vs number of bits of computing and it turned out that theoretically, a best system uses "e" number of levels (e=2.718....).
now i know this is funny, but atleast in one of the systems used (in 80s and 90s), by NASA, the A/D converter was a 3-level converter (not 3-bits). in their signal, the noise dominates over signal, so multiple samples are averaged. you can increase quality of each sample, but then tape can store less samples. most common practise is to use 1-bit converter in these kind of systems. the ideal converter is to use e-level converter. 3-lever was a better compromise.
Two mommies.
(Intentionally didn't try to add words to make it a joke because it wouldn't have been funny then, either. Hey, at least now that I said it you won't get some AC troll using it in an even stupider joke, so there.)
I have questions, not being a CSC or ENG, about what it means to go from binary to tri or quat.
It seems a good fit that transistors correlate so well to binary computing. How does this work, for example take RAM transistors on a tri or quat system - with binary, the RAM transistor holds either current or no current to represent either the 1 or 0.
How does storage of the trinary or quaternary systems work in this case?
And am I right in thinking it takes more than one transistor for a RAM memory cell, as it does for a Static Ram cell?
Well at least counting to 9 (ie 20 base 3) will be easier than hex. Only few of us embedded folks were born with sixteen fingers, and octal never really took off.
Engineering is the art of compromise.
Picture a system with:
1/3 power = 0
2/3 power = alpha
3/3 power = 1
Now consider the case of recursion where each iteration must be deffered until the one above returns - by using uncertain values instead you may be able to perform a range of forward-possibilty operations upon the as yet indeterminant numbers.
When the higher order recursion results eventually (lets assume) returns a value that determines the alpha value all that is required is to create a specific instance of the generalised results.
I like the concept - and it seems it could easily be integrated on the same die as a standard ternary chip.
Q.
Insert Signature Here
4-state is more usefull: Yes, No, Either, Neither.
Much better suited for voting machines in Florida too. Really good for registering a vote for nobody!
OH THE SHAME I fell off the wagon and use sigs again!
natural logic (used in common life, common sense) is NOT binary. quantum-mechanical systems can be described more naturally using all continous values between 0 and 1. a simple but working approximation using 5-valued logic in such systems was developed shortly after their introduction.
nature is NOT binary and nature does NOT treat all continuous values equally. certainly our understanding of this could be extended using n-valued logic in the hardware implementations of computers.
AFAIK, Quantum computers have all been currently theoreticly applied to a binary computing model, using the spin of electrons as the bit storer. How would this work in tertiary, or anyother base for that matter?
stuff
Next, try to build a circuit that computes -i^(1/2). Fun with a capital F. =)
A witty saying proves you are wittier than the next guy.
...those who can count in tertiary and those that can't.
I'd give my right arm to be ambidextrous.
Star Trek's computers are based on Trionics! Remember "The Ultimate Computer" episode? Oh, wait, that's right nobody on Slashdot has seen the original series....
Debunking the "59 Deceits"
Wake up you fools, you are asleep - yes you are, no you are not. Foolish slashdot
Have you never heard of XOR? This is what you've just discovered
-- 'The' Lord and Master Bitman On High, Master Of All
... when you can use all kinds of logic all at once. See the Pile system at http://www.pilesys.com/tech.htm
Cool! Now I can count to 242 on one hand! Sure makes my knuckles hurt though.
It's still a power of two. People will have an easier time grasping it. People are used to CPUs doubling registers, addressable memory, etc. so doubling switch state possibilities seems like a natch.
Trinary, or any base not a power of two, will just wierd people out.
The best thing to do is make it as transparent as possible. An 8-quadbit register is the same as a 16-bit register. From the assembly programmer's POV, it should be possible to treat it the same way.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
You might want to rework that a little to give it a safe distance from the good old...
Don't go elsewhere to get ripped off, come to us!
I know your doesn't actually say that, but it's the first thing came to mind when I read it :-)
Fuck the system? Nah, you might catch something.
So here we are, markets starting to come to a halt because we have the RAM we need, the processors are fast enough for our use..
Solution? Let's introduce a new system that will sell for decades while we think of another scheme to make money off our gullible consumers, which pay our salaries (*warning* potential corrupt link detected).
I think that the reasons for going from binary to whatever are vague and weak. Signals will be more susceptible to noise, turning a fuzzy maybe to a yes.
We already have a nice ternary system using condition-codes (negative, zero, positive).
This article is to me a *strong* hint that they have NOTHING innovative to create, and now they try to force change where change is not needed.
Either we exist, or we don't.
Almost all modern machines (chips, what-have-you)that do serious multiplication (i.e., not necessarily embedded systems) use something called Booth coding. I am not so sure that it is beneficial, but all the major manufacturers think so, so they use it. One of the multiplicands is converted to a multimode binary number (digits have values of -1, 0, 1). It saves a bunch of time on repetitive additions, especially when accelerated with a Wallace tree. The original Booth paper was published in 1951, but no one seems to have a copy anymore (boy, I would love to get my hands on a copy of that!) "I don't need no stinkin' sig"
Most logic circuits, from an analog perspective, are amplifiers. Rather than operating in the linear region, however, these amplifiers, are overdriven to force the output to rail at one extreme or the other , producing a high or low voltage level (0 or 1). CMOS works particularly well iunder these conditions because, in steady state, only a small leaskage current flows through the circuit when it's railed. As the author indicates, you can design logic by comparing a voltage to a fixed threshold, such as in ECL, CML, SCFL, etc., but these circuits are based on differential amplifiers, which typically burn significant current at all times. Not to mention that it's difficult to imagine a circuit which can generate more than to voltage values that does not use significant current at all times. Therefore, it seems the price of non-binary logic in most cases is increased power, which is not a trade-off anyone's willing to make (Flash RAM is an exception because of it's unique nature).
Vote for Pedro
Unfortunately, the actual name is "trits." People doing Quantum Computation use them all the time (since you just take whatever you can get, and some atoms & ions just happen to have 3 states).
A move to multi-valued logic provides more computational capability without the standard increase in die size or transistor count.
yeah right.... lets just move to near infinite values to have near infinite computing from the same transistor count! Shannon and Nyquist be darned!!
[o]_O
we used to use it all the time to make decisions:
rock, scissor, paper
Supreme executive power derives from a mandate from the masses, not from some farcical aquatic ceremony.
yes, no, maybe.
computer would have an answer to everything, maybe.
For example, you can create number systems where all rational numbers. No infinitely repeating decimals.
IIRC, this works if by having each of your prime-numbers at a given position.
The idea is that a number gets represented like this:
.123 = 1*(1/2) + 2*(1/3) + 3*(1/5)
22221 = 2*(11) + 2*(7) + 2*(5) + 2*(3) + 1*(2)
or
but I forget the name of this system
With some practice you can even handle the unusual states like 21 and 27 easily (I use my thumb as 2^0).
Yeah, but watch out for 132.
I hereby place the above post in the public domain.
kyou wa ne, banana ga arimasen.
-uso.
Dreams, dreams, don't doubt dreams, dreaming children's dreaming dreams. Sailor Moon SS
Ternary computing could be quite useful for asynchronous logic. The three states would be 1/yes, 0/no, and n/(no answer yet).
Basically you want the truth table to be, in order of precedence:
0 AND * = 0
n AND 1 = n
n AND n = n
1 AND 1 = 1
(OR is the reverse, swap 0 and 1)
NOT 1 = 0, NOT 0 = 1, NOT n = n
Gates can be actually made to follow the right truth tables by diddling your substrate voltages in an otherwise fairly standard CMOS design; this has the effect of making your circuit twice as slow or quadrupling its power consumption though, which sucks. You also have to watch your noise thresholds here, transients can be nasty although they are unlikely to propagate far through a network of n's. This can be mostly fixed by further tinkering with thresholds, but then the leakage current becomes prohibitively high.
You can also just design extra logic with standard gates and watch your glitches very carefully.
There may be cleverer ways to do this, or the savings of asynch might be enough to make it useful anyway.
I hereby place the above post in the public domain.
each computer chip has a unique number base that it's based on.
:-)
the number of bits per word is random.
the protocols are random
page size is random
etc, etc.
great for security
great for one time use, throw-away computers.
perhaps make them in pairs for secure communication,
or perhaps a group of them for trusted computing between a group of developers.
might be interesting...needs to be fleshed out though.
That will surely piss-off any participatants in government spy-ware activities....
Yeah, but decimal 132 or 891 tends to offend people, depending on how you define your states.
:P
Hint:
132 = 00100 00100
891 = 11011 11011
Besides, nearly half the states are uncomfortable for most people.
True geeks rely on their HP calc for math; manual calculation is for nerds.
try continued fractions
Abort, Retry and Fail are the only possible outcomes after using the only possible inputs of Ctrl, Alt, Del.
Generally reading, i already feel a bit daft and behind the times with the /. crowd, but now you have me running to dust off textbooks long thought lost?
I give up, im going back to basketweaving.
If the technology is there to do base 4 then they may as well go for broke and do base 10. Why waste the effort on another 'broken' system.
We could also go completely analogue and just dump the binary computer all together. Circuits are accurate enough now, we don't need binary anymore.
Analogue computers are faster than digital anyway.
Think about it: male/female, life/death, something/nothing; it goes back ages into daoist philosophy, and you all know the yin/yang, right? If there was no male/female, we'd all be at a bacterial level. Now look closer at the 1 and the 0. 1 = phallus, 0 = hole (vagina).
And when you get down to the quantum level (and correct me if I'm wrong (and I'm sure you will), because I'm no quantum physicist), you find that electrons sort of blink in and out of existence -- you can only measure them in terms of probability of them existing at a certain point in time. It seems like reality as we know it is based on a binary system.
Add to that how computers are affecting just about every way of life, even after being around a mere half century. There's some sort of big interconnectedness going on here, I think. Binary all the way.
c-hack.com |
The aymara people have used trivalent logic for thousands of years. It allows precise definition of "maybe" or "possibly"
There is a great writeup of these people and their logic at:
http://www.aymara.org/biblio/igr/igr3.html
The article mentions that it is very difficult to impossible to express the logic of one culture in the language of another. Thus to understand better the inferences in Aymara logic, we have to resort to mathematics, which is sufficiently general to be understandable and translatable.
(I'm from New York, okay?!)
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
The usefulness of binary logic is not a relic. Its necessary. Software today heavily relies on the following:
... even if you could convince the silicon manufacturers to consider a base 3 CPU, they wouldn't necessarily gain very much for certain operations like FPU multiplication where it is already being leveraged.
1. Ordinary boolean logic: AND, OR, XOR, NOT. There is no simple way to implement these in bases other than bases which are powers of 2. You *CANNOT* get away with not implementing these in instructions sets. The silicon would be forced to emulate/implement these as some kind of ROM-table look up.
2. Integers being exact powers of 2 in size. There are many bit hacking tricks that "shift bits off the top" which will not work as expected. There is no way to fix this.
Note that an OR operation can actually lead to an OVERFLOW! There are numerous masking tricks that will fail because of this:
x = HIGH_BITS | y;
z = x & SOME_MID_TO_LOW_BITS;
Today's programmers assume that so long as HIGH_BITS and SOME_MID_TO_LOW_BITS don't intersect, then the two lines can be interchanged in order without effect. But because in base 3 the first line can overflow, there's no way to preseve this property.
I think of using ternary logic as kind of like trying to put square carpet in a pentagon shaped room. It makes no sense to me.
----
All this being said, if I am not mistaken base 3 is ALREADY BEING USED(!) internally in certain ALU operations. For example, I am told that FPU multiplication can be (and are) significantly sped up by switching to a base 3 representation (versus a direct binary implementation.)
The reason why ternary works for something like this is because multiplication can be (and is) implemented without relying on bit logic, but just adder (and the consequence arithmetic "RING" that follows) logic.
So
...
...
4. Profit!
But I guess that doesn't really fit in with a discussion of base 3
What does 2 stand for? Reply hazy, try again later?
I had but a simple dream, to destroy all humans.
True and false, right and wrong, yes and no, ping and pong... nothing else! Anything else would be false.
- Danny
(Exponential Growth = Unbreakable) => Tripe
I hate to add fuel to this sort of fire, but is Moore's "Law" a law, or an "observation"? They are not equivalent.
"...historical trend that hasn't been broken in thousands of years." - What codswallop. In a theoretically infinite universe this may be the case, but real life is never that simple. Exponential growth of velocity - diminishing returns as you approach the speed of light. Exponential population growth - always a ceiling....
I could go on and on - but I won't.
Q.
Insert Signature Here
Well I browsed through the first page and my eyes are asking for a break, so I'm going to say what wasn't said on the first page (maybe on later pages):
There's 1 kinds of people in the world, those who can read trinary and those who can't.
Intrinsity has quite a few patents around a logic family which in called NDL based around multi-valued signals. Not to be confused with multi-level signals.
Didn't Intel use this kind of math in its first Pentiums? :)
/. makes me feel so far ahead of the curve it's not even funny.
But seriously, a friend of mine and I joked about trinary computing (our term) back in 7th grade and how cool it would be, making computer SO much more powerful. The fact that it is being discussed on
Goddamnit, and here I already posted before I could mod up your post...
stupid anti-abuse moderation system
who the hell modded this guy as insightful?!? someone should take away their mod points. (ha, love the way HookedOnPhonics' website is the Merriam-Webster Dictionary tho ^_^)
Standing at the very edge of my imagination, I peered into the inky void and realised -- I couldn't think up a new sig.
Base 3 is the only truly beautiful base. Not only is it optimal in a theoretical sense, it would dramatically improve the quality of life of geeks everywhere. True, they would still not get any, but at least instead of working with boring bits and bytes they would switch to thrilling tits and tights. I say, go for it!
In your estimation, then, a ternary computer would be pr0n optimal?
If you had 16-level logic, one hex digit could be represented in a single cell of a register. That might be convenient.
The memory ought to be 9-digit (equivalent of 36 bits) so you can have type flags associated with every value (integer, float, pointer, etc.) It would make implementing dynamically typed languages a breeze and we could get rid of statically-typed languages without losing efficiency.
Personally, I like to use base 6 when counting on my hands. This lets me count to 35 on my hands without any uncomfortable finger positions.
... , 5 fingers out).
I use the right had as the 'ones' hand and the left has as the 'sixes' hand. Each hand had six states (no fingers out, 1 finger out, 2 fingers out,
Counting to 5 is the same as normal (using base 1), Just put out one finger at a time or your right hand. To count six, just close your right hand and put out one finger or your left hand. Since the left hand is representing the 'sixes' place, your hands are representing 10 base 6 or 6!
Continue putting our fingers on your right hand until it is full, and then close it and put out another finger on your left hand. Continue until you reach 55 base 6 (35 base 10), at which point you run out of fingers and hands.
One important thing to remember about truth tables is that the number of operands (the numbers you give to a function to get an output) for a given operator is NOT always the same as the base. For base two you have two operand operations, which we all know as AND OR XOR, but you also have operations that require only one operand, the common NOT (1->0, 0->1) and what I will call EQV (1->1, 0->0). There are also 9 more two operand truth tables that you see in varying degrees of extreme rarity, f/e the following arbitrary truth table that you will never see in practice:
A B out
0 0 1
0 1 1
1 0 0
1 1 1
Apply this to base 3 and you find that there are not just 3-operand operations but 1 and 2 as well. For one operand you can have a rotate-down(0>2,1>0,2>1), shift-down (0>0,1>0,2>1), rotate-up (note that in binary one-operand rotation happens to coincide with NOT), shift-up, and various arbitrary tables like the one above. For two operands you have NeitherBoth (00>0,01>2,02>1,10>2,11>1,12>0,20>1,21>0,22>2), and the arithmetic operators, plus a bunch of others with explanations i cant think of right now. For three operands there are thousands of possible truth tables, many with useful explanations, many many more arbitrary ones. Oh, and for both 2 and 3 operands you have multiple partial or complete counterparts to the traditional binary AND OR XOR that apply the same kinds of rules to the operands.
Amateur. You have two joints on all your fingers and three distinct states -- up, bent, and down.
That's ternary. And it means that instead of 1023, you can count up to 59049.
Which is great for counting pennies before buying an iPod.
Hey freaks: now you're ju
Bender: what a strange dream...I thought I saw a '2'.
Maybe.
If you were blocking sigs, you wouldn't have to read this.
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):-
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
It's possible to count to 60 on your fingers and thumbs; the Sumerians (IIRC) did it, and that's why we have 60 seconds in a minute, 60 minutes in an hour, 360 degrees, ...
I've seen it done... it involves using each knuckle on each finger, so each finger has 4 possible states (down, 1/3 up, 2/3 up, up), and each thumb has 3 states.
Nothing to see here; Move along.
what would hex be called in trinary? :)
;)
perhaps we can call it sex?
then geeks would get sex more than anyone else
slashdot that i know...
i was wondering what the hell happened to the slashdot community..
You're a relic, I'm afraid ;-) ... Binary operations can be carried out by considering whatever values you have to be binary numbers...
Heh.. I hate to break this to you, but your thinking is a bit behind the times as well...
Multivalued logic = Fuzzy logic
The most common AND and OR operations in Fuzzy Logic are min() and max() that together form the basis of a De-Morgan Algrebra (only the law of excluded middle [A AND NOT A = 0, A OR NOT A = 1] must be thrown out)
AND(A,B) = MIN(A,B)
OR(A,B) = MAX(A,B)
NOT(A) = 1-A
Generally, a trenary logic is composed of { 0, 0.5, 1 } where each value is the "degree" or "belief" in TRUE.
0 = FALSE
0.5 = UNKNOWN
1 = TRUE
Some of you may recognize this from SQL (yes, SQL does actually have a simple trenary fuzzy logic base).
The truth table ends up looking like this:
0 AND 0 = 0
0 AND 0.5 = 0
0.5 AND 0.5 = 0.5
0.5 AND 1 = 0.5
1 AND 1 = 1
0 OR 0 = 0
0 OR 0.5 = 0.5
0.5 OR 0.5 = 0.5
0.5 OR 1 = 1
1 OR 1 = 1
NOT 0 =1
NOT 0.5 = 0.5
NOT 1 = 0
If we move from trenary to any other precision, the rules stay the same and the table is easily derived ( min, max, 1- ). Generally, it is prefered to always have a 0.5 value, because UNKNOWN is actually a useful truth indicator. The next set after trenary that makes sense is not 4-value-logic (because it would exclude unknown), but instead 5. For instance:
0 = FALSE
1/4 = UNLIKELY
1/2 = UNKNOWN
3/4 = LIKELY
1 = TRUE
At this point, some truly interesting approximate reasoning is possible, although going to 15 values or (ideally) handling multivalue logic as analog until storage/retrieval would be much better. Approximate reasoning is one of the many things that fuzzy logic makes possible. Essentially it is the application of fuzzy logic to determining beliefs where certainty is not important (and in fact the lack of certainty is where the power of such a system comes from - being able to continue computing without full knowledge, only belief)...
The idea of signals that are analog flying around on a semiconductor, instead of digital, yet time discreet in the same way as digital signals is quite interesting and could probably be done quite easily. Anyone have any ideas on how a min(A,B), max(A,B) and (1-A) operation might look on silicon?
The reason that it can be true that 1+1 > 2 is that very peculiar nonzero value of the + operator
Even the terminology is bad. True, false, alpha. Ugh. If P is sort of true, then kind of do q.
How about "If you are going fast then slow down?"
slow down = apply breaks
pressure on breaks =proportional to= belief in the assertion "going fast"
The fact that fuzzy propositional logic allows us to take english sentances and break then down into logic with very few steps or translations is extremely impressive and flys in the face of your statement.
In fact, terminology in possibility theory and it's ability to rationally handle the ambiguous or less then fully quantifiable is exactly it's strength.
One last note: You don't need many uncertainty states to make a system like this useful. Although, certainly, the more you have the more precision is possible. I think 255 states is more than enough for common applications, including control systems for machinery and whatnot. A chip designed properly could probably combine multiple fbits to increase precision in the same way that bits are combined to create ints or floats.
The reason that it can be true that 1+1 > 2 is that very peculiar nonzero value of the + operator
DNA is base 4, so does that make the AMD "human being simulator chip" a bit easier to build? :-)
Hmm, I'll go and file that with the US patents office, they seem an easy touch at the mo..
"You lied to me! There is a Swansea!"
I've started a rule of thumb whenever I see a slashdot article on the upper limits of computing. This rule is activated even more rapidly if I see the phrase "Moore's Law". The game is I simply say to myself "How does this compare to the human brain?"
For example the poster for this article asked "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?"
So we're wondering about the upper limits of processing operations and the power expenditure. Is the sky the limit? Will we have to use something besides binary? I saw some posts saying ternary logic wasn't very practical because more interconnection requires even MORE power.
The human brain can peform on the order of perhaps trillions of operations per second.
The human brain can do this with about 20 watts of electrical power provided chemically.
NOT BAD!! So what logical circuitry does the brain use for this?
Electrically, brain cells are either firing or not firing. 1 or 0. That sounds kind of like binary. But we also know that they connect with and are connected to 1000s of other neurons, which have a summing effect on whether they fire or not. That sounds more like a very large-base number system. So the brain sort of combines a manageble width with a large depth.
Anyway I just wanted to chime in that when it comes to pondering alternate calculation methods like ternary math, we would do well to at least think about reverse engineering the human brain's logical circuitry. And when it comes to thinking about the upper limits of computing, we should remind ourselves that we are competing with (and losing to, for now) a glob of salty fat that still outperforms our sillicon processor equivilants by orders of magnitude with less energy. If the brain can do it, so can we.
Memory is a better candidate for base-N>2 than logic from the point of view of power consumption as well. If you have a picture of your mind of a typical CMOS arrangement with two transistors hanging between the power rails, one ON and one OFF, so that no current flows, it's true that a 3rd state would have to imply a flowing current. But most memory (from flash EPROM to DRAM) doesn't rely on the ON-ness or OFF-ness of transistors, it stores charge in a capacitor (DRAM) or on the other side of a tunnel barrier (EPROM). Stored charge just sits there, it doesn't flow, so no power gets wasted.
Of course, for arithmetic, the only natural base is base 1 anyway!
Unary logic. Also solves the pesky problems of users making mistakes.
--
Is that all there is to relationships -sex and robotics?
The main problem is that companies (like Synopsys and Cadence) have been working for decades on design tools that work with binary. Although 3-level may, theoretically, be faster and smaller, binary will beat it because the tools are so sophistocated. It would take a long time to develop ternary design tools, and no one's going to want to foot the bill to develop new tools on such a "radical" idea.
Think about this: most interconnects only allow 90 degree turns. Using 45 degree turns would be a much less radical improvement. The idea was thought of long ago. The tools still don't do it. Why? Not worth the development effort to companies making millions from the status quo.
There have been ternary logic systems since the beginning... they're called women.
In college we used to joke that men were binary.. yes & no and women were ternary.... yes, no, and maybe where maybe was either a yes or a no but you were never sure until you picked one.
IIRC, ENIAC, one of the first computers, was a base 10 system. Problem was, though, that its design didn't scale well and it was notoriously difficult to program. This is what prompted John Von Neumann to design the modern computer using a binary architecture - the logic was simpler, and easier to implement.
While I could see going to trinary, or possibly quaternary, it still won't solve the problem it is meant to addresses - with more states, the smallest stages of design will get larger. Which means that we will need even more silicon to achieve the same functionality. Here's an example:
Say we want a range of 16 digits. With quaternary, we can represent that with 2 bit "positions"; with binary, 4. Problem is, for every position in a quaternary system, we could have 4 values, as opposed to 2 with binary. To differentiate between a 0 and 1 requires 1 comparator in a binary system, whereas to differentiate between 0, 1, 2, 3 requires 6 comparators in a quaternary system.* So for a four bit binary system, we need 4 comparators for a given circuit, but for a 2 bit quaternary system, we need (2 * 6) = 12 comparators. Both can represent the same range of digits, yet one requires three times the transistors of the other.
People who talk about computing in other bases are forgetting the computer history that led to using binary.
* To understand why, consider that to demultiplex a single binary digit requires a single voltage comparator - if the voltage is above a certain certain value it goes to one line, otherwise, the other. To demultiplex quaternary requires 6 comparators, as each line must be able to determine that the voltage is above a certain threshold, but below another. The 0 and 3 lines only require 1 comparator because they only have to satisfy that the voltage is below or above a certain threshold, but the 1 and 2 lines must differentiate a range of voltages.
The society for a thought-free internet welcomes you.
That's been around forever, why not just go back to it..
Then toss in async logic.. and MECL construction.
Zoooom!
ok ok , I'm showing my age here..
In all seriousness, use light instead of electricity, and use analog concepts..
---- Booth was a patriot ----
its voltage. for binary its :
:
+5V <- 1
0V <-- 0
for trinary its
+5V <- +1
0V <- 0
-5V <- -1
the arithmatic logic could be processed using greater than binary logic while it would do everything else in binary.
maybe this is not feasable but i imagine such a setup would increase arithmatic performance quite a bit.
My half-mad friend was logged in to my machine, sorry... The last comment was from me, not him...
-Corpus_Callosum
Terniary computing might allow a programming logic that can represent the possibilities in Go, as each possible point on the board is occupied by either white, black or neither (three possible states).
To date, all of the Go playing computer programs are rather sorry at the game, and perhaps this is due in part to the either/or logic of binary computing (and the bias towards either/or thinking that humans tend to cling to).
Has anyone here looked at the Go programming problem using terniary logic methods/tools?
(has anyone here done any Go programming at all?)
Read, L
How about a move to Quantum logic. Quantum logic would go back to atomic basics of absorbing and emmiting electrons. Doped silicon "flips" at exactly one point. It would be trivial to build multi-switch "transistors". The hard part would be figuring out what to do with them!
Didn't Kirk use that trick to blow up one o' those pesky planetary-control computers? (And of course he abandoned the now civilization-less natives.)
i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]
That may be true if you're restricted to measuring voltage of electrical signals. But it has no bearing on optical processing.
In an optical processing, information can be encoded in the colour of the light. So rather than having laser on=1, laser off=0, a system could use red on=A, red off=B, blue on =C, blue off=D etc. Because it's optical, and optical signals don't interfere with each other, you don't need to worry about noise. Additionally there are now materials that can be used to modulate the frequency of light passing through them, which would allow the signal to be all-optical. With such a system being technologically feasible, it seems silly to restrict yourself to binary logic.
The author of this post asserts his moral rights.
Paraconsistent logic is logic that can handle inconsistencies. One way to implement this, is by having more than 2 truth values. For instance {0} for false, {1} for true, {} for undecided and {0,1} for the contradictions. Some interesting (IMHO) links about this are:a consis tent/. htm
http://plato.stanford.edu/entries/logic-par
http://www.bu.edu/wcp/Papers/Logi/LogiPavl
-- Qu'est-ce que la propriété intellectuelle? It is thought control.