Hat jemand schon von trinären Computern gehört? Die sollen -1, 0 und 1
verarbeiten können. Diese Logik ist sehr interessant, da der zusätzliche
Zustand als "vielleicht" interpretiert werden kann. Dies ermöglicht neue
logische Verknüpfungen.
Warum hat sich das nicht durchgesetzt? Zu komplizierte Umsetzung?
Es hat sich partiell durchgesetzt.
3-wertige Logik ist in Bus-Systemen weit verbreitet, besser bekannt als
"tristate".
4-wertige Logik findet man heute oft in Flash-Speichern.
Andreas Kaiser wrote:
> Es hat sich partiell durchgesetzt.>> 3-wertige Logik ist in Bus-Systemen weit verbreitet, besser bekannt als> "tristate".
Das ist keine 3-wertige Logik.
Es ist Logik. Und sie arbeitet mit 3 Zuständen. Es ist natürlich keine
vollständige Logik, d.h. nicht alle Logikoperatoren sind darauf
überhaupt definiert.
Aber freilich sind beide Beispiele arg schräg, weil es jeweils nur in
einem bestimmten Teilaspekt genutzt wird. Und weil damit in keiner
Hinsicht gerechnet wird.
3-wertige Logik hat weder mit Tristate noch mit Fuzzy Logic direkt was
zu tun. Es handelt sich um ein System mit 3 Zuständen, nennen wir sie 0,
1 und 2. Vorzeichenlose Zahlen würden im 3er-System statt im Binär-,
Oktal-, Dezimal- oder Hexadezimalsystem dargestellt. Jede Leitung kann
zu jeder Zeit einen der 3 Zustände weiterleiten, dargestellt z.B. durch
3 verschiedene Spannungspegel. Eine Operation verknüpft eine Anzahl
solcher Eingangssignale zu einer Anzahl Ausgangssignale.
Register funktionieren weiterhin und speichern den Eingangswert (einen
der drei möglichen Werte) und leiten ihn an den Ausgang weiter - sofern
man ein solches Register vernünftig bauen kann.
Das Wort "Logik" ist nicht so direkt anwendbar wie bei binärer Logik,
weil es in der Logik nur wahr und falsch gibt, keine drei Zustände. Das
macht die Interpretation nicht ganz einfach, aber damit kann man
klarkommen. Beispiel: Ein Register konnte am Clock-Enable-Eingang die 0
als "aus", die 1 oder 2 als "an" interpretieren.
Mit Tristate hat das insofern nichts zu tun als dass Tristate-Leitungen
hochohmig sind und keinen definierten Pegel haben. Das kann man bei
dreiwertiger Logik genauso machen, nur wäre es dann eben der "vierte"
Zustand.
Ob man den dritten Zustand als "vielleicht" interpretiert ist
Anwendungssache, genau wie bei binärer Logik.
Maxim wrote:
> da der zusätzliche> Zustand als "vielleicht" interpretiert werden kann.
Wie sinnvoll. Dann denk Dir den dritten Zustand halt dazu und belege ihn
mit einem Zufallswert. Im Mittel wirst Du 50% der Zeit richtig liegen.
Christoph Kessler wrote:
> I2C-Adressen werden oft "trinär" eingestellt, low, high oder Eingang> offen.
???????????????????????
Beispiele gib uns Beispiele! was willst Du damit sagen? Wo zur Hölle ist
bei I2C "offen" als Zustand akzeptiert? bei i2c sind überall Pullup
Widerstände dran -> in VHDL würden die 'H' wird aber als '1'
interpretiert...
Oder meinst Du einen Addr-Config-Pin??
???????????????????????
Gerhard. wrote:
> PCA9698 erlaubt 64 Addressen mit drei Trinary Eingaengen. (LOW, OPEN,> HIGH)>> AD2 AD1 AD0 A6 A5 A4 A3 A2 A1 A0 Address> VSS SCL VSS 0 0 1 0 0 0 0 20h
Ich kriege diese beiden Aussagen nicht recht in Deckung. Für mich heisst
das bloss, dass interne Decoder erkennt, ob eine Leitung permanent auf
Vdd/GND hängt, oder zusammen mit SCL/SDA den Pegel wechselt. Man kann
diese Anschlüsse letztlich als 4-wertig bezeichnen (Vdd,GND,SCL,SDA=4,
4^3=64), aber offen bleibt da nichts und es sind auch nur 2 Pegel pro
Leitung.
Michael G. wrote:
> Maxim wrote:>> da der zusätzliche>> Zustand als "vielleicht" interpretiert werden kann.>> Wie sinnvoll. Dann denk Dir den dritten Zustand halt dazu und belege ihn> mit einem Zufallswert. Im Mittel wirst Du 50% der Zeit richtig liegen.
Vielleicht hast du recht, vielleicht aber auch nicht ...
Der große Unterschied zwischen Mensch und Computer ist doch unter
Anderem, dass der Computer kein vielleicht kennt, der Mensch dagegen
schon. Das liegt, wie hier schon jemand erwähtn hat, an der Logik
selbst.
Es wäre zwar denkbar, ternäre Schaltungen auf binären Computern zu
simulieren, bei komplexen Aufgaben wird das aber immer aufwendiger. In
den 70ern wurde die Entwicklung ternärer Computer eingestellt, weil die
binären Systeme sich viel schneller entwickeln ließen und mit der Zeit
auch ternäre Systeme simulieren konnten. Die Komplexität damaliger
Software mit der heutigen zu vergleichen ... ist lächerlich.
Ich frage mich, wo der ternäre Computer heute wäre, wenn es seit den
70ern bis heute ständig weiterentwickeltn worden wäre.
Der Artikel zur Mehrwertigen Logik in der Wikipedia könnte für Euch
interessant sein:
http://de.wikipedia.org/wiki/Mehrwertige_Logik
Dort geht es allgemein um Logiken mit mehr als zwei Wahrheitswerten (die
Logik mit drei Wahrheitswerten eingeschlossen)