stringtranslate.com

Motor analítico

Parte de la máquina calculadora con un mecanismo de impresión del motor analítico, construida por Charles Babbage, expuesta en el Museo de Ciencias (Londres) [1]

El motor analítico era una computadora mecánica digital de propósito general propuesta diseñada por el matemático y pionero de la informática inglés Charles Babbage . [2] [3] Fue descrito por primera vez en 1837 como el sucesor del motor diferencial de Babbage , que era un diseño para una calculadora mecánica más simple. [4]

El motor analítico incorporó una unidad lógica aritmética , flujo de control en forma de bifurcaciones y bucles condicionales y memoria integrada , lo que lo convirtió en el primer diseño de una computadora de propósito general que podría describirse en términos modernos como Turing completo . [5] [6] En otras palabras, la estructura del motor analítico era esencialmente la misma que ha dominado el diseño de computadoras en la era electrónica. [3] El motor analítico es uno de los logros más exitosos de Charles Babbage.

Babbage nunca pudo completar la construcción de ninguna de sus máquinas debido a conflictos con su ingeniero jefe y a una financiación inadecuada. [7] [8] No fue hasta 1941 que Konrad Zuse construyó la primera computadora de propósito general, Z3 , más de un siglo después de que Babbage propusiera el motor analítico pionero en 1837. [3]

Diseño

Se utilizan dos tipos de tarjetas perforadas para programar la máquina. Primer plano: 'tarjetas operativas', para ingresar instrucciones ; fondo: 'tarjetas variables', para ingresar datos

El primer intento de Babbage de crear un dispositivo informático mecánico, el motor diferencial , fue una máquina de propósito especial diseñada para tabular logaritmos y funciones trigonométricas mediante la evaluación de diferencias finitas para crear polinomios aproximados . La construcción de esta máquina nunca se completó; Babbage tuvo conflictos con su ingeniero jefe, Joseph Clement , y finalmente el gobierno británico retiró la financiación para el proyecto. [9] [10] [11]

Durante este proyecto, Babbage se dio cuenta de que era posible un diseño mucho más general, el motor analítico. [9] El trabajo sobre el diseño de la máquina analítica comenzó alrededor de 1833. [12] [4]

La entrada, que constaba de programas ("fórmulas") y datos, [13] [9] debía proporcionarse a la máquina mediante tarjetas perforadas , método que se utilizaba en ese momento para dirigir telares mecánicos como el telar Jacquard . [14] Para la salida, la máquina tendría una impresora, un trazador de curvas y una campana. [9] La máquina también podría perforar números en tarjetas para leerlos más tarde. Empleaba aritmética ordinaria de punto fijo de base 10 . [9]

Debía haber un almacén (es decir, una memoria) capaz de contener 1.000 números de 50 dígitos decimales [15] cada uno (aproximadamente 16,6 kB ). Una unidad aritmética (el "molino") podría realizar las cuatro operaciones aritméticas , además de comparaciones y, opcionalmente, raíces cuadradas . [16] Inicialmente (1838) se concibió como un motor diferenciado curvado hacia atrás sobre sí mismo, en un diseño generalmente circular, con la larga tienda saliendo hacia un lado. [17] Dibujos posteriores (1858) muestran un diseño de cuadrícula regularizado. [18] Al igual que la unidad central de procesamiento (CPU) de una computadora moderna, el molino dependería de sus propios procedimientos internos , que se almacenarían en forma de clavijas insertadas en tambores giratorios llamados "barriles", para llevar a cabo algunas de las tareas más importantes. instrucciones complejas que el programa del usuario puede especificar. [7]

El lenguaje de programación que utilizarían los usuarios era similar a los lenguajes ensambladores modernos . Los bucles y las ramificaciones condicionales eran posibles, por lo que el lenguaje tal como se concibió habría sido Turing completo , tal como lo definió más tarde Alan Turing . Se utilizaron tres tipos diferentes de tarjetas perforadas: una para operaciones aritméticas, otra para constantes numéricas y otra para operaciones de carga y almacenamiento, transfiriendo números del almacén a la unidad aritmética o viceversa. Había tres lectores separados para los tres tipos de tarjetas. Babbage desarrolló unas dos docenas de programas para la máquina analítica entre 1837 y 1840, y un programa más tarde. [14] [19] Estos programas tratan polinomios, fórmulas iterativas, eliminación gaussiana y números de Bernoulli . [14] [20]

En 1842, el matemático italiano Luigi Federico Menabrea publicó una descripción del motor en francés, [21] basada en las conferencias que Babbage dio cuando visitó Turín en 1840. [22] En 1843, la descripción fue traducida al inglés y Ada la anotó extensamente. Lovelace , que se había interesado por el motor ocho años antes. [13] En reconocimiento a sus adiciones al artículo de Menabrea, que incluían una forma de calcular los números de Bernoulli usando la máquina (ampliamente considerada como el primer programa de computadora completo), ha sido descrita como la primera programadora de computadoras .

Construcción

Al final de su vida, Babbage buscó formas de construir una versión simplificada de la máquina y ensambló una pequeña parte antes de su muerte en 1871. [1] [7] [23]

En 1878, un comité de la Asociación Británica para el Avance de la Ciencia describió la máquina analítica como "una maravilla de ingenio mecánico", pero recomendó no construirla. El comité reconoció la utilidad y el valor de la máquina, pero no pudo estimar el costo de construirla y no estaba seguro de si la máquina funcionaría correctamente después de ser construida. [24] [25]

Molino de motores analíticos de Henry Babbage , construido en 1910, [26] en el Museo de Ciencias (Londres)

De forma intermitente desde 1880 hasta 1910, [27] el hijo de Babbage, Henry Prevost Babbage, estuvo construyendo una parte de la fábrica y el aparato de impresión. En 1910, pudo calcular una lista (defectuosa) de múltiplos de pi . [28] Esto constituía sólo una pequeña parte de todo el motor; No era programable y no tenía almacenamiento. (Las imágenes populares de esta sección a veces han sido mal etiquetadas, dando a entender que se trataba del molino completo o incluso del motor completo). El "molino de motores analíticos" de Henry Babbage se exhibe en el Museo de Ciencias de Londres. [26] Henry también propuso construir una versión de demostración del motor completo, con una capacidad de almacenamiento menor: "quizás para una primera máquina diez (columnas) bastarían, con quince ruedas en cada una". [29] Una versión de este tipo podría manipular 20 números de 25 dígitos cada uno, y lo que se le podría decir que hiciera con esos números aún podría ser impresionante. "Es sólo una cuestión de tarjetas y de tiempo", escribió Henry Babbage en 1888, "... y no hay ninguna razón por la que (veinte mil) tarjetas no deban usarse, si es necesario, en una máquina analítica para los propósitos del matemático. ". [29]

En 1991, el Museo de Ciencias de Londres construyó un ejemplar completo y funcional del motor diferencial nº 2 de Babbage , un diseño que incorporaba refinamientos que Babbage descubrió durante el desarrollo del motor analítico. [5] Esta máquina fue construida utilizando materiales y tolerancias de ingeniería que habrían estado disponibles para Babbage, sofocando la sugerencia de que los diseños de Babbage no podrían haber sido producidos utilizando la tecnología de fabricación de su tiempo. [30]

En octubre de 2010, John Graham-Cumming inició una campaña del "Plan 28" para recaudar fondos mediante "suscripción pública" para permitir un estudio histórico y académico serio de los planes de Babbage, con miras a luego construir y probar un diseño virtual completamente funcional que luego a su vez permiten la construcción del motor analítico físico. [31] [32] [33] En mayo de 2016, no se había intentado la construcción real, ya que aún no se podía obtener una comprensión consistente de los dibujos de diseño originales de Babbage. En particular, no estaba claro si podría manejar las variables indexadas que se requerían para el programa Bernoulli de Lovelace. [34] En 2017, el esfuerzo "Plan 28" informó que estaba disponible una base de datos con capacidad de búsqueda de todo el material catalogado y que se había completado una revisión inicial de los voluminosos libros de garabatos de Babbage. [35]

Muchos de los dibujos originales de Babbage han sido digitalizados y están disponibles públicamente en línea. [36]

Conjunto de instrucciones

Diagrama en planta de la máquina analítica de 1840.

No se sabe que Babbage haya escrito un conjunto explícito de instrucciones para el motor a la manera de un manual de procesador moderno. En lugar de eso, mostró sus programas como listas de estados durante su ejecución, mostrando qué operador se ejecutaba en cada paso con poca indicación de cómo se guiaría el flujo de control.

Allan G. Bromley ha asumido que la baraja de cartas podría leerse hacia adelante y hacia atrás como una función de bifurcación condicional después de probar las condiciones, lo que haría que el motor Turing fuera completo:

...se podría ordenar a las tarjetas que avancen y retrocedan (y por lo tanto que formen un bucle)... [14]

La introducción por primera vez, en 1845, de operaciones de usuario para una variedad de funciones de servicio, incluido, lo más importante, un sistema eficaz para el control por parte del usuario del bucle en programas de usuario. No se indica cómo se especifica el sentido de giro de las tarjetas de operación y variables. En ausencia de otra evidencia, he tenido que adoptar la suposición mínima por defecto de que tanto las tarjetas de operación como las de variables sólo pueden girarse hacia atrás según sea necesario para implementar los bucles utilizados en los programas de muestra de Babbage. No habría ninguna dificultad mecánica o de microprogramación para poner la dirección del movimiento bajo el control del usuario. [37]

En su emulador del motor, Fourmilab dice:

El lector de tarjetas del motor no está obligado a procesar simplemente las tarjetas en cadena, una tras otra, de principio a fin. Además, puede, dirigido por las mismas cartas que lee y avisado por si la palanca de avance del Molino está activada, hacer avanzar la cadena de cartas hacia adelante, omitiendo las cartas intermedias, o hacia atrás, provocando que las cartas leídas previamente se procesen una vez. de nuevo.

Este emulador proporciona un conjunto de instrucciones simbólicas escritas, aunque ha sido construido por sus autores en lugar de basarse en las obras originales de Babbage. Por ejemplo, un programa factorial se escribiría como:

N0 6N1 1N2 1×L1L0T1L0L2S0L2L0CB?11

donde el CB es la instrucción de rama condicional o "tarjeta combinada" utilizada para hacer que el flujo de control salte, en este caso hacia atrás 11 tarjetas.

Influencia

Influencia prevista

Babbage entendió que la existencia de una computadora automática despertaría el interés en el campo ahora conocido como eficiencia algorítmica , escribiendo en sus Pasajes de la vida de un filósofo : "Tan pronto como exista una máquina analítica, necesariamente guiará el curso futuro de la humanidad". Siempre que se busque algún resultado con su ayuda, surgirá la pregunta: ¿mediante qué proceso de cálculo puede la máquina llegar a estos resultados en el menor tiempo ? [38]

Ciencias de la Computación

Desde 1872, Henry continuó diligentemente con el trabajo de su padre y luego, de forma intermitente, se jubiló en 1875. [39]

Percy Ludgate escribió sobre el motor en 1914 [40] y publicó su propio diseño para un motor analítico en 1909. [41] [42] Fue elaborado en detalle, pero nunca construido, y los dibujos nunca se han encontrado. El motor de Ludgate sería mucho más pequeño (alrededor de 8 pies cúbicos (230  L ), lo que corresponde a un cubo con una longitud de lado de 2 pies (61 cm)) que el de Babbage, e hipotéticamente sería capaz de multiplicar dos números de 20 dígitos decimales en aproximadamente seis. segundos. [43]

