Por qué las computadoras usan lenguaje binario?


El código binario es el idioma de las computadoras. Construimos abstracciones, lenguajes de alto nivel, pero todo se compila y termina "hablando" en binario. Ceros y unos, unos y ceros. Es así hace años. Parece lógico, parece indiscutible. pero lo es?

Para los ajenos al mundo informático el concepto de los números binarios no resulta cómodo. Por qué no almacenar o trabajar con números decimales? Si es lo más común y sencillo? Tenemos 10 dedos en las manos por lo que este sistema con 10 símbolos nos parece intuitivo y natural... entonces por que no usar este sistema?

La mayoría de las culturas históricas utilizaron variantes de sistemas de numeración decimal. Tenemos como ejemplos los números romanos, el sistema chino o el arábigo (que es el que utilizamos hoy en día). Sin embargo existieron culturas como la babilónica que tenia un sistema en base 60 y la cultura maya que utilizaron un sistema en base 20.

Era de esperarse que al construirse las primeras computadoras se adopte el sistema decimal para realizar operaciones aritméticas y/o almacenar contenidos.

La máquina diferencial diseñada y propuesta en 1822 por Charles Babbage para realizar cálculos polinómicos utilizaba ruedas dentadas y trabajaba con valores decimales. Si bien Babbage no construyó la máquina, muchos años después en 1991 un grupo ¿trabajando en sus diseños la armó y probó en forma exitosa. Babbage propuso también construir una máquina de propósito general y programable: la máquina analítica. Esta máquina inicialmente descripta en 1816 y mejorada durante el resto de la vida de Babbage, nunca fue construida. Para los cálculos aritméticos utilizaba aritmética de coma fija en base 10. Para programar la máquina propone utilizar tarjetas perforadas.

Basile Bouchon y Jean-Baptiste Falcon utilizaron las tarjetas perforadas por primera vez alrededor de 1725 para controlar telares textiles en Francia. Las tarjetas son láminas de cartulina que contienen información en forma de perforaciones utilizando el código binario. Antes de las tarjetas perforadas se utilizaban las cintas perforadas con el mismo principio. En el telar la lectura de cada  tarjeta abría y cerraba un circuito de acuerdo si se encontraba una perforación o no en la tarjeta.

Podemos rastrear en la tarjeta perforada el nacimiento del almacenamiento y la programación utilizando un sistema binario. Un agujero o la falta del mismo nos dan dos estados posibles. Generar más estados siguiendo esta tecnología es complejo. Podríamos pensar en medio agujero como un tercer estado... pero si ya puedo detectar 3 estados en una espacio determinado, detectando un medio agujero, también puedo utilizar 2 agujeros de mitad de tamaño independientes y tener 4 valores posibles.

Ada Lovelace, hija de Lord Byron, toma conocimiento de los trabajos de Babbage y es la primera persona que escribe un algoritmo destinado a ser procesado por una maquina en 1843. Las tarjetas perforadas son el soporte propuesto para dar entrada al algoritmo.

El álgebra booleano nace formalmente en 1847 de la mano de George Boole quien publica "The Mathematical Analysis of Logic" y posteriormente "An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities" en 1854.

El camino estaba allanado para la computación con sistema binario. La aparición de nuevas tecnologías fueron permitiendo crear mas y mejores computadoras: reles, valvulas de vacio, transistores... todos sistemas que funcionan perfectamente como interruptores de 2 valores: apagado y prendido.

Ciertamiente la naturaleza no es binaria, por lo que seleccionar mecanismos binarios tiene que ver con cuestiones de facilidad de construcción y operación. Existe una historia que dice que el ancho de los trenes e incluso el tamaño del transbordador espacial esta relacionado con el tamaño de las ancas de un caballo romano. Es decir que por una selección inicial determinada, todos los adelantos tecnologicos relacionados lo siguieron tomándolo como algo establecido. Estamos en un caso similar? usamos computadoras binarias por que las primeras fueron binarias?

Primera computadora Setum
En 1960 en la universidad estatal de Moscu, Rusia, presentó la computadora Setum. Esta computadora funcionaba con lógica Ternaria. Tres valores -1,0,1 o Si,no,desconocido. Esta computadora utilizaba núcleos de ferrita y diodos semiconductores. En total se crearon 50 computadoras de este tipo antes que la dirigencia rusa le quite el financiamiento. Setum permitia almacenar mas información en menos espacio y procesaba la información con mas velocidad que sus computadoras binarias contemporáneas.

Aunque mas compleja se puede crear una lógica "ternaria" como en el siguiente paper se explica: "Fundamentals of Ternary Logic". También se puede operar matemáticamente en un sistema ternario.

¿Por qué nadie siguió ese camino?

La aparición del transistor y posteriormente los circuitos integrados que funcionan de forma óptima con lógica binaria revolucionó la informática. Se pudieron construir más y mejores computadoras con menor costo de fabricación, menor consumo y más fiabilidad.

Los circuitos electrónicos utilizan un determinado voltaje para operar. Ese voltaje se tiene que dividir entre los posibles valores a representar. Cuantos más símbolos diferentes se quieran almacenar más se tendrá que partir el intervalo. Por ejemplo si voy a utilizar valores entre 0 y 5v puedo representar 2 símbolos como 0 y 5 respectivamente. Si tengo 3 símbolos 0, 2.5 y 5. Con 6 símbolos será 0, 1, 2, 3, 4 y 5. Es decir que cuantos más símbolos tenga, menores serán los rangos de representación. Hay que tener en cuenta que por cuestiones térmicas, de fluctuaciones eléctricas, de imperfecciones  de los materiales e interferencia de otros componentes un valor puede modificarse. Y cuanto más valores y menor el rango hay más posibilidad de errores.

La miniaturalizacion de los componentes electrónicos hacen que para disipar el calor se utilice menos voltaje y al estar todo cada vez más apretado sea más permeable la señal eléctrica a las fluctuaciones del ambiente.

La fiabilidad y sencillez de los circuitos biestables y la constante miniaturalizacion hacen por lo tanto la elección binaria la elección correcta para esta época. No obstante nada indica que esto no pueda cambiar.

Será la computación cuántica la responsable?

Comentarios

  1. Este blog ha sido eliminado por un administrador de blog.

    ResponderBorrar
  2. 1) El código binario es el idioma de las computadoras, está formado por ceros y unos , unos y ceros , tiene dos interruptores : apagado y prendido , nos habla dos científicos de las tarjetas perforadas que utilizan el código binario por lo que contienen más información.
    2)Los circuitos electrónicos utilizan un determinado voltaje para operar. Ese voltaje se tiene que dividir entre los posibles valores a representar. Cuantos más símbolos diferentes se quieran almacenar más se tendrá que partir el intervalo. Por ejemplo si voy a utilizar valores entre 0 y 5v puedo representar 2 símbolos como 0 y 5 respectivamente. Si tengo 3 símbolos 0, 2.5 y 5. Con 6 símbolos será 0, 1, 2, 3, 4 y 5. Es decir que cuantos más símbolos tenga, menores serán los rangos de representación.
    3) el computador no va a desaparecer de la cotidianidad de las personas. Pero si será más pequeño y poco perceptible. Ya no lo vamos a distinguir Como un aparato , sino más bien Como una parte integral de nuestra existencia, yo digo que las computadoras van a hacer más avanzadas con más tecnología y van a ser prácticamente nuestro reflejo.
    Brenda Martínez 9-5

    ResponderBorrar

Publicar un comentario