¿Por qué las computadoras usan binario, en el sentido de por qué usan bits que solo pueden representar un estado alto y uno bajo? Estaba leyendo "Lógica y fundamentos de diseño de computadora" (por M. Morris Mano, Charles R. Kime (autor) y Tom Martin) y no entiendo su razón:
Considere un sistema con 10 valores que representan los dígitos decimales. En Un sistema de este tipo, los voltajes disponibles, por ejemplo, de 0 a 1,0 voltios, podrían ser Dividido en 10 rangos, cada uno de longitud 0,1 voltios. Un circuito seria Proporcionar una tensión de salida dentro de cada uno de estos 10 rangos. Una entrada de un circuito tendría que determinar en cuál de los 10 rangos se aplicó un la tensión se encuentra. Si queremos permitir ruido en los voltajes, entonces el voltaje de salida se puede permitir que alcance menos de 0.05 voltios para una representación de dígitos dada, y los límites entre las entradas podrían varían por menos de 0.05 voltios. Esto requeriría complejos y costosos. circuitos electrónicos, y la salida todavía podría ser perturbada por pequeños Voltajes de “ruido” o pequeñas variaciones en los circuitos que ocurren durante Su fabricación o uso.
Entonces, si fuera posible detectar un cambio de 0.05v con precisión y proteger contra el ruido, ¿usaríamos computadoras con 10 estados? En caso afirmativo, ¿es solo cuestión de inventar un equipo que pueda detectar un cambio de 0.05v? ¿Por qué no simplemente aumentar la escala? por ejemplo, haga el rango de 0 a 50 voltios y tenga un estado cada múltiplo de 5 (por ejemplo, 0,5,10,15, ..., 50) y permita un +/- 2 V para el ruido?
Respuestas:
La razón subyacente es: es más fácil construir una lógica de dos estados, y el 99% de las veces, algo más complicado no ofrece ninguna ventaja práctica.
De hecho, es lejos es más fácil (es decir, más pequeño, más barato y más confiable) construir cuatro unidades de memoria, cada una con dos estados (que se pueden usar para almacenar un dígito decimal en notación BCD) que construir una sola unidad de memoria que pueda almacenar y leer Fuera de 10 estados.
Cualquier futura mejora tecnológica podría mejorar la memoria 1 de 10, sí. Pero, los mismos desarrollos tecnológicos también podrían aplicarse a los circuitos binarios, haciéndolos más pequeños, más confiables y usando menos energía. Los circuitos binarios mejorarán más rápido que los circuitos de uno de diez niveles de voltaje, porque los circuitos binarios realizan un trabajo fundamentalmente más simple. Así que los circuitos de uno de diez pueden Nunca alcanzar.
El uso de voltajes más altos no es un arranque. Aumentarás el consumo de energía; y cuanto más altos son los voltajes en sus líneas de señal, más ruido emiten (por lo que es más probable que corrompan otras señales). De hecho, actualmente estamos ejecutando trazas de señal tan cerca unas de otras que a 50 voltios tendrías que preocuparte por el arco eléctrico, ¡no solo por el acoplamiento capacitivo! La tendencia en las CPU modernas es usar voltajes más bajos y más bajos, no más altos.
Además, la codificación binaria, aunque parece extraño en el primer encuentro, es extremadamente conveniente de muchas maneras. Un circuito sumador binario es un diseño mucho más simple (y más confiable) que un sumador que usaría diferentes niveles de voltaje, como se describe. (Y ni siquiera quiero pensar en cómo harías la multiplicación, la división o el punto flotante). Además, necesitas la lógica digital binaria para implementar el resto del procesador de la computadora de todos modos.
El hecho de que los humanos prefieran tratar con computadoras que usan números decimales es casi irrelevante: la conversión entre binario y decimal es un bit trivial de código.
Vale la pena señalar que hubo algunas computadoras muy tempranas que almacenaron números como dígitos decimales. Pero no lo hicieron con niveles de voltaje variables. En su lugar, utilizaron circuitos llamados "contadores de anillo" que, en efecto, tenían diez bits de memoria configurados de modo que solo uno de los diez podría ser "1" a la vez. (Busque "dekatron".)
Posteriormente hubo computadoras "decimales" como la IBM 1401 y la IBM 1620, pero nuevamente, todas utilizaron fundamentalmente almacenamiento binario. Los bits solo se utilizaron para representar dígitos decimales de varias maneras. p.ej. el 1401 utilizó "decimal codificado en binario" en el que se utilizó un conjunto de cuatro bits para codificar cada dígito decimal. Computadoras como esta tuvieron mucho éxito en su tiempo, y la mayoría de las calculadoras todavía funcionan de esta manera.
En resumen, aunque la representación decimal parece tener más sentido, eso es realmente porque eso es lo que nosotros, como civilización, estamos acostumbrados. La representación binaria tiene más sentido para los circuitos de computadoras por cada medida de ingeniería. (Y de todos modos, si hubiéramos sido un poco más inteligentes, habríamos crecido usando nuestros dedos para contar en binario, y podríamos contar no solo a 10 sino a 1023! :))
fuente
El artículo que ha citado responde muy bien a su pregunta, solo debe reflexionar un poco más.
Las razones principales para usar la representación binaria para el almacenamiento y transmisión de datos electrónicos es el nivel de complejidad de los circuitos y los márgenes de ruido.
Otra razón importante es que para el almacenamiento de datos, el binario es el denominador común más bajo. Puede representar eficientemente cualquier dato en binario sin ninguna sobrecarga. El uso de más estados que 2 a menudo resultaría en la sobrecarga al intentar representar datos muy simples (por ejemplo, binarios)
En cuanto a la última parte de su pregunta, debo recordarle que a medida que avanza la industria de componentes electrónicos, avanzamos hacia voltajes más bajos, no más altos. Tener 50 voltios en la memoria principal de su computadora Los pines IO serían muy imprácticos, peligrosos y costosos. La memoria de la computadora moderna usualmente usa algo alrededor de 1.5V.
Recomiendo la siguiente lectura:
fuente
La memoria se basa en transistores, que aunque son de naturaleza analógica, se utilizan de forma binaria y se acoplan a una señal de reloj (el MHz). La memoria más simple que se puede tener es un flip-flop J / K (Q / Q '). Esta disposición de 4 puertas NAND simples es el bit fundamental del almacenamiento digital: es lo que almacena un 1 o un 0. El flip-flop no tiene capacidad para almacenar valores no digitales o múltiples.
Otro aspecto es la señal de reloj, que proporciona el bloqueo de valores. Hay un momento en que los valores cambian que la salida es indeterminada. La señal de reloj se elige para que sea un poco más larga que el tiempo que tarda la salida en establecerse. Esto luego encierra los valores y el cálculo continúa. Cuando los valores no se ajustan a tiempo para el pulso del reloj, el valor incorrecto se transfiere y la computadora falla.
fuente