¿Por qué las computadoras solo usan 0 y 1?

¿Por qué las computadoras solo usan 0 y 1? ¿La suma de otros números como 2 o 3 no acelerará las computadoras? Además, 2 y 3 se pueden usar para acortar la longitud de bits de los números enteros (2 y 3 se pueden usar para terminar un número entero, de modo que el número 1 solo necesita dos bits).

¿Por qué se prefiere más la computadora binaria?

Para hacerlos preformar robustamente en presencia de ruido.

Respuestas (7)

No los aceleraría. Ahora es fácil: para hacer una puerta lógica básica como una NAND, las entradas lógicas tiran de la salida a Vdd oa tierra. Si usara niveles intermedios, necesitaría FET para ir a niveles como Vdd/2 o Vdd/4. Esto consumiría más energía y requeriría componentes que funcionaran con mayor precisión, lo que requeriría más tiempo para establecerse en el nivel final. Si metiera más valores en una sola unidad de datos, la precisión requerida aumentaría, al igual que el tiempo de establecimiento. El sistema binario utilizado ahora solo empuja el FET con fuerza a Vcc.

exscape menciona la inmunidad al ruido, y eso es a lo que se refiere la precisión: cuánto puede desviarse la señal del valor nominal. En un sistema binario que puede ser casi el 50 %, o más de 0,5 V en un procesador de 1,2 V. Si usa 4 niveles diferentes, solo están separados por 300 mV, entonces la inmunidad al ruido no puede ser mejor que 150 mV, posiblemente 100 mV.

Tenga en cuenta que hay dispositivos Flash que usan múltiples niveles para almacenar más de 1 bit en una sola celda de memoria, eso es Flash MLC (celda de niveles múltiples). Eso no aumenta la velocidad, pero incluye más datos en un solo chip.

Sin embargo, ¿no es la inmunidad al ruido una de las principales razones? Es al menos probablemente la razón principal de lo digital frente a lo analógico.
@exscape: actualicé mi respuesta. ¿Mejor ahora? Gracias por la respuesta
¿Por qué no los acelera? Con más de dos dígitos podríamos almacenar datos en menos espacio, por ejemplo, cuatro en binario = 100 --requiere 3 ubicaciones físicas-- en ternario cuatro = 11 --requiere dos ubicaciones físicas. Entonces, en un sistema ternario, el procesador tendría que procesar una menor cantidad de registros, lo que lo haría relativamente más rápido.

El almacenamiento y la computación a nivel binario son muy baratos, pequeños y rápidos. Este texto puede ser demasiado simplificador, pero supongo que va al grano:

La lectura de una celda de memoria binaria consiste en un simple comparador que hace su trabajo: alto/bajo. El cálculo se reduce a tablas muy simples de cuatro combinaciones de entrada (00, 01, 10, 11) a dos bits de salida (0 y 1) en su mayoría.

Ahora, si tiene que comparar varios valores posibles, tiene una configuración de comparación más complicada que es más lenta o mucho más grande que la simple. Además, las tablas de cálculo se vuelven más grandes, por lo que el cálculo también es más complicado. Si bien podríamos reservar un área pequeña para hacer que el almacenamiento sea más pequeño, todo lo demás, como el cómputo y el transporte, se volvería exponencialmente más difícil y lento.

Como se discutió en otra respuesta, toda la configuración también tendría que construirse de manera más precisa para mantener la inmunidad al ruido.

Todas estas cosas combinadas significan: es mucho más eficiente colocar miles de millones de puertas binarias en un chip que solo 500 millones de puertas cuaternarias.

Anda por tu casa, o si no tienes de este tipo de interruptores ve a una ferretería, mira que tan fácil o difícil es poner y dejar el interruptor en medio de encendido y apagado, agregando un tercer estado, ahora prueba para ver si no puedes llegar a posiciones distinguidas. Otro ejemplo, tome una lata de coca cola o una botella de cerveza o cualquier otro objeto que sea cilíndrico y colóquelo de lado, luego equilibre una canica en la parte superior, ¿qué tan fácil, rápido y estable es esa canica balanceada?

usar un transistor como interruptor es muy fácil, condúzcalo a un riel u otro, fácil de detectar la salida. Ahora, si intentara que todos los transistores no estuvieran encendidos y apagados, sino calibrados en diferentes rangos, uno para cada estado (además de todos encendidos y apagados, dos estados intermedios como sugiere). Ahora todo el sistema tiene que ser mucho más preciso, costoso, sujeto a errores y fallas, etc.

Básicamente se intentó esto, una o algunas de las primeras computadoras intentaron ser decimales (10 niveles de voltaje), fallaron. ya sea un transistor de tubo o de silicio, es significativamente más fácil, económico, rápido y confiable usar el transistor como interruptor y tener solo dos estados, riel inferior y riel superior.

Tengo una perilla de volumen en mi sistema de música que va del 1 al 10. Es muy fácil elegir el volumen exacto. Lo hago bien a la primera cada vez que lo uso. Entonces, según su lógica, parece que sería mejor tener transistores decimales.
Varias perillas en los estéreos tienen dos señales que están codificadas en gris, binarias, y los cambios de estado indican un aumento o disminución en la dirección (codificador rotatorio). Otros son analógicos con un ADC que digitaliza la posición en unos y ceros. Un muy antiguo o muy purista podría no volverse digital y alimentar ese divisor de voltaje directamente al amplificador analógico. Pero sospecho que la mayoría no, por lo general se nota.

Claramente se puede hacer. Todo† el almacenamiento digital en este planeta es de 4 estados. El ADN codifica los datos como uno de cuatro pares de bases por bit, organizados en bytes de 3 bits cada uno. Por lo tanto, cada byte puede tener 64 estados diferentes.

 

†Excepto por una fracción infinitesimal creada artificialmente por una de las formas de vida sensibles.

@Dmit: Sí, pero todavía hay cuatro combinaciones posibles. Tome uno de los dos hilos de forma aislada y tendrá cuatro opciones en cada sitio, A, G, C o T. El hecho de que el otro hilo sea el determinado no es relevante. Si lo que dices es cierto, entonces solo habría 8 opciones por "byte", cuando en realidad hay 64, aunque no se usan todos esos códigos, y algunos son redundantes. Curiosamente, las mitocondrias y los cloroplastos tienen diferentes codificaciones de bytes a aminoácidos que nuestro ADN nuclear.
@Dmit: dicho de otra manera, AT es diferente de TA y CG es diferente de GC.
Tienes razón, lo siento.

El sistema numérico binario se compone de 0 y 1, como sabes. Otros sistemas numéricos populares o utilizados anteriormente fueron el sistema numérico octal, hexadecimal y decimal. Binario, Octal, Decimal y Hexadecimal tiene 2, 8, 10 y 16 dígitos respectivamente. Para implementar circuitos lógicos, el sistema binario es un poco menos complejo. ¿Por qué? Eso es porque solo podemos confiar en dos dígitos para construir los circuitos. El diseño del circuito es comparativamente más fácil de implementar. El uso del sistema numérico binario en el diseño de circuitos consume menos tiempo, es menos complejo, necesita menos elementos de circuito y, en todos los aspectos, es más asequible que otros. Los sistemas octales y hexadecimales se utilizaron anteriormente en el diseño de computadoras. Pero eran complejos. Los circuitos también eran complejos. Entonces, los ingenieros comenzaron a usar el sistema binario por las ventajas mencionadas anteriormente.

AFAIK, los sistemas octales y hexadecimales no fueron utilizados por el hardware. Fueron y todavía son (incluso octales) utilizados por software porque empaquetan convenientemente varios bits en una unidad. P.ej. un dígito octal tiene exactamente tres bits y un hexit (dígito hexadecimal) tiene exactamente 4 bits. ¿Qué preferirías decir 0b11111111 o 0xff?

¿Por qué se usa un sistema binario en lugar de un sistema decimal?

Buena pregunta. En realidad, existen computadoras que no usan el sistema binario. Estas computadoras, construidas a partir de amplificadores operacionales, se denominan computadoras ANALÓGICAS . Las computadoras analógicas pueden sumar, restar, multiplicar y dividir, e incluso hacer algunos tipos de integración.

¿Por qué se prefiere más la computadora binaria?

Las computadoras binarias son más precisas, a veces. Además, las computadoras binarias (como mi computadora portátil) pueden ser millones de veces más complejas. Supongo. Las computadoras analógicas deben operarse en ciertas condiciones limitadas y dar respuestas limitadas. Puede hacer que una computadora digital sea tan compleja como desee.

Además de las otras respuestas, resolví circuitos digitales nativos para lógica trinaria. Creo que existe un conjunto completo que funciona tan rápido como los circuitos lógicos binarios (lo que significa que obtenemos aumentos de rendimiento de 1.5x); sin embargo tiene un alto costo. Los circuitos queman energía en estado inactivo (no solo cuando se cambia) y, por lo tanto, tiene tanto calor para descargar que no vale la pena para las CPU modernas. Apenas podría beneficiarse en un autobús principal.