¿Por qué los circuitos de computadora pueden reconocer solo dos estados?

Las computadoras solo pueden entender binario (es decir, 0 o 1). Quiero saber ¿Hay alguna forma en que las computadoras puedan entender más de 2 estados? Sé que es mucho más difícil construir componentes que usen más de dos estados/niveles/lo que sea. Por supuesto, si tenemos más de dos estados, podríamos almacenar más datos por bit, al igual que nuestro sistema numérico decimal puede almacenar muchos más datos en un solo dígito.

La computación cuántica es un campo que está ganando cada vez más atención. La idea es usar un qubit (bit cuántico), en lugar de un bit binario. Un qubit puede asumir varios estados a la vez, pero la tecnología aún tiene un largo camino por recorrer. Aquí hay información al respecto: en.m.wikipedia.org/wiki/Quantum_computer
Sin duda, los humanos entienden binario, las computadoras no tienen la capacidad de entender. Pero, en cuanto a su pregunta, las primeras computadoras digitales no operaban con representaciones binarias sino con representaciones decimales: en.wikipedia.org/wiki/Decimal_computer
Creo que la respuesta a su pregunta es en gran medida, porque los diseñamos de esa manera .
Creo que esta pregunta parece estar fuera de tema porque se trata de informática.
relacionados, si no duplicados: ¿Por qué las computadoras solo usan 0 y 1? Otro relacionado con StackOverflow: ¿Por qué computación binaria y no ternaria?
ver también wikipedia de computación ternaria
No está fuera de tema, es una pregunta de ingeniería, o tal vez una pregunta de CS con una respuesta de ingeniería: economía. Me enseñaron en Computer Organization 101 que el binario es simplemente la forma más eficiente de usar silicio. Cuenta la leyenda que los rusos estaban experimentando con computadoras ternarias en la década de 1960.
también algo relacionado con esta pregunta ¿Hay algo más bajo que el nivel de bits de 1 y 0? cs.se

Respuestas (8)

La razón principal es que simplemente es mucho más fácil hacer un circuito que esté siempre en uno de dos estados que hacer que admita estados intermedios. La complejidad adicional, el costo y la penalización de velocidad por comprimir más estados en una sola señal superan cualquier ventaja obtenida por la compresión.

Una ventaja importante de usar solo dos estados es que cualquier señal puede amplificarse arbitrariamente en el medio. Esto da como resultado que la salida del amplificador se cierre de golpe en un extremo o en el otro. Por lo tanto, la ganancia puede variar ampliamente y puede hacerse arbitrariamente grande.

Imagina un análogo humano de esto. Si tiene un interruptor de luz en la pared que está encendido o apagado, puede golpearlo para ponerlo en el otro estado. No importa si todavía lo está presionando un poco cuando llega allí, ya que tiene un límite mecánico incorporado. Puede presionarlo lo suficiente para que cambie, o mucho más mientras no lo haga. No lo rompas físicamente. Ahora imagine si el interruptor tuviera 3 o más estados y quisiera configurarlo en uno de los estados intermedios. Tendría que ser mucho más cuidadoso para aplicar la cantidad justa de fuerza o recorrido. Demasiado y terminas en el siguiente estado. Ya no puedes simplemente hacer lo simple y rápido de golpearlo.

Se requiere una complejidad similar para establecer el nivel de una señal en un estado intermedio. Esto cuesta piezas, energía y toma tiempo. Luego, vuelve a tener más complejidad para interpretar la señal cuando desea utilizar su valor. Esto podría hacerse, pero no vale la pena.

Otro problema es que mantener una señal en un nivel intermedio probablemente requiera más energía. Con una señal alta o baja, puede pensar que la señal está conectada a la alimentación oa tierra a través de uno de dos interruptores. Estos no requieren energía para mantenerse completamente encendidos o completamente apagados, pero cualquier circuito para mantener una señal en el medio no tiene ese beneficio y es muy probable que requiera energía de reserva constante para mantenerlo así.

En realidad, hay casos en los que hoy en día se utilizan más de dos niveles para codificar datos digitales. Hay algunas memorias flash masivas que funcionan según este principio. Los datos se almacenan en pilas de carga. Estas pilas pueden tener más de 2 tamaños. Se necesita una complejidad adicional para decodificar el tamaño de las pilas cuando se realiza una lectura, pero en el caso de las memorias flash grandes, esa complejidad adicional se gasta solo unas pocas veces en el circuito de lectura, mientras que los ahorros de compresión se aplican a muchos millones de bits. por lo que la compensación vale la pena.

