¿Por qué las computadoras no funcionan con tres estados o más?

Si le hago una pregunta simple, ¿es más fácil clasificar sus respuestas como “sí” o “no”, o agregar la complejidad de “quizás” o “quizás”? La primera implica un sistema binario o de dos estados . Los dos últimos pueden manejarse fácilmente agrupándolos en “no” y luego probándolos en busca de respuestas binarias definitivas.

Un sistema de dos estados es simplemente más eficiente.

Si está hablando de múltiples estados de hardware, entonces esa es una situación diferente, y en realidad hay áreas donde los estados múltiples son comunes. Gigabit ethernet sobre cobre, por ejemplo, usa más de dos estados para enviar más datos a través del cable de los que de otro modo se permitirían dado su ancho de banda limitado (binario). Del mismo modo, algunos tipos de multiplexación multicanal son esencialmente portadores con más de un estado o, para decirlo de otra manera, transmisiones de datos paralelas.

Pero cuando se trata de hardware de computadora, dos estados son bastante fáciles de implementar porque consta de solo dos voltajes, esencialmente, 0 voltios, o falta de voltaje, y algo de voltaje terminal, digamos + 5VDC por el simple hecho de argumentar. . Los dispositivos necesarios para discriminar estos dos estados son bastante simples, pero agregan un tercer o cuarto estado y ahora se trata de grados de voltaje y la posibilidad de confundir un estado con el otro. Mientras que en la transmisión de datos donde múltiples “estados” pueden mejorar el rendimiento, tener múltiples “estados” en una computadora no proporciona muchas mejoras, excepto en circuitos especialmente diseñados que no incluirían computadoras de uso general.

Como recuerdo, el número óptimo de estados es e , aproximadamente 2.71, en términos de la cantidad de componentes electrónicos necesarios para realizar una determinada operación con cierta precisión. Eso está más cerca de 3 que 2, por lo que una computadora trinaria en teoría sería más eficiente. Cuando estaba en la universidad en la década de 1970, uno de los investigadores construyó una CPU trinaria.

Pero en ese momento, el almacenamiento (RAM) era magnético (memoria central), que tenía solo dos estados. El almacenamiento a largo plazo (disco / tambor) también fue magnético. Por lo tanto, cualquier computadora real habría tenido que lidiar con bases de conmutación para acceder a la memoria, o solo usar 3/4 del espacio disponible. Las computadoras trinarias nunca se pusieron de moda, y ahora que podríamos ser capaces de hacer memoria trinaria (SSD y DRAM), se invierte demasiado en computadoras binarias para que valga la pena.

solo hay dos estados estables; imagen de histéresis en materiales magnéticos

Haré una suposición diferente a las de las otras respuestas hasta ahora (que implican dígitos trinarios en lugar de BIT).

Dados dos bits A y B, hay dieciséis funciones diferentes que se pueden realizar. Estas incluyen las funciones muy aburridas que siempre dan un 0 o un 1, cualesquiera que sean A y B, las que reproducen A o B, así como las funciones más interesantes AND, OR, NAND, NOR y XOR. Resulta que de estas 16 funciones, NAND o NOR, las funciones negadas AND y OR, serán suficientes para crear todas las demás. Por ejemplo, NO A podría producirse conectando A a ambas entradas de cualquiera de las dos puertas que acabo de mencionar (A NAND A o A NOR A producen los mismos resultados sea lo que sea B).

La mayoría de las computadoras realmente funcionan con tres bits a la vez, con dos bits de entrada y una salida, pero también hay muchos casos en los que se usan tres bits de entrada: el tercero podría ser un reloj, un carry, etc. Pero estos pueden todo se reduce a solo puertas NAND o NOR. Estos a su vez están hechos de transistores, que tienen tres terminales. Los diodos por sí solos no son suficientes para implementar una computadora que funcione.

Volviendo a las tablas de verdad sobre las que me estaba centrando en las funciones anteriores. Si tuviera tres bits de entrada (0 o 1), tendría no menos de 64 funciones diferentes (de nuevo, incluidas las aburridas como 0, 1, A, B, C, etc.). Algunas de estas funciones solo usarán dos de A, B y C, y habrá otras (como AND, OR, NAND) que usarán las tres simétricamente. Pero varias de las tablas de verdad en realidad funcionarán como “cheques”, es decir, C podría ser siempre A y B, o B podría ser siempre A XOR C. Sin embargo, ninguno de estos es necesario. Es más fácil trabajar con A y B que trabajar con el resultado de que C es igual a A y B. Es más fácil encadenar dos compuertas AND juntas ((A Y B) Y C), que pueden ampliarse hasta agregue D también para trabajar con AND (A, B, C).

Finalmente, tenga en cuenta que las tablas de verdad para OR y AND tienen relaciones con la suma y la multiplicación para números binarios. Si los hiciéramos operar en una tercera entrada, sería similar a hacer una aritmética elemental como la suma de 4 y 5 como buscar + (4, 5, 1) en el “cubo más”, y una multiplicación similar como 6 * ¡7 sería una búsqueda de * (6, 7, 1) – o * (1, 6, 7)! – En el cubo de los tiempos. ¡Pero imagina que quieres calcular 5! (factorial cinco), y aún necesita hacer dos búsquedas con un cubo. Resulta que dos no es solo el menor valor de dígitos que puede calcular cosas de manera útil, sino también el menor número de entradas a funciones elementales.

Creo que estás malinterpretando la definición de un “bit”. Un “bit” es un “dígito binario”: un dígito que puede ser solo 0 o 1. Las computadoras modernas funcionan con muchos bits a la vez: actualmente, las máquinas de escritorio suelen tener registros de 64 bits, lo que significa que pueden realizar cálculos en Números de 64 bits.

Ahora, ha habido propuestas para crear computadoras que funcionen en bases 3 o superiores: eso es lo que imagino que en realidad quieres decir.

Matemáticamente, cualquier cosa que puedas hacer en la base 3, también puedes hacerlo en la base 2: el número equivalente es solo más largo. El binario es una forma natural para que las máquinas electrónicas representen números: un circuito en el que la corriente fluye o no fluye naturalmente corresponde a un dígito binario.

Sin embargo, lo trinario es menos natural para la electrónica: debe tener tres estados. Hay posibilidades para esto, pero hacen que la implementación de la electrónica sea más complicada, lo que a su vez significa que un chip de computadora basado en electrónica trinaria necesitará más espacio físico para cada “trit” que una computadora binaria para cada “bit”. “. Por lo tanto, si realmente podría incluir más datos u obtener más potencia de procesamiento depende de cómo lo implemente. Hasta ahora, nadie ha encontrado una manera de hacer computadoras trinarias que tenga una ventaja significativa sobre las binarias.

En segundo lugar, hemos tenido unos 70 años de experiencia en la fabricación de computadoras electrónicas binarias. Las técnicas para hacerlo están bien desarrolladas. Entonces, el binario tiene una “ventaja” significativa sobre los sistemas trinarios u otros. Superar esa “ventaja inicial” requeriría un gran esfuerzo de ingeniería, incluso si se encuentra una manera de hacer que los sistemas trinarios contengan más capacidad de almacenamiento o procesamiento por unidad de espacio.

Hay bits y bytes, palabras y medias palabras, y más, pero ahí es donde dejé el mundo del hardware de la computadora.

Un bit es (era) un interruptor de encendido / apagado, por lo que hay 2 estados, con potencia o sin potencia, la base de las matemáticas binarias.

Fin de la respuesta El resto es nostalgia, y puede estar equivocado.

Un byte estaba hecho de 8 bits. 8 bits dan 256 posibilidades, y a medida que multiplicamos por 2, 512, 1024, 2048 y 4096. Fue entonces cuando me retiré.

00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 para 0 1 2 3 4 5 6 7 8.

Las computadoras más antiguas usaban principalmente 2 bytes para caracteres (alfa y numéricos), si el número computacional tenía que ser un número grande, se usaban 4 bytes. Mi primer problema en el año 2000 fue que había usado media palabra para la cantidad de días desde el 01/01/1900 y me desbordé en la década de 1980.

oq: ¿Por qué las computadoras no funcionan con tres o más bits?

Las computadoras de hoy, ya sean computadoras portátiles o teléfonos inteligentes, se basan en dígitos binarios o “bits”. Un bit solo puede tener uno de dos estados, 0 o 1. Toda la información almacenada en los sistemas de memoria o procesador está hecha de estos bits. El más simple de estos disponibles hoy en día almacena y procesa 8 bits a la vez. Una computadora de escritorio o portátil de alta gama procesará estos 64 bits a la vez.

¿Tal vez estás pensando en bits cuánticos o “qubits”? En una computadora cuántica teórica, cada bit podría representar un número infinito de estados entre 0 y 1. La investigación básica todavía está en curso en esta área y no se ha construido una versión práctica.

Voy a suponer que quieres saber por qué un bit tiene dos estados, en lugar de tres o más estados.

Dado que binario y trinario pueden representar el mismo conjunto de números, una computadora de “bit trinario” no tiene ventaja matemática sobre una computadora de “bit binario”, pero sería más difícil de construir.

Es decir, la computadora de bits trinaria (o de orden superior) puede no requerir tantos bits, pero cada bit requeriría más transistores para implementar. Al final, el hardware extra no valdría el almacenamiento de datos un poco más denso.

La pregunta original era: ¿por qué las computadoras no funcionan con tres o más bits?

Las computadoras funcionan con miles de millones de bits (agrupados en 8, conocidos como bytes).

Sin embargo, creo que intentabas preguntar algo en la línea de:

¿Por qué las computadoras no funcionan con, por ejemplo, un sistema ternario o decimal? “.

Algunas de las primeras computadoras funcionaban con el sistema decimal (principalmente en los años 50 y 60) pero el binario ha demostrado ser el sistema más lógico para usar. Un bit es 1 o 0. En otras palabras: una señal eléctrica / potencial (1) o no (0).

¿Por qué hacer las cosas difíciles si pueden ser fáciles?

Porque la electrónica de una CPU se basa en un componente llamado Crystal Oscillator. Produce una onda sinusoidal que se puede traducir en dos comportamientos. Cuando la curva sinusoidal está en su nivel más alto, se puede interpretar como 1 y cuando la curva está en su punto más bajo, la máquina puede asumir que es un 0.

Al final, tenemos dos estados: Luces encendidas Luces apagadas. Como un código morse.

More Interesting

Para comenzar una empresa de tecnología en aprendizaje automático e inteligencia artificial, ¿es mejor exponerse al campo en la industria o en un entorno posdoctoral?

Solicitud de sugerencia: ¿Libro accesible y completo sobre informática?

Si quiero escribir un compilador y hacer rodar a mano mi propio lexer / parser (sin lex / yacc o antlr), ¿cuál es el enfoque más fácil?

¿Cuál es el enfoque para un problema NP-completo?

Dado un lenguaje con una función de pliegue (ala Haskell) garantizada para terminar, ¿cuán necesario sería la integridad de Turing para que el resto de este lenguaje sea útil?

¿Qué tipo de semiosis ocurre dentro de una computadora?

¿Vale la pena ir a una conferencia sin publicación?

¿Cómo sería el currículum de un experto en infraestructura de TI?

¿Es posible encontrar la precisión de Disparos de un bateador en particular usando el aprendizaje automático?

¿Cuáles son las aplicaciones de un registro de desplazamiento?

¿Cómo fue usar teclados de computadora antiguos?

¿Cuáles son algunas de las tecnologías emergentes en CS que tendrán demanda en las empresas en un futuro próximo?

¿Prefieres contratar a un graduado de CS que tenga un GPA alto o uno que tenga un GPA más bajo, pero que haya pasado su tiempo programando y trabajando en sus proyectos?

¿Cuáles son ejemplos de proyectos de aprendizaje automático donde la heurística se combina efectivamente con predicciones de modelos?

Cómo hacer un buen proyecto de ciencias de la computación para el último año que sea tan bueno como los proyectos en la universidad de primer nivel