¿Por qué la memoria de la computadora solo tiene dos estados?

¿Por qué la memoria de la computadora solo tiene dos estados?

¿Por qué las computadoras usan binario, en el sentido de por qué usan bits que solo pueden representar un estado alto y bajo? Estaba leyendo "Fundamentos de lógica y diseño informático" (por M. Morris Mano, Charles R. Kime (autor) y Tom Martin) y no entiendo el motivo:

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 dividirse en 10 rangos, cada uno de 0,1 voltios de longitud. Un circuito proporcionaría un voltaje de salida dentro de cada uno de estos 10 rangos. Una entrada de un circuito necesitaría determinar en cuál de los 10 rangos se encuentra el voltaje aplicado. Si deseamos permitir el ruido en los voltajes, entonces se podría permitir que el voltaje de salida oscile por debajo de 0,05 voltios para una representación de dígito dada, y los límites entre las entradas podrían variar en menos de 0,05 voltios. Esto requeriría circuitos electrónicos complejos y costosos, y la salida aún podría verse 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,05 V con precisión y protegerlo contra el ruido, ¿utilizaríamos computadoras con 10 estados? En caso afirmativo, ¿es solo cuestión de inventar un equipo que pueda detectar un cambio de 0,05 V? ¿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 +/- 2V para el ruido.

Respuesta1

La razón subyacente es: es más fácil construir una lógica de dos estados, y el 99% de las veces cualquier cosa más complicada no ofrece ninguna ventaja práctica.

De hecho, eslejosEs más fácil (es decir, más pequeño, más barato y más confiable) construir cuatro unidades de memoria que tengan cada una dos estados (que pueden usarse para almacenar un dígito decimal en notación BCD) que construir una sola unidad de memoria que pueda almacenar y leer. de 10 estados.

Cualquier mejora tecnológica futura podría mejorar la memoria 1 de 10, sí. Pero los mismos avances tecnológicos también podrían aplicarse a los circuitos binarios, haciéndolos más pequeños, más confiables y consumiendo 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. Entonces los circuitos uno de diez puedennuncaponerse al día.

Usar voltajes más altos no es un comienzo. Aumentarás el consumo de energía; y cuanto más altos sean los voltajes en las líneas de señal, más ruido irradian (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 la formación de arcos, ¡no solo por el acoplamiento capacitivo! La tendencia en las CPU modernas es utilizar voltajes cada vez más bajos, no más altos.

Además, la codificación binaria, aunque parezca extraña a primera vista, es extremadamente conveniente en muchos sentidos. Un circuito sumador binario es un diseño mucho, mucho más simple (y más confiable) que un sumador que usaría niveles de voltaje variables como los que se describen. (Y ni siquiera quiero pensar en cómo harías la multiplicación, la división o el punto flotante). Además, de todos modos necesitas lógica digital binaria para implementar el resto del procesador de la computadora.

El hecho de que los humanos prefieran trabajar con computadoras usando números decimales es prácticamente irrelevante: la conversión entre binario y decimal es un código trivial.

Vale la pena señalar que hubo algunas computadoras muy antiguas que almacenaban números como dígitos decimales. Pero no lo hicieron con diferentes niveles de voltaje. En su lugar, utilizaron circuitos llamados "contadores de anillo" que eran, en efecto, diez bits de memoria configurados de modo que sólo uno de los diez pudiera ser "1" a la vez. (Busque "decatrón".)

Posteriormente hubo computadoras "decimales" como la IBM 1401 y la IBM 1620, pero nuevamente, todas usaban fundamentalmente almacenamiento binario. Los bits simplemente se usaban para representar dígitos decimales de varias maneras. por ejemplo, el 1401 utilizaba "decimal codificado en binario" en el que se utilizaba un conjunto de cuatro bits para codificar cada dígito decimal. Computadoras como esta tuvieron mucho éxito en su época y la mayoría de las calculadoras todavía funcionan de esta manera.

En resumen, aunque la representación decimal parecería tener más sentido, en realidad es porque es a lo que estamos acostumbrados como civilización. La representación binaria tiene más sentido para los circuitos de computadora desde todos los puntos de vista de la ingeniería. (Y de todos modos, si hubiéramos sido un poco más inteligentes, habríamos crecido usando los dedos para contar en binario, ¡y habríamos podido contar no sólo hasta 10 sino hasta 1023! :))

Respuesta2

El artículo que has citado responde muy bien a tu pregunta, sólo tienes que pensarlo un poco más.

Las razones principales para utilizar la representación binaria para el almacenamiento y la transmisión de datos electrónicos son el nivel de complejidad de los circuitos y los márgenes de ruido.

Otra razón importante es que, a efectos de almacenamiento de datos, el binario es el mínimo común denominador. Puede representar eficientemente cualquier dato en binario sin ningún costo adicional. El uso de más estados que 2 a menudo resultaría en una 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, nos dirigimos hacia voltajes más bajos, no más altos. Tener 50 voltios en los pines IO de la memoria principal de su computadora sería muy poco práctico, peligroso y costoso. La memoria de las computadoras modernas generalmente usa alrededor de 1,5 V.

Recomiendo la siguiente lectura:

Respuesta3

La memoria se basa en transistores, que si bien son de naturaleza analógica, se utilizan de forma binaria y se acoplan a una señal de reloj (los 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 la parte fundamental del almacenamiento digital: es lo que almacena un 1 o un 0. El flip-flop no tiene la capacidad de almacenar valores múltiples o no digitales.

Otro aspecto es la señal de reloj, que proporciona el enganche de valores. Hay un momento en el que los valores cambian y la salida es indeterminada. La señal del reloj se elige para que sea ligeramente más larga que el tiempo que tarda la salida en estabilizarse. Esto luego bloquea los valores y continúa el cálculo. Cuando los valores no se estabilizan a tiempo para el pulso del reloj, el valor incorrecto se transfiere y la computadora falla.

información relacionada