¿Cómo se puede convertir un chorro de agua en un 0 o un 1? Para un ingeniero informático no hay nada imposible (o casi), y aquí tenemos una buena prueba.
¿Tiene sentido un ordenador que funciona con agua? Desde un punto de vista práctico, no. Funcionar funciona, como vamos a ver. Pero es más lento que los primeros ordenadores que se inventaron hace ya casi un siglo. Para sumar 4 cifras tarda varios segundos. Aunque lo interesante aquí no es el rendimiento, sino el uso del agua para contar bits.
Un ordenador está formado por docenas de miles de millones de transistores, que pueden registrar un 0 o un 1, según el paso de la electricidad.
La forma más sencilla de usar un ordenador es crear puertas lógicas que permiten hacer operaciones matemáticas con los bits. Y es lo que ha hecho el youtuber Steve Mould: diseñar un ordenador con puertas lógicas para sumar 4 cifras. Pero en lugar de utilizar electricidad y transistores, emplea agua y… sifones. Puedes verlo en este vídeo:
Para entender cómo funciona, hay que repasar los conocimientos básicos de informática.
Todo el mundo sabe que los ordenadores funcionan con ceros y unos, pero lo que ya no es tan conocido es que la mayor parte de las instrucciones requieren alguna operación matemática: sumar, restar, multiplicar, etc.
Estas operaciones básicas se programan usando puertas lógicas. Que no es más que un circuito en donde entran dos bits, y solo sale uno.
En la puerta lógica AND solo sale un 1 si la entrada A y la entrada B son un 1. En caso contrario, sale un 0. Por ejemplo, si a la puerta AND llegan 1 y 0, sale un 0. Si llega 0 y 1, también sale un 0. Si llegan 1 y 1, sale un 1.
Existen muchos tipos de puertas lógicas. Otra que nos interesa es XOR, también llamanda OR exclusivo. Aquí solo sale un 1 si la entrada A o la entrada B son un 1. En cualquier otro caso, sale un 0. Por ejemplo si llegan 1 y 0 sale un 1, pero si llegan 0 y 0, o 1 y 1, sale un 0.
¿Por qué estamos explicando todo esto? Porque para sumar bits, se usan puertas lógicas XOR y AND. Las puertas XOR para sumar, y las puertas AND cuando te llevas una (el acarreo).
Cuando en código decimal, el que usamos los humanos, sumamos dos números grandes a mano, sin calculadora, si la suma de dos cifras supera 10, nos llevamos una. Es decir, si sumas 5+4 la cifra es 9, pero si sumamos 5+7=12, colocamos un 2 y nos llevamos un 1 a la siguiente suma. Es lo que se llama acarreo.
En código binario es igual: 1+0 =1 y 0+1=1, pero 1+1=10, así que colocamos un 0 y unos llevamos 1.
Para sumar en binario, se usan puertas XOR para sumar y puertas AND para el acarreo, y se necesita una combinación de ambas por cada cifra que se quiera sumar. Aquí podemos ver el esquema del ordenador de agua. Las puertas XOR en azul, las AND en marrón. Las jeringuillas llenas de líquido azul son un 1, y las vacías, un 0:
En el vídeo podemos ver que realmente funciona, porque introducen diferentes números en binario (jeringuillas llenas o vacías), y las sumas son correctas.
Un ordenador de este tipo da para algunos chistes. Aquí los desbordamientos de memoria son reales: el líquido se desborda en un desagüe. Y para resetear el ordenador y vaciar la memoria, hay que dar la vuelta la tablero y tirar todo el agua…
Como hemos explicado, desde un punto de vista práctico funciona, pero es muy lento. No intentes minar criptomonedas con él… Pero como experimento informático el ordenador de agua es divertido, curioso, y ayuda a entender los conceptos básicos de la informática.