NELINTRE
Divulgación

La máquina analítica: un ordenador ‘steampunk’ en la Inglaterra victoriana

Ante la pregunta de «¿en qué época se podría situar el nacimiento de la informática?», la mayoría de la gente, probablemente, pensaría en los primeros ordenadores personales allá por los años setenta del siglo pasado. Otros, menos en número, se decantarían por los enormes computadores de cinta usados por las empresas en los años cincuenta, que ocupaban salas enteras. Incluso, habría quien se iría más atrás aún en el tiempo, llegando a la Segunda Guerra Mundial y las mastodónticas computadoras utilizadas para ayudar en el esfuerzo bélico de las grandes potencias implicadas en la contienda.

Todas y cada una de estas respuestas podrían ser válidas a su manera, pues en cada una de estas épocas se produjeron puntos de inflexión que marcarían el devenir de la ciencia computacional. Pero, ¿dónde situar el origen? Se puede afirmar que la semilla original la sembraron dos visionarios ingleses, Charles Babbage y Ada King, en la primera mitad del siglo XIX. Él diseñó la enorme máquina mecánica que funcionaría con un motor de vapor. Ella creó el lenguaje para su programación. Inglaterra, época victoriana, mecanismos de vapor, computadoras… No, no es una historia steampunk, son los orígenes de la informática.

El diseño de la máquina analítica

Maquina analitica 01

En la primera mitad del siglo XIX, el matemático y científico inglés Charles Babbage (1791 – 1871) comenzó a trabajar en la idea de una máquina capaz de realizar complejos cálculos matemáticos. En 1822 empezó a diseñar y construir la máquina diferencial, cuyo propósito sería el de calcular tablas logarítmicas y funciones polinómicas. Babbage trabajó en ella durante los siguientes once años y, aunque nunca llegó a realizar el diseño completo de la misma, su labor sentó las bases para el futuro desarrollo del verdadero hito de la historia de la informática: la máquina analítica.

Charles BabbageLa idea de Charles Babbage fue brillante. Si podía diseñar una máquina que realizase cálculos complejos con funciones polinómicas, ¿por qué no una de propósito general que no tuviera un uso concreto predeterminado y, de ese modo, sirviese para realizar tareas muy diversas? Y así comenzó, en 1834, a trabajar en el proyecto de la máquina analítica, con la ambición de lograr que fuese capaz de evaluar y realizar cualquier tipo de cálculo matemático o fórmula, con la intención de que se pudiese utilizar con distintas finalidades.

La máquina analítica sería un enorme ingenio de unos cuatro metros y medio de alto por nueve de ancho, comparable al tamaño de una pequeña locomotora, y estaría construida principalmente de hierro y latón, utilizando vapor para ser accionada. Respecto a su arquitectura, se podría dividir en cuatro partes bien diferenciadas: the mill, the store y los dispositivos de entrada/salida.

The mill, o unidad central de proceso (en términos actuales), se encargaba de dos tareas bien diferenciadas. Por un lado, llevaba a cabo las operaciones introducidas mediante las tarjetas perforadas. Por otro, debía controlar que los procedimientos se realizaban en el orden indicado en la entrada. Curiosamente, basándose en las notas sobre esta primitiva CPU, este ingenio mecánico sería capaz de controlar el flujo de sus programas con conceptos que se manejan en la actualidad como bucles, condiciones o iteraciones. Es importante destacar también que la CPU de esta máquina trabaja de forma decimal y realizaba las cuatro operaciones aritméticas (suma, resta, multiplicación y división).

The store, o la memoria del sistema, contaba con un millar de columnas, con cuatro decenas de cilindros en cada una, capaces de almacenar mil números de hasta cuarenta cifras cada uno (cada columna representaba un número y cada rueda un dígito de la cifra correspondiente a la misma).

Diagrama BernoulliPor último, en los dispositivos E/S, la entrada utilizaría tarjetas perforadas que se subdividían en dos tipos distintos, una para los datos y otra para las instrucciones. Por su parte, la salida también se separaría de dos formas diferentes: por un lado la máquina analítica devolvería tarjetas perforadas para su reutilización posterior; por otro, contaba también con una primitiva impresora capaz de dibujar los resultados.

Pero no solo hay que destacar la figura de Charles Babbage en el diseño de la computadora, dado que esta no constaba solamente de una parte física, sino que debía tener también un software. Y es en este apartado donde aparece otra figura notablemente ligada a la máquina analítica, la matemática y escritora británica Ada Lovelace.

Augusta Ada Byron (1815-1852), condesa de Lovelace, era el verdadero nombre de Ada King, hija del conocido poeta Lord Byron. Ella describiría un lenguaje de programación interpretando las ideas que Charles Babbage tenía y trabajando junto a él. Ada Lovelace crearía el primer programa informático para la máquina analítica en 1843. Un algoritmo con dos bucles capaz de calcular los números de Bernoulli. Y es esto lo que hace que, en la actualidad, esta visionaria de la computación sea considerada como la primera programadora de la historia.

La máquina analítica es un computador

Arquitecturas informaticas