En su obra Ensayos sobre automática (1914) Leonardo Torres Quevedo , inspirado en Babbage, diseñó una máquina calculadora electromecánica teórica que debía ser controlada por un programa de sólo lectura. El artículo también contiene la idea de la aritmética de punto flotante . [44] [45] [46] En 1920, para celebrar el centenario de la invención del aritmómetro , Torres presentó en París el aritmómetro electromecánico , que consistía en una unidad aritmética conectada a una máquina de escribir (posiblemente remota), en la que se ordenaban se podía escribir y los resultados se imprimían automáticamente.[47] [48]

El artículo de Vannevar Bush Instrumental Analysis (1936) incluía varias referencias al trabajo de Babbage. Ese mismo año inició el proyecto Máquina aritmética rápida para investigar los problemas de construcción de una computadora digital electrónica. [49]

A pesar de este trabajo preliminar, el trabajo de Babbage cayó en la oscuridad histórica, y el motor analítico era desconocido para los constructores de máquinas informáticas electromecánicas y electrónicas en las décadas de 1930 y 1940 cuando comenzaron su trabajo, lo que generó la necesidad de reinventar muchas de las innovaciones arquitectónicas de Babbage. había propuesto. Howard Aiken , que construyó la calculadora electromecánica Harvard Mark I , que rápidamente quedó obsoleta, entre 1937 y 1945, elogió el trabajo de Babbage probablemente como una forma de mejorar su propia estatura, pero no sabía nada de la arquitectura del motor analítico durante la construcción de la Mark I. , y consideró su visita a la parte construida del motor analítico "la mayor decepción de mi vida". [50] El Mark I no mostró influencia del motor analítico y carecía de la característica arquitectónica más profética del motor analítico, la ramificación condicional . [50] J. Presper Eckert y John W. Mauchly tampoco conocían los detalles del trabajo del motor analítico de Babbage antes de completar su diseño para la primera computadora electrónica de propósito general, la ENIAC . [51] [52]

Comparación con otras computadoras antiguas

Si se hubiera construido el motor analítico, habría sido digital , programable y completo según Turing . Sin embargo, habría sido muy lento. Luigi Federico Menabrea informó en Sketch of the Analytical Engine : "El señor Babbage cree que puede, con su máquina, formar el producto de dos números, cada uno de los cuales contiene veinte cifras, en tres minutos". [53] En comparación, el Harvard Mark I podía realizar la misma tarea en sólo seis segundos. Una CPU moderna podría hacer lo mismo en menos de una milmillonésima de segundo.

En la cultura popular

Referencias

  1. ^ ab "Motor analítico de Babbage, 1834-1871. (Modelo de prueba)". Museo de Ciencia . Consultado el 23 de agosto de 2017 .
  2. ^ John Graham-Cumming (4 de octubre de 2010). "El salto de 100 años". Radar O'Reilly . Consultado el 1 de agosto de 2012 .
  3. ^ abc "La locomotora Babbage: las locomotoras". Museo de Historia de la Computación . 2016 . Consultado el 7 de mayo de 2016 .
  4. ^ ab Bromley 1982, pág. 196.
  5. ^ ab "Babbage". Cosas en línea . Museo de Ciencia. 19 de enero de 2007 . Consultado el 1 de agosto de 2012 .
  6. ^ "Construyamos la computadora mecánica definitiva de Babbage". opinión. Científico nuevo . 23 de diciembre de 2010 . Consultado el 1 de agosto de 2012 .
  7. ^ a b C Tim Robinson (28 de mayo de 2007). "Motores de diferencia". Meccano.us . Consultado el 1 de agosto de 2012 .
  8. ^ Weber, Alan S (10 de marzo de 2000). Ciencia del siglo XIX, una antología. Prensa Broadview. ISBN 9781551111650. Consultado el 1 de agosto de 2012 .
  9. ^ abcde Collier 1970, pag. Capítulo 3.
  10. ^ Lee, John An (1995). Diccionario biográfico internacional de pioneros de la informática. Taylor y Francisco. ISBN 9781884964473. Consultado el 1 de agosto de 2012 .
  11. ^ Balchin, Jon (2003). Ciencia: 100 científicos que cambiaron el mundo . Libros del león encantado. pag. 105.ISBN _ 9781592700172. Consultado el 1 de agosto de 2012 .
  12. ^ Dubbey, JM; Dubbey, John Michael (12 de febrero de 2004). El trabajo matemático de Charles Babbage. Prensa de la Universidad de Cambridge. pag. 197.ISBN _ 9780521524766.
  13. ^ ab Menabrea y Lovelace 1843.
  14. ^ abcd Bromley 1982, pag. 215.
  15. ^ Bromley 1982, pág. 198.
  16. ^ Bromley 1982, pág. 211.
  17. ^ Bromley 1982, pág. 209.
  18. ^ "Las páginas de Babbage: motores de cálculo". Proyectos.ex.ac.uk. 8 de enero de 1997 . Consultado el 1 de agosto de 2012 .
  19. ^ Bromley 1990, pag. 89.
  20. ^ Bromley 2000, pag. 11.
  21. ^ Menabrea, Sr. L.-F. (1842). "Nociones sobre la máquina analítica de M. Charles Babbage". Biblioteca universal de Ginebra . 41 : 352–376 - vía Bibnum.
  22. ^ Sterling, Bruce (14 de mayo de 2017). "Charles Babbage dejó un programa de ordenador en Turín en 1840. Aquí está". Cableado . ISSN  1059-1028 . Consultado el 10 de junio de 2021 .
  23. ^ Avisos mensuales de la Royal Astronomical Society. Priestley y Weale. 1910. pág. 517.
  24. ^ Informe de la cuadragésima octava reunión de la Asociación Británica para el Avance de la Ciencia (Informe). Londres: John Murray. 1879, págs. 92-102 . Consultado el 20 de diciembre de 2015 .
  25. ^ "El motor analítico (Informe 1879)". Fourmilab.ch . Consultado el 20 de diciembre de 2015 .
  26. ^ ab "Molino de motores analíticos de Henry Babbage, 1910". Museo de Ciencia. 16 de enero de 2007 . Consultado el 1 de agosto de 2012 .
  27. ^ Gran Bretaña), Instituto de Actuarios (Great (1950). Actas de la asamblea centenaria del Instituto de Actuarios. Impreso para el Instituto de Actuarios de University Press. P. 178.
  28. ^ Randell, Brian (21 de diciembre de 2013). "2.3. Motor analítico de Babbage. HP Babbage (1910)". Los orígenes de las computadoras digitales: artículos seleccionados . Saltador. ISBN 9783642618123.
  29. ^ ab "La máquina analítica (Henry P. Babbage 1888)". Fourmilab.ch . Consultado el 1 de agosto de 2012 .
  30. ^ "Una secuela moderna: el motor Babbage". Museo de Historia de la Computación . Consultado el 1 de agosto de 2012 .
  31. ^ "Se desarrolla una campaña para construir el motor analítico de Babbage". Noticias de la BBC . 14 de octubre de 2010.
  32. ^ "Construcción del motor analítico de Charles Babbage". Plan 28. 27 de julio de 2009 . Consultado el 1 de agosto de 2012 .
  33. ^ Markoff, John (7 de noviembre de 2011). "Empezó a girar las ruedas digitales". Los New York Times . ISSN  0362-4331. Archivado desde el original el 1 de enero de 2022 . Consultado el 10 de junio de 2021 .
  34. ^ "Informe de primavera de 2016 para la Computer Conservation Society". Plano 28 . Consultado el 29 de octubre de 2016 .
  35. ^ "Informe de primavera de 2017 para la Computer Conservation Society". blog.plan28.org . Consultado el 13 de junio de 2017 .
  36. ^ "Los documentos de Babbage". Grupo Museo de las Ciencias . 1821-1905. Archivado desde el original el 13 de abril de 2020.
  37. ^ Bromley 2000.
  38. ^ Babbage 1864, pag. 137.
  39. ^ "La locomotora Babbage - Personas clave - Henry Provost Babbage". Museo de Historia de la Computación. Archivado desde el original el 20 de febrero de 2011 . Consultado el 8 de febrero de 2011 .
  40. ^ Horsburg, EM (Ellice Martín); Exposición del Tricentenario de Napier (1914). "Máquinas calculadoras automáticas de PE Ludgate". Instrumentos y métodos de cálculo modernos: un manual de la exposición del tricentenario de Napier . Gerstein – Universidad de Toronto. Londres: G. Bell. págs. 124-127.
  41. ^ Ludgate, Percy E. (abril de 1909). "Sobre una propuesta de máquina analítica". Actas científicas de la Royal Dublin Society . 12 (9): 77–91. Disponible en línea en: Fano.co.UK Archivado el 7 de agosto de 2019 en Wayback Machine.
  42. ^ "Colección de informática de John Gabriel Byrne" (PDF) . Archivado desde el original el 16 de abril de 2019 . Consultado el 8 de agosto de 2019 .
  43. ^ Randell 1982, pag. 4–5.
  44. ^ L. Torres Quevedo. Ensayos sobre Automática – Su definición. Extensión teórica de sus aplicaciones, Revista de la Academia de Ciencias Exacta, Revista 12, págs. 391–418, 1914.
  45. ^ Torres Quevedo, Leonardo. Automática: Complemento de la Teoría de las Máquinas, (pdf), págs. 575–583, Revista de Obras Públicas, 19 de noviembre de 1914.
  46. ^ Torres Quevedo. L. (1915). "Essais sur l'Automatique – Sa définition. Etendue théorique de ses apps", Revue Génerale des Sciences Pures et Appliquées , vol. 2, págs. 601–611.
  47. ^ Randell 1982, pag. 6, 11-13.
  48. ^ Bromley 1990.
  49. ^ "La máquina analítica de Percy Ludgate". fano.co.uk. _ De la máquina analítica a la computadora digital electrónica: las contribuciones de Ludgate, Torres y Bush por Brian Randell, 1982, Ludgate: págs. 4–5, Quevedo: págs. 6, 11–13, Bush: págs. 13, 16–17 . Consultado el 29 de octubre de 2018 .
  50. ^ ab Cohen 2000.
  51. ^ "Entrevista a J. Presper Eckert 28 de octubre de 1977". Archivado desde el original el 24 de julio de 2010 . Consultado el 9 de febrero de 2011 .
  52. ^ "Colección de historia oral por computadora, 1969-1973, 1977" (PDF) . Archivado desde el original (PDF) el 11 de noviembre de 2010 . Consultado el 9 de febrero de 2011 .
  53. ^ Menabrea y Lovelace 1843, pag. 688.
  54. ^ "La computadora Mark I". Colección de Instrumentos Científicos Históricos . Universidad Harvard . Archivado desde el original el 10 de julio de 2015 . Consultado el 7 de mayo de 2016 .
  55. ^ "Konrad Zuse: la primera computadora de retransmisión". Historia de las Computadoras . Consultado el 7 de mayo de 2016 .
  56. ^ "La máquina experimental de pequeña escala de Manchester:" El bebé"". Departamento de Ciencias de la Computación, Universidad de Manchester . Abril de 1999 . Consultado el 7 de mayo de 2016 .
  57. ^ Nimersheim, Jack (1995). "Moriarty por módem". Sherlock Holmes en órbita . Libros DAW . págs. 287–302. ISBN 9780886776367. Archivado desde el original el 20 de junio de 2003 . Consultado el 11 de noviembre de 2023 .
  58. ^ "Experimentos peligrosos en los cómics". Gafas 2D . Consultado el 1 de agosto de 2012 .
  59. ^ "Experimentos en cómics con Sydney Padua". Tor.com. 26 de octubre de 2009 . Consultado el 1 de agosto de 2012 .
  60. ^ "El Cliente | Gafas 2D". Sydneypadua.com . Consultado el 1 de agosto de 2012 .
  61. ^ "Machina Babbagenseii". El brazo de Orión . 2014 . Consultado el 7 de mayo de 2016 .

Bibliografía

enlaces externos