web-dev-qa-db-fra.com

Pourquoi l'informatique binaire et non ternaire?

Un objet à trois états n'est-il pas immédiatement capable de contenir plus d'informations et de gérer des valeurs plus grandes? Je sais que les processeurs utilisent actuellement d’énormes réseaux de portes XOR et qu’il faudrait les retravailler. 

Puisque nous sommes à 64 bits (nous pouvons représenter 2 ^ 63 états possibles), le calcul de l’équivalent ternary generation pourrait prendre en charge le nombre avec 30 dizaines de log de plus (3 ^ 63-2 ^ 63).

J'imagine qu'il est aussi facile de détecter la différence de potentiel entre +1 et 0 qu'entre -1 et 0.

Une certaine compexité du matériel, de la consommation d'énergie ou de la densité de puces compenserait-elle les gains de stockage et de puissance de calcul?

67
ojblass
  • Il est beaucoup plus difficile de construire des composants qui utilisent plus de deux états/niveaux/peu importe. Par exemple, les transistors utilisés en logique sont soit fermés et ne conduisent pas du tout, soit complètement ouverts. Les ouvrir à moitié exigerait beaucoup plus de précision et utiliserait plus de puissance. Néanmoins, il arrive que plusieurs états soient utilisés pour stocker davantage de données, mais rarement (par exemple, mémoire flash NAND moderne, modulation dans des modems).

  • Si vous utilisez plus de deux états, vous devez être compatible binaire, car le reste du monde l’utilise. Trois est sorti car la conversion en binaire nécessiterait une multiplication coûteuse ou une division avec le reste. Au lieu de cela, vous passez directement à quatre ou à une puissance supérieure à deux.

Ce ne sont pas des raisons pratiques, mais mathématiquement, il est parfaitement possible de construire un ordinateur sur une logique ternaire.

59
starblue

Beaucoup de désinformation ici. Le binaire a un simple interrupteur marche/arrêt. Trinary/Ternary peut utiliser l'un des 2 modes suivants: Balanced aka -1, 0, +1 ou 0, 1, 2 non équilibré, mais n'est pas simplement activé ou désactivé, ou plus correctement, a 2 états "activé".

Avec l'expansion de la fibre optique et du matériel expansif, ternary nous amènerait en fait à un état beaucoup plus expansif et plus rapide à un coût bien inférieur. Le codage moderne pourrait toujours être utilisé (un peu comme le logiciel 32 bits peut toujours être utilisé sur du matériel 64 bits) en combinaison avec des codes ternaires plus récents, du moins dans un premier temps. Il suffit que le premier matériel vérifie l’information à venir ou que le logiciel annonce à l’avance s’il s’agit d’un peu ou pas. Code pourrait être envoyé par 3 morceaux à la fois au lieu du 2 moderne pour le même pouvoir ou moins.

Avec le matériel à fibres optiques, au lieu du processus binaire on/off moderne, il serait déterminé par 0 = off et les 2 autres commutateurs sous forme de polarisations orthogonales de la lumière. Pour ce qui est de la sécurité, celle-ci pourrait en réalité être beaucoup plus sécurisée pour chaque individu, car chaque PC ou même chaque utilisateur est défini sur une "spécification" de polarisation spécifique qui doit uniquement être envoyée/reçue entre l'utilisateur et la destination. La même chose irait pour les "portes" avec un autre matériel. Ils n’auraient pas besoin d’être plus gros, ils ont juste l’option pour 3 possibilités au lieu de 2.

Il y a même eu des théories et même peut-être des essais sur l'effet Josephson qui permettraient l'utilisation de cellules mémoire ternaires, utilisant des courants supraconducteurs en circulation, dans le sens des aiguilles d'une montre, dans le sens contraire des aiguilles d'une montre ou non.

Lorsque comparé directement, Ternary est la base entière avec l’économie de base la plus élevée, suivie de près par binaire et quaternaire. Même certains systèmes modernes utilisent un type de logique ternaire, également appelé SQL, qui implémente la logique ternaire comme moyen de gérer le contenu du champ NULL. SQL utilise NULL pour représenter les données manquantes dans une base de données. Si un champ ne contient aucune valeur définie, SQL suppose que cela signifie qu'une valeur réelle existe, mais que cette valeur n'est pas actuellement enregistrée dans la base de données. Notez qu'une valeur manquante n'est pas la même chose qu'une valeur numérique de zéro ou une valeur de chaîne de longueur nulle. Comparer n'importe quoi à NULL - même un autre NULL - donne un état de vérité INCONNU. Par exemple, l'expression SQL "City = 'Paris'" est résolue en FALSE pour un enregistrement avec "Chicago" dans le champ City, mais en résultat inconnu pour un enregistrement avec un champ NULL City. En d’autres termes, pour SQL, un champ non défini représente potentiellement toute valeur possible: une ville manquante peut ou non représenter Paris. C'est là que la logique trinaire est utilisée avec les systèmes binaires modernes, bien que rudimentaires.

38
screwballl

Bien sûr, nous pourrions stocker davantage de données par bit, tout comme notre système de nombres décimaux peut contenir beaucoup plus de données dans un seul chiffre.

Mais cela augmente aussi la complexité. Le binaire se comporte très bien dans de nombreux cas, ce qui le rend remarquablement simple à manipuler. La logique d'un additionneur binaire est beaucoup plus simple que celle des nombres ternaires (ou même décimaux).

Comme par magie, vous ne pourriez pas stocker ou traiter plus d'informations. Le matériel devrait être tellement plus grand et complexe qu'il compenserait largement la plus grande capacité. 

16
jalf
10
paweloque

Cela tient en grande partie au fait qu’en fin de compte, les bits sont représentés par des impulsions électriques. Il est donc plus facile de construire du matériel qui différencie simplement "chargé" et "sans charge" et de détecter facilement les transitions entre les états. Un système utilisant trois états doit être un peu plus précis pour différencier "chargé", "partiellement chargé" et "sans frais". En outre, l’état "chargé" n’est pas constant dans l’électronique: l’énergie commence finalement à "saigner", de sorte qu’un état "chargé" varie en fonction du "niveau" réel. Dans un système à trois États, il faudrait également en tenir compte.

9
mipadi

Eh bien, d'une part, il n'y a pas plus petite unité d'information qu'un peu. opérer sur des bits est le moyen le plus fondamental et fondamental de traiter une information.

Une raison peut-être plus forte est qu'il est beaucoup plus facile de fabriquer des composants électriques qui ont deux états stables, plutôt que trois. 

A part: Vos calculs sont un peu compliqués. il y a environ 101,4 chiffres binaires dans un nombre trinaire à 64 chiffres. Explication: le plus grand nombre trinaire à 64 chiffres est 34336838202025254848656549089280 (3 ^ 64-1). Pour représenter cela en binaire, il faut 102 bits:

C'est facile à comprendre, log2 (3 ^ 64) est environ 101.4376

Certaines théories suggèrent également que les fibres optiques pourraient utiliser des fréquences lumineuses (i.e.color) pour différencier les états, permettant ainsi un nombre presque infini (en fonction de la résolution de l'unité de détection) des possibilités de base. 

Les portes logiques sont vraiment payantes pour n'importe quelle base, mais prenons un exemple avec trinary:

Pour une porte trinaire XOR, elle pourrait être exclusive à l'un (ou à n'importe lequel) des trois états avec lesquels elle compare OR l'un des trois autres états. Il pourrait également relier deux des trois états pour une sortie binaire. Les possibilités augmentent littéralement de manière exponentielle. Bien entendu, cela nécessiterait du matériel et des logiciels plus complexes, mais la complexité devrait réduire la taille et, plus important encore, la puissance (lire la chaleur). On parle même d'utiliser trinary dans un système de nano-informatique où il existe une "bosse, un" trou "ou" inchangé "microscopique représentant les trois états.

Pour l'instant, nous sommes en quelque sorte un problème de type QWERTY. Qwerty a été conçu pour être inefficace en raison d'un problème de mécanisme de frappe qui n'existe plus, mais tous les utilisateurs de claviers d'aujourd'hui ont appris à utiliser le système Qwerty et personne ne souhaite le modifier. Les bases trinaires et supérieures vont un jour résoudre ce problème lorsque nous atteindrons les limites physiques de l’informatique binaire. Peut-être pas avant vingt ans, mais nous savons tous que nous ne pouvons pas continuer à doubler notre capacité tous les ans et demi.

4
Buckeye Nut Schell

L'équivalent ternaire du «bit» vient de causer trop d'indignation!

3
NoizWaves

La réponse de Screwball est correcte et corrige certaines des inexactitudes proposées ici. Ceux qui ont répondu à propos des valeurs positives fractionnaires ont complètement manqué le concept du système ternaire basé sur 0, +1 et -1. Lors de la première construction par les Russes dans les années 1950, la concurrence entre l'URSS et les États-Unis était intense. Je soupçonne que la politique entre les deux a beaucoup à voir avec la popularité éventuelle du binaire américain sur le ternaire de l'URSS. 

D'après ce que j'ai lu, certains ordinateurs ternaires sont utilisés. Moscou en utilise dans leur université et IBM dans ses laboratoires. Il y a des références à d'autres, mais je ne pouvais pas distinguer leur gravité, ou si elles sont juste pour expérimenter ou jouer. Apparemment, leur construction est beaucoup moins coûteuse et leur utilisation nécessite beaucoup moins d'énergie. 

3
rbud

Un autre obstacle majeur est qu’il faut définir un nombre beaucoup plus grand d’opérations logiques. Le nombre d'opérateurs est trouvé par la formule b ^ (b ^ i) où b est la base et i le nombre d'entrées. Pour un système binaire à deux entrées, cela correspond à 16 opérateurs possibles. Tous ces éléments ne sont généralement pas implémentés dans les portes et certaines d'entre elles couvrent plus d'une condition. Cependant, elles peuvent toutes être implémentées avec trois portes ou moins. Pour un système ternaire à deux entrées, ce nombre est beaucoup plus élevé par rapport à 19683. Bien que plusieurs de ces portes soient similaires, la capacité à concevoir manuellement des circuits de base serait presque impossible. Même un étudiant en première année d’ingénierie est capable de concevoir des circuits binaires de base dans leur tête.

2
Greg

Je crois que c’est pour deux raisons (corrigez-moi si je me trompe): d’abord parce que la valeur 0 et 1 n’est pas vraiment non actuelle/actuelle ou similaire. Le bruit est assez élevé et les composants électroniques doivent pouvoir distinguer qu'une valeur variant de, par exemple, de 0,0 à 0,4 est un zéro et de 0,7 à 1,2 est un. Si vous ajoutez plus de niveaux, vous rendez cette distinction plus difficile.

Deuxièmement: toute la logique booléenne cesserait immédiatement d'avoir un sens. Et comme vous pouvez implémenter sum par des portes booléennes, et que sum, toute opération mathématique sur deux, il est préférable d’avoir quelque chose qui correspond bien à une utilisation pratique pour les mathématiques. Quelle serait la table de vérité booléenne pour une paire arbitraire entre faux/peut-être/vrai?

1
Stefano Borini

Je suis persuadé que cela est en grande partie dû à la vérification des erreurs des signaux numériques. Par exemple, en informatique quantique, cette tâche est presque impossible, mais pas impossible, à accomplir selon le principe de non-clonage, mais également en raison du nombre croissant d'états. Pour deux états, le processus de vérification d'erreur n'est pas trivial, mais il est relativement facile. Pour trois états, la vérification d'erreur devient infiniment plus difficile. C'est aussi pourquoi les ordinateurs analogiques avec une quantité presque infinie d'états ont été exclus.

Si vous êtes intéressé par l'informatique quantique, cherchez plutôt dans l'emballage de la sphère et la vérification des erreurs quantiques, des trucs plutôt chouettes. 

1
cwoodall

Bien sûr, un «bit» ternaire (un tet?) Serait plus compliqué, vous stockeriez toujours la même quantité d’informations, juste en base3 au lieu de base2, et la puissance des composants à deux états est la simplicité. Pourquoi ne pas simplement aller de l'avant et faire une base de 10 états10 

L'informatique binaire est liée aux portes binaires AND, OR et NOT, à leur immense simplicité et à leur capacité à être combinées dans des structures arbitrairement complexes. Ils constituent la pierre angulaire de tout le traitement de votre ordinateur.

S'il y avait un cas grave à passer en mode ternaire ou décimal, ils le feraient. Ce n'est pas un cas de 'ils ont essayé comme ça et ça a collé'

0
Tim

Si nous utilisons 3 états, le problème principal qui en découle est

  1. Si nous utilisons un signal unipolaire, la marge de bruit sera réduite, augmentant ainsi le taux d'erreur sur les bits.
  2. Pour que le signal unipolaire maintienne la marge de bruit constante, nous devons augmenter l’alimentation électrique et donc la consommation d’énergie augmentera.
  3. Si nous utilisons un signal bipolaire, l’oscillation totale du signal augmentera, ce qui augmentera les pertes.
  4. Une couche supplémentaire en multicouches PCB devra être ajoutée pour tenir compte de l’oscillation négative des signaux bipolaires.

J'espère convaincre

0
user7526

Pour qu'un circuit fonctionne autrement qu'en mode binaire, vous devez définir comment les autres états seront représentés. Vous avez proposé un système de -1, 0 et +1, mais les transistors ne fonctionnent pas de cette façon, ils aiment avoir leur tension ou leur courant allant dans une seule direction. Pour créer un bit à 3 états, il faudrait 2 transistors, mais vous pourriez créer 2 bits binaires à partir des mêmes transistors et avoir 4 états au lieu de 3. Le binaire est plus pratique au niveau bas.

Si vous tentez de définir des seuils sur le circuit et que vous utilisez plutôt 0, +1, +2, vous rencontrez un autre ensemble de problèmes. Je ne sais pas assez pour entrer dans les détails, mais pour les circuits logiques, cela représente tout simplement plus de problèmes, surtout lorsque l'industrie est déjà entièrement dédiée au binaire.

Il existe un domaine dans lequel plusieurs niveaux sont utilisés pour obtenir plus de 2 états par bit: MLC mémoires flash. Même là, le nombre de niveaux sera une puissance de 2 afin que la sortie puisse être facilement convertie en binaire pour être utilisée par le reste du système.

0
Mark Ransom

Je pense que ce ternaire serait plus efficace. C'est juste n'est jamais devenu populaire. La binaire a pris la scène et maintenant le passage à la ternaire changerait tout ce que nous savons.

0
trav-O