El diseño de la máquina analítica era complejo y asombrosamente parecido en su arquitectura al que hoy tiene un ordenador de propósito general. Por ello, podría otorgársele a Charles Babbage el mérito de ser el diseñador del primer computador.

Los ordenadores modernos utilizan una arquitectura híbrida, en las arquitecturas Harvard en el primer nivel de memoria (caché nivel 1) y Von Neumann en los niveles más altos (cachés de niveles 2 y 3). Ambas, aunque distintas en su interconexión y en la subdivisión de la memoria de datos en instrucciones que se aplica en la primera y no en la segunda, cuentan con los mismos elementos básicos: memoria, Unidad Central de Procesamiento o CPU (formada a su vez por la Unidad Aritmético-Lógica o ALU y por la Unidad de control) y, por último, la unidad de entrada salida.

Y es precisamente en su arquitectura donde los actuales ordenadores y la máquina analítica son equiparables. Esta contaba con su propia CPU (the mill), que diferenciaba entre la realización de operaciones, la misión de la unidad aritmético-lógica en la actualidad, y el control de procesos, hoy en día a cargo de la unidad de control. La memoria (the store) y las unidades de entrada y salida también están presentes tanto en la máquina como en los modernos computadores.

Además del diseño de su hardware, también el que fuese concebida como programable y de propósito general y que posteriormente se demostrase que su lenguaje era Turing-Completo (capaz de simular cualquier máquina de Turing) la acercan aún más a convertirse en un computador.

Por todo lo anterior, se puede concluir que el diseño de la máquina analítica es similar al de los actuales computadores, con la separación de la memoria y las unidades de proceso, el manejo del flujo de programas o los dispositivos de entrada/salida similares a los usados hoy en día.

La máquina analítica nunca se construyó

Plano Maquina Analitica

La creación de Babbage nunca fue construida por completo a pesar de que trabajaría en el proceso teórico de la misma hasta su muerte. A las dificultades de financiación, una vez que el gobierno británico dejó de invertir en el proyecto, se unieron los problemas derivados de la falta de desarrollo de los materiales en la época. Las piezas que formaban la máquina analítica no eran lo suficientemente precisas por el proceso de manufactura y, además, eran incapaces de aguantar sin deformarse por el uso. Ambos factores provocaron que la obra maestra del inglés nunca fuese finalizada. No obstante, lo que sí dejaría el matemático serían más de seis mil anotaciones, trescientas láminas de diseño de piezas y casi setecientas páginas con descripciones del funcionamiento de la programación, tales como diagramas de flujo, lógicos, de tiempo o de estados. Y todo este legado influiría decisivamente en el devenir futuro de la informática.

Gracias a toda la documentación conservada sobre este primer diseño de computadora, con el paso del tiempo se han llegado a construir dos mecanismos íntimamente relacionados con la máquina analítica. Una parte de la unidad central de proceso, junto con el sistema de impresión del diseño original, fue implementada en 1910 por su hijo, Henry P. Babbage. El artefacto resultante se usó para calcular una lista de múltiplos del número PI que, aunque con algunos errores, dio en su mayoría resultados positivos.

Maquina de Babbage construidaPor otro lado, el Museo de la Ciencia de Londres, lugar en el que se recoge hoy en día toda la documentación producida por Charles Babbage, completó en 1991 la máquina diferencial N.º 2. Todo ello fue posible gracias a la incorporación de mejoras en la primera máquina diferencial, derivadas de forma directa del desarrollo de la analítica. Con el mastodóntico proyecto que comenzó en el año 1985 y finalizó en el 2000, se pudo demostrar que tanto la máquina diferencial de Babbage como el sistema de impresión funcionaban correctamente. El resultado final fue un artefacto de más de cuatro mil piezas perfectamente ensambladas según los planos de su creador y un peso final de unas cinco toneladas y media.

Sin embargo, lo que hace verdaderamente importante la máquina analítica es hasta qué punto su diseño se adelantó a su tiempo. Hay que destacar que los primeros atisbos de computadores similares a lo propuesto por Charles Babbage no llegarían hasta los años treinta y cuarenta del pasado siglo XX. En los años previos a la Segunda Guerra Mundial y, especialmente durante la misma, llegaría la verdadera explosión de la informática.

Genios como Alan Turing, John Von Neumann, John P. Eckert, John W. Mauchly o Grace Murray Hopper en el bando aliado, o Konrad Zuse en el eje trabajarían en el desarrollo de enormes computadores de cálculo similares en muchas cosas a la máquina analítica y a su sistemas de programación, aunque muy diferentes en otras como el uso de la electricidad o la realización de cálculos en binario. El avance tecnológico permitió que estos, a diferencia de lo ocurrido cien años antes, sí se pudiesen construir.

Es por tanto de justicia reconocer que tanto  Charles Babbage como Ada Lovelace diseñaron el hardware y el software de lo que podría calificarse como el primer ordenador, aunque nunca entrase en funcionamiento, y afirmar que se adelantaron a la historia en, aproximadamente, un siglo. Por ello, es de recibo considerarlos como los padres de la informática y darles, al menos, una parte del mérito de la que hoy es una de las ciencias que domina el mundo: la de la computación.

Publicaciones relacionadas

Un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba