webentwicklung-frage-antwort-db.com.de

Warum binäres und nicht ternäres Computing?

Kann ein Objekt mit drei Zuständen nicht sofort mehr Informationen speichern und größere Werte verarbeiten? Ich weiß, dass Prozessoren derzeit massive Netze von XOR - Gattern verwenden, und das müsste überarbeitet werden. 

Da wir uns auf 64 Bit befinden (wir können 2 ^ 63 mögliche Zustände darstellen), könnte die Berechnung der äquivalenten ternären Generation die Anzahl mit 30 weiteren Zehnerstellen log (3 ^ 63-2 ^ 63) unterstützen.

Ich kann mir vorstellen, dass die Potentialdifferenz zwischen +1 und 0 genauso leicht erkannt werden kann wie zwischen -1 und 0.

Würde ein gewisses Maß an Kompatibilität der Hardware, des Stromverbrauchs oder der Chipdichte einen Zuwachs an Speicher- und Rechenleistung ausgleichen?

67
ojblass
  • Es ist viel schwieriger, Komponenten zu bauen, die mehr als zwei Zustände/Ebenen/was auch immer verwenden. Zum Beispiel sind die in der Logik verwendeten Transistoren entweder geschlossen und leiten überhaupt nicht oder sind weit offen. Sie halb geöffnet zu haben, würde viel mehr Präzision erfordern und zusätzliche Energie erfordern. Trotzdem werden manchmal mehr Zustände verwendet, um mehr Daten zu packen, aber selten (z. B. moderner NAND-Flash-Speicher, Modulation in Modems).

  • Wenn Sie mehr als zwei Zustände verwenden, müssen Sie mit binär kompatibel sein, da der Rest der Welt dies verwendet. Drei ist aus, da die Umwandlung in eine binäre Version eine teure Multiplikation oder Division mit Rest erfordert. Stattdessen geht man direkt zu vier oder einer höheren Zweierpotenz.

Dies sind praktische Gründe, warum dies nicht geschieht, aber mathematisch ist es durchaus möglich, einen Computer mit einer ternären Logik zu bauen.

59
starblue

Hier gibt es viele Fehlinformationen. Binary verfügt über einen einfachen Ein-/Ausschalter. Trinary/Ternary kann einen von zwei Modi verwenden: Balanced aka -1, 0, +1 oder asymmetrisch 0, 1, 2, ist aber nicht einfach ein oder aus oder korrekter, hat 2 "on" -Zustände.

Mit der Erweiterung der Glasfaseroptik und der weitreichenden Hardware würde Ternary uns tatsächlich zu einem viel expansiveren und schnelleren Zustand führen und die Kosten deutlich senken. Moderne Codierungen könnten immer noch verwendet werden (ähnlich wie 32-Bit-Software kann noch auf 64-Bit-Hardware verwendet werden), in Kombination mit neueren ternären Codes, zumindest anfangs. Sie brauchen nur die frühe Hardware, um zu prüfen, welche Informationen durchlaufen, oder ob die Software vorab bekannt gibt, ob es sich um ein bisschen oder um einen Tritsch handelt. Code könnte durch 3 Stück auf einmal anstelle der modernen 2 für die gleiche oder weniger Leistung gesendet werden.

Bei der Glasfaserhardware würde dies anstelle des modernen Ein/Aus-Binärprozesses durch 0 = Aus bestimmt und die beiden anderen Schalter werden als orthogonale Polarisationen des Lichts festgelegt. In Bezug auf die Sicherheit könnte dies tatsächlich für den Einzelnen massiv sicherer gemacht werden, da jeder PC oder sogar jeder Benutzer auf eine bestimmte Polarisations- "Spezifikation" eingestellt ist, die nur zwischen dem Benutzer und dem Ziel gesendet/empfangen werden soll. Das Gleiche gilt für die "Tore" mit anderer Hardware. Sie müssten nicht größer sein, haben statt 3 Möglichkeiten nur 3 Möglichkeiten.

Es gab sogar einige Theorien und möglicherweise wurden sogar einige Tests des Josephson-Effekts gestartet, bei denen ternäre Speicherzellen verwendet werden könnten, die supraleitende Zirkulationsströme entweder im Uhrzeigersinn, im Gegenuhrzeigersinn oder im ausgeschalteten Zustand verwenden würden.

Im direkten Vergleich ist Ternary die ganzzahlige Basis mit der höchsten Radix-Ökonomie, dicht gefolgt von binär und quartär. Sogar einige moderne Systeme verwenden eine Art ternärer Logik, auch SQL genannt, die ternäre Logik als Mittel zur Behandlung von NULL-Feldinhalten implementiert. SQL verwendet NULL, um fehlende Daten in einer Datenbank darzustellen. Wenn ein Feld keinen definierten Wert enthält, nimmt SQL an, dass ein tatsächlicher Wert vorhanden ist, der Wert jedoch derzeit nicht in der Datenbank aufgezeichnet wird. Beachten Sie, dass ein fehlender Wert nicht mit einem numerischen Wert von Null oder einem Zeichenfolgenwert mit der Länge Null identisch ist. Wenn Sie etwas mit NULL vergleichen - sogar ein anderes NULL -, führt dies zu einem UNBEKANNTEN Wahrheitszustand. Beispielsweise wird der SQL-Ausdruck "City = 'Paris" für einen Datensatz mit "Chicago" im Feld "City" in FALSE aufgelöst, für einen Datensatz mit einem NULL-City-Feld in UNKNOWN. Mit anderen Worten, für SQL steht ein undefiniertes Feld für einen möglichen Wert: Eine fehlende Stadt kann Paris darstellen oder auch nicht. Hier wird bei modernen binären Systemen die binäre Logik verwendet, wenn auch grob.

38
screwballl

Natürlich können wir mehr Daten pro Bit speichern, so wie unser Dezimalzahlensystem weit mehr Daten in einer einzelnen Ziffer enthalten kann.

Das erhöht aber auch die Komplexität. Binary verhält sich in vielen Fällen sehr gut, was die Handhabung bemerkenswert einfach macht. Die Logik für einen binären Addierer ist viel einfacher als eine für ternäre Zahlen (oder für Dezimalzahlen).

Sie könnten nicht mehr in der Lage sein, mehr Informationen zu speichern oder zu verarbeiten. Die Hardware müsste so viel größer und komplexer sein, dass sie die größere Kapazität mehr als ausgleichen würde. 

16
jalf
10
paweloque

Vieles hat damit zu tun, dass Bits letztendlich als elektrische Impulse dargestellt werden, und es ist einfacher, Hardware zu bauen, die einfach zwischen "aufgeladen" und "ohne Ladung" unterscheidet, und Übergänge zwischen Zuständen leicht zu erkennen. Ein System, das drei Zustände verwendet, muss bei der Unterscheidung zwischen "aufgeladen", "teilweise aufgeladen" und "kostenlos" etwas genauer sein. Abgesehen davon ist der "geladene" Zustand in der Elektronik nicht konstant: Die Energie beginnt schließlich zu "bluten", so dass ein "geladener" Zustand im tatsächlichen "Energieniveau" variiert. In einem 3-Staaten-System müsste dies ebenfalls berücksichtigt werden.

9
mipadi

Nun, zum einen gibt es keine kleinere Informationseinheit als ein bisschen. Die Bearbeitung von Bits ist die grundlegendste und grundlegendste Art, Informationen zu behandeln.

Ein stärkerer Grund ist vielleicht, weil es viel einfacher ist, elektrische Komponenten mit zwei stabilen Zuständen als mit drei herzustellen. 

Nebenbei: Deine Mathematik ist ein bisschen abwegig. Es gibt ungefähr 101,4 Binärziffern in einer 64-stelligen Trinary-Zahl. Erläuterung: Die größte 64-stellige Trinary-Nummer lautet 3433683820292512484657849089280 (3 ^ 64-1). dies binär darstellen, erfordert es 102 Bits: 101011010101101101010010101111100011110111100100110010001001111000110001111001011111101011110100000000

Dies ist leicht zu verstehen, log2 (3 ^ 64) liegt bei 101.4376

Es gibt auch Theorien, die nahe legen, dass Faseroptik Lichtfrequenzen (d. H. Farbe) verwenden könnte, um Zustände zu unterscheiden, wodurch eine nahezu unendliche Anzahl von Basismöglichkeiten (abhängig von der Auflösung der Erfassungseinheit) ermöglicht wird. 

Logic Gates sind definitiv für jede Basis gebührenpflichtig, aber als Beispiel sei "trinary" genannt:

Bei einem dreistelligen XOR - Gatter könnte es exklusiv für einen (oder einen beliebigen) der drei Zustände sein, wenn es einen der drei anderen Zustände vergleicht OR. Es könnte auch zwei der drei Zustände für einen Binärausgang miteinander verbinden. Die Möglichkeiten nehmen buchstäblich exponentiell zu. Natürlich würde dies komplexere Hard- und Software erfordern, aber die Komplexität sollte die Größe und vor allem die Leistung verringern (Read Heat). Es wird sogar davon gesprochen, Trinary in einem Nano-Computersystem zu verwenden, bei dem es einen mikroskopischen "Buckel", ein "Loch" oder "unverändert" gibt, um die drei Zustände darzustellen.

Im Moment haben wir ein Problem mit dem Typ QWERTY. Qwerty wurde entwickelt, um ineffizient zu sein, weil ein Problem mit der Schreibmechanik nicht mehr existiert, aber jeder, der heute Tastaturen verwendet, hat gelernt, das Qwerty-System zu verwenden, und niemand möchte es ändern. Dreidimensionale und höhere Basen werden dieses Problem eines Tages durchbrechen, wenn wir die physikalischen Grenzen des Binär-Computing erreichen. Vielleicht nicht für weitere zwanzig Jahre, aber wir alle wissen, dass wir unsere Fähigkeiten nicht alle eineinhalb Jahre weiter verdoppeln können.

4

Das ternäre Äquivalent des "Bits" hat einfach zu viel Empörung ausgelöst!

3
NoizWaves

Die Antwort von Screwball ist korrekt und korrigiert einige der hier angebotenen Fehlaussagen. Diejenigen, die sich mit positiven positiven Werten beschäftigten, haben das Konzept des ternären Systems, das auf 0, +1 und -1 basiert, völlig verfehlt. Als er in den fünfziger Jahren von den Russen zum ersten Mal gebaut wurde, war der Wettbewerb zwischen der UdSSR und den USA intensiv. Ich vermute, dass die Politik zwischen den beiden sehr viel mit der letztendlichen Beliebtheit der US-amerikanischen Binärszene im Vergleich zu den US-UdSSR zu tun hatte. 

Nach dem, was ich gelesen habe, sind einige ternäre Computer im Einsatz. Moskau hat einige an ihrer Universität im Einsatz und IBM hat einige in seinen Laboren. Es gibt Verweise auf andere, aber ich kann nicht unterscheiden, wie ernst sie sind oder ob sie nur zum Experimentieren oder Spielen sind. Offensichtlich sind sie viel kostengünstiger in der Herstellung und sie verbrauchen viel weniger Energie für den Betrieb. 

3
rbud

Eine weitere große Hürde besteht darin, dass eine viel größere Anzahl logischer Operationen definiert werden muss. Die Anzahl der Operatoren wird durch die Formel b ^ (b ^ i) ermittelt, wobei b die Basis und i die Anzahl der Eingaben ist. Für ein binäres System mit zwei Eingängen ergeben sich 16 mögliche Operatoren. Nicht alle davon sind normalerweise in Gates implementiert, und einige Gates decken mehrere Bedingungen ab. Sie können jedoch alle mit drei oder weniger Standardtoren implementiert werden. Für ein ternäres System mit zwei Eingängen ist diese Zahl um 19683 viel höher. Während mehrere dieser Gatter einander ähnlich wären, wäre die manuelle Gestaltung von Grundschaltungen letztlich nahezu unmöglich. Selbst ein Neuling als Ingenieurstudent kann grundlegende Binärkreise im Kopf entwerfen.

2
Greg

Ich glaube, es gibt zwei Gründe (bitte korrigieren Sie mich, wenn ich falsch liege): erstens, weil der Wert von 0 und 1 nicht wirklich kein Strom/Strom oder etwas Ähnliches ist. Das Rauschen ist ziemlich hoch und die elektronischen Komponenten müssen unterscheiden können, dass ein Wert, der von 0,0 bis 0,4 schwankt, eine Null ist und von 0,7 bis 1,2 eine Eins ist. Wenn Sie weitere Ebenen hinzufügen, machen Sie diese Unterscheidung im Grunde schwieriger.

Zweitens: Die gesamte boolesche Logik würde sofort aufhören, einen Sinn zu ergeben. Und da Sie die Summe aus booleschen Gattern und aus jeder anderen mathematischen Operation implementieren können, ist es schöner, etwas zu haben, das sich für die Mathematik als praktisch erweist. Was wäre die boolesche Wahrheitstabelle für ein beliebiges Paar zwischen falsch/vielleicht/wahr?

1
Stefano Borini

Ich bin mir ziemlich sicher, dass eine Menge davon mit einer Fehlerprüfung digitaler Signale zu tun hat. In der Quantenberechnung ist diese Aufgabe zum Beispiel fast unmöglich, aber nicht unmöglich, das Prinzip des Nicht-Klonens zu erreichen, aber auch aufgrund der Tatsache, dass es eine erhöhte Anzahl von Zuständen gibt. In zwei Zuständen ist der Prozess der Fehlerprüfung nicht trivial, aber relativ einfach. Für drei Zustände wird die Fehlerprüfung unendlich viel schwieriger. Aus diesem Grund wurden analoge Computer mit nahezu unendlich vielen Zuständen ausgeschlossen.

Wenn Sie sich für Quantum Computing interessieren, schauen Sie sich doch die Kugelpackung und die Quantenfehlerprüfung an. 

1
cwoodall

Sicher, aber ein ternäres "Bit" (ein Tet?) Wäre komplizierter. Sie würden immer noch die gleiche Informationsmenge speichern, nur in base3 anstelle von base2, und die Stärke von Zwei-Zustands-Komponenten ist die Einfachheit. Warum machen Sie nicht einfach eine 10-Staaten-Basis10? 

Binäres Rechnen bezieht sich auf binäre AND-, OR - und NOT-Gates, deren immense Einfachheit und Fähigkeit, zu beliebig komplexen Strukturen kombiniert zu werden. Sie sind der Grundstein für buchstäblich die gesamte Verarbeitung Ihres Computers.

Wenn es einen schwerwiegenden Fall gab, auf ternär oder dezimal umzustellen, dann würde dies der Fall sein. Es ist kein Fall von "sie haben es so ausprobiert und es steckte einfach fest"

0
Tim

Wenn wir 3 Zustände verwenden, ist das Hauptproblem, das sich daraus ergibt

  1. Wenn wir ein unipolares Signal verwenden, verringert sich der Rauschabstand, wodurch die Bitfehlerrate erhöht wird.
  2. Damit das unipolare Signal den Rauschabstand konstant hält, muss die Stromversorgung erhöht werden, und der Stromverbrauch steigt.
  3. Wenn wir ein bipolares Signal verwenden, wird der Gesamthub des Signals zunehmen, wodurch die Verluste zunehmen.
  4. Zusätzliche Schicht in Multilayer PCB muss hinzugefügt werden, um die negative Schwankung der bipolaren Signale zu berücksichtigen.

Ich hoffe, ich bin überzeugt

0
user7526

Damit eine Schaltung nicht binär arbeitet, müssen Sie festlegen, wie die anderen Zustände dargestellt werden. Sie haben ein System von -1, 0 und +1 vorgeschlagen, aber Transistoren funktionieren nicht auf diese Weise. Sie möchten, dass Spannung oder Strom nur in eine Richtung fließen. Um ein 3-Zustands-Bit zu erstellen, würden 2 Transistoren benötigt, aber Sie könnten aus den gleichen Transistoren 2 Binär-Bits bilden und 4 Zustände anstelle von 3 haben. Binär ist auf dem niedrigen Pegel nur praktischer.

Wenn Sie versucht haben, Schwellenwerte für die Schaltung festzulegen und stattdessen 0, +1, +2 zu verwenden, treten andere Probleme auf. Ich weiß nicht genug, um auf Details einzugehen, aber für logische Schaltungen ist das einfach mehr Ärger als es wert ist, besonders wenn die Branche sich bereits ganz auf das Binärwesen konzentriert.

Es gibt einen Bereich, in dem mehrere Ebenen verwendet werden, um mehr als 2 Zustände pro Bit zu erhalten: MLC Flash-Speicher. Selbst dort ist die Anzahl der Pegel eine Potenz von 2, so dass die Ausgabe für den Rest des Systems leicht in eine binäre Form umgewandelt werden kann.

0
Mark Ransom

Ich denke, dass Ternary effizienter wäre. Es wurde einfach nie populär. Binär ging auf die Bühne und jetzt wäre ein Wechsel zu Ternary eine Änderung von allem, was wir wissen.

0
trav-O