¿Qué sucede si las computadoras usan un sistema ternario en lugar de un sistema binario?

En teoría, aumentaría el rendimiento, la eficiencia del almacenamiento, etc. en un 50%.

Pero, ¿cómo funcionaría realmente? Puedes hacer matemáticas en base-3 con bastante facilidad, pero para algo físico práctico como una computadora o un teléfono inteligente, tendrías que representar esos números de alguna manera física. Binario es fácil, porque podemos usar, por ejemplo, el flujo / no flujo de corriente para representar los dos dígitos.

Pero algo con 3 estados necesita 3 cantidades convincentemente diferentes para representar los dígitos. 0v, ½ v y 1 voltio, digamos. Ahora diseñe un circuito que use esos tres valores para realizar todas las funciones lógicas y matemáticas necesarias en el corazón de una computadora. Probablemente se pueda hacer, pero es muy, muy difícil, porque la estabilidad de todo debe controlarse con mucho cuidado para garantizar que un estado nunca pueda confundirse con otro. Eso ya es un problema en binario, va a ser mucho más un problema con tres estados: debe ser capaz de ver un voltaje sin ambigüedades, por ejemplo, y decidir en cuál de los tres estados se encuentra. ¿0.25v? Hmmm, ¿es eso un cero o es el estado medio (1)?

Lo mejor del sistema binario es que es bastante fácil representar dos estados de muchas maneras físicas diferentes: voltajes, corrientes, polaridad magnética, ya sea que una luz esté encendida o apagada, por ejemplo. Tres estados no son solo “un poco” más difíciles, son casi infinitamente más difíciles.

Tri-state (lógica de tres estados – Wikipedia) es ampliamente utilizado en electrónica. Un pin puede establecerse como alta, baja y alta impedancia (esencialmente configurado como entrada, no accionado por ese dispositivo en particular).

Este es un buen ejemplo de uso ternario en el mundo real.

Pero en cualquier caso, he usado el pin de tres estados que se controla como dos bits de configuración, un nivel determinante y una impedancia. El sistema de tres estados es solo de tres estados en términos de la interfaz de ese pin en particular, esto es requerido por la restricción de que su rastreo solo puede ser controlado por uno de los pines conectados a él. El voltaje real en el pin seguirá teniendo la intención de transportar una señal binaria o analógica.

La lógica binaria tiene muchas ventajas, la más relevante desde una perspectiva electrónica es su inmunidad al ruido. Si quiero enviar el número 124 con un sistema analógico, entonces puedo enviar a mi receptor un nivel de voltaje de 123 milivoltios: ha funcionado en teléfonos analógicos durante casi un siglo, pero el problema es que el ruido eléctrico cambia este nivel al azar. Ahora leo 124, algunos milisegundos después leo 125 o 122.

El uso de solo dos niveles de voltaje hace las cosas más complicadas, ya que tengo que traducir este número a binario y luego enviar secuencialmente cada bit, pero el receptor siempre recibirá 124 o al menos recibirá con una probabilidad muy alta 124 y además puedo poner coloque sistemas para asegurarse de que lo que recibió es exactamente lo que transmití.

El uso de un sistema ternario consiste en usar tres niveles de voltaje en lugar de dos. Esto reduce la inmunidad al ruido con la ventaja marginal de aumentar la información enviada por dígito.


Sin embargo, hay casos en los que se utilizan sistemas no binarios. Hay memorias Flash, por ejemplo, que almacenan el voltaje no en dos niveles sino en más. Que yo sepa, hay memorias flash capaces de almacenar hasta 8 voltajes por celda, por lo que utilizan un sistema octal (celda de varios niveles – Wikipedia)

¿Por qué?

Debido a que esto multiplica por 8 el almacenamiento por chip a expensas de algunos circuitos marginales para almacenar y obtener señales analógicas de cada bit de flash.

Suponiendo que el hardware es comparable en tamaño, costo y velocidad del hardware binario, las computadoras serían mucho más potentes. Por ejemplo, 8 bits transportan un rango de 256 valores, mientras que 8 viajes representarían un rango de 6561 valores. Entonces, una computadora trinaria necesitaría menos hardware para la misma cantidad de memoria. Además, un bus de n viajes contiene más información que un bus de n bits, podría mover más datos más rápido.

Pero no solo las computadoras se verían afectadas: todos los equipos digitales mejorarían. Por ejemplo, los CD usan muestras de 16 bits para dividir las amplitudes de sonido en 65.536 partes. Un sistema trinario digital podría usar 11 viajes para dividir las amplitudes de sonido en 177,147 partes, un ahorro considerable en memoria y un aumento en la fidelidad.

La belleza del sistema binario es que si tiene un Vcc y Grd, un solo umbral puede separar 0 de 1, proporcionando mecanismos de corrección y verificación de errores muy robustos.

Podríamos construir sistemas de lógica trinaria (ver Computadora ternaria – Wikipedia), pero hemos invertido tanto en aritmética y arquitecturas binarias, que las computadoras ternarias parecen tener rendimientos decrecientes. Wikipedia discute algunas aplicaciones potenciales.

Un equipo ternario Setun fue desarrollado por los soviéticos.


Pero la idea no despegó. Puede consultar las entradas y citas de Wikipedia para obtener más información.

En la parte del software, sería bastante beneficioso tenerlo. Pero la implementación de hardware sería tan difícil de tener.
Ahora, todo el mecanismo de señalización en el bus y en las interconexiones funciona como (alto voltaje como 1 y bajo voltaje como 0). Si el sistema es ternario, tendría que haber 3 niveles para definir los 3 valores por bit, mientras se transfieren los datos (información). Agregará demasiado trabajo a los diseñadores e implementaciones de hardware. También agregará más uso de energía al circuito (ahora contendrá más de 1 nivel de voltaje de señalización).

Binario se basa en el hecho de que los componentes eléctricos en una CPU solo pueden estar en dos estados. Encendido o apagado. Si el binario fuera reemplazado por trinario, entonces sería el doble de trabajo convertir la fuente en “código de computadora”.

Hex-> trinario-> binario en lugar de

Hex-> binario

Por otro lado, esa podría ser la inspiración detrás de What Is Truth? – El Daily WTF:

El problema con la “lógica” es que hace que las cosas no sean más que simples dualidades. Los defensores de la lógica quieren que creamos que todo es verdadero o falso, blanco o negro, sí o no, papel o plástico, etc. Afortunadamente, hay algunos entre nosotros, como el colega de Mark Harrison , que no tienen miedo de ponerse de pie. a estos defensores de la lógica y gritar “¡no, no sucumbiré a tus falsas dicotomías!” Hoy, creo que todos deberíamos saludar a esas pocas personas valientes

enum Bool
{
Cierto,
Falso,
Archivo no encontrado
};