En realidad, hay muchas computadoras que usan muchos estados por bit desde el cambio de siglo. Se llaman computadoras analógicas. En realidad, la regla de cálculo se considera una computadora analógica y existe desde hace siglos. Basta con buscar en Internet para obtener información.

+1 porque no es una risa, es verdad! "Computadora" fue un título de trabajo una vez.

Una breve pero útil descripción de si es posible implementar ternaria, decimal u otra base- norte Los esquemas de computación se pueden encontrar en la mitad de este artículo de Mark Chu-Carroll .

Lo que es más importante, explica por qué prácticamente no se confiere ninguna ventaja al utilizar norte en base- norte representaciones. El razonamiento de que usar base- norte para grande norte permite más datos por bit es técnicamente cierto, pero en realidad no ayuda en la práctica. Del mismo modo, existe una biyección obvia entre las oraciones en inglés y los símbolos visuales, que uno podría argumentar ingenuamente que constituiría una forma de compresión de información (ya que cada oración podría comprimirse en un solo símbolo), pero le duele el hecho de que tienes que llevar una tabla de consulta gigantesca, por lo que es una especie de trampa.

Por supuesto, si tenemos más de dos estados, podríamos almacenar más datos por bit, ...

Pero solo porque estás redefiniendo el significado de "bit". De acuerdo con la teoría de la información , no está cambiando el contenido de la información, sino simplemente la unidad que usa para medirla. De hecho, lo cambias de Bit a Ban , o unos 3,32 bits :)

El costo de los circuitos para manejar y discernir tres estados activos sería en la mayoría de los casos más del doble del requerido para manejar dos. Considere cómo se diseña un inversor de dos estados para que uno pueda pasar un nivel alto o bajo a través de cualquier número par de inversores y, después de un tiempo, terminar con el nivel lógico original. Ahora intente diseñar uno que pueda pasar a través de una selección de voltaje de uno de tres que se pueda transmitir de manera confiable de manera similar. Si la disipación de energía no fuera un problema, hay algunas formas en que podría lograrse de manera algo razonable, pero la lógica de dos estados en la mayoría de los casos será mucho más fácil de diseñar.

Un ejemplo común de circuitos digitales que utilizan más de dos estados por "bit" es la memoria flash, específicamente la memoria flash MLC (Multi-Level-Cell). Para reducir costos, esta memoria flash usa más de dos estados en una celda de memoria para representar más de un bit binario de información. Esto subvierte uno de los principales problemas de la lógica digital no binaria, es decir, que un transistor que está entre apagado y saturado consume energía adicional (como lo señaló Vememo), ya que las celdas flash no consumen energía cuando están inactivas.

La desventaja del flash MLC, en comparación con el flash SLC (celda de un solo nivel), es una resistencia muy reducida, en términos de la cantidad de posibles ciclos de borrado antes de que las celdas se degraden y ya no se puedan programar correctamente.

Yo mismo me preguntaba sobre esto hace un tiempo. Hay muchas respuestas posibles, pero quizás la razón más práctica es el consumo de energía. Un transistor típico utilizado en un circuito integrado moderno disipa casi cero potencia cuando está en estado lógico 0o 1. (O el voltaje colector-emisor es casi cero, o la corriente del colector es casi cero).

Por lo tanto, en un chip contemporáneo, podemos decir que un transistor solo disipará cantidades considerables de energía cuando esté en el proceso de cambiar entre los dos estados, y consumirá muy poca energía cuando esté en un estado particular.

Imagínese si hubiera más de dos estados posibles (otros valores "intermedios"), los transistores consumirían órdenes de magnitud más de energía incluso cuando el sistema no está haciendo nada, lo que hace que la cosa sea económicamente inviable. Esta es (una de las razones) por la que la gran mayoría de nuestros circuitos digitales son binarios.

ENIAC era base 10, por lo que no solo es posible usar bases distintas de 2, sino que se usó primero la base 10.

Según "50 años de informática militar: de ENIAC a MSRC", EDVAC era base 8 y ORDVAC I y II eran base 16.

No creo que esto responda la pregunta. Los tubos de vacío, diodos y relés utilizados en los circuitos ENIAC, EDVAC y ORDVAC en realidad solo tenían dos estados, encendido y apagado. Como se describe en el artículo de Wikipedia sobre ENIAC, los registros de ENIAC eran "decimales" en el sentido de que almacenaban un dígito decimal codificado por el cual de 10 flip-flops binarios estaba en el estado "1" mientras que todos los demás estaban en el "0 " estado. Los diseñadores digitales todavía usan esta técnica. Por lo general, lo llaman "codificación one-hot".
Estoy de acuerdo con lo que dices. Supongo que depende de cómo interpretes "entender" en la pregunta.