stringtranslate.com

Motor analítico

Parte de la máquina calculadora con mecanismo de impresión del motor analítico, construida por Charles Babbage, tal como se exhibe en el Museo de la Ciencia (Londres) [1]

La máquina analítica fue una propuesta de computadora mecánica digital de propósito general diseñada por el matemático y pionero de la informática inglés Charles Babbage . [2] [3] Fue descrita por primera vez en 1837 como la sucesora de la máquina 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 ramificaciones condicionales y bucles , 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

Dos tipos de tarjetas perforadas utilizadas para programar la máquina. En primer plano: 'tarjetas operativas', para introducir instrucciones ; en segundo plano: 'tarjetas variables', para introducir datos

El primer intento de Babbage de crear un dispositivo de computación mecánica, la máquina 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 de aproximación . 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ó su 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: la máquina analítica. [9] El trabajo sobre el diseño de la máquina analítica comenzó alrededor de 1833. [12] [4]

La entrada, que consistía en programas ("fórmulas") y datos, [13] [9] debía proporcionarse a la máquina a través de tarjetas perforadas , un 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 existir un almacén (es decir, una memoria) capaz de almacenar 1.000 números de 40 dígitos decimales [15] cada uno (aproximadamente 16,6  kB ). Una unidad aritmética (el "molino") sería capaz de realizar las cuatro operaciones aritméticas , además de comparaciones y opcionalmente raíces cuadradas . [16] Inicialmente (1838) fue concebido como una máquina diferencial curvada sobre sí misma, en un diseño generalmente circular, con el largo almacén saliendo hacia un lado. [17] Dibujos posteriores (1858) representan un diseño de cuadrícula regularizada. [18] [19] Al igual que la unidad central de procesamiento (CPU) en una computadora moderna, el molino dependería de sus propios procedimientos internos, aproximadamente equivalentes al microcódigo en las CPU modernas, que se almacenarían en forma de clavijas insertadas en tambores giratorios llamados "barriles", para llevar a cabo algunas de las instrucciones más complejas que el programa del usuario pudiera especificar. [7]

El lenguaje de programación que emplearían los usuarios era similar a los lenguajes ensambladores modernos . Eran posibles los bucles y las ramificaciones condicionales, por lo que el lenguaje tal como se concibió habría sido Turing-completo, tal como lo definió más tarde Alan Turing . Se utilizaban 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 desde el almacenamiento 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] [20] Estos programas tratan polinomios, fórmulas iterativas, eliminación gaussiana y números de Bernoulli . [14] [21]

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

Construcción

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

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 su construcción y no estaba seguro de si la máquina funcionaría correctamente una vez construida. [25] [26]

El molino de bolas analítico de Henry Babbage , construido en 1910, [27] en el Museo de la Ciencia (Londres)

De manera intermitente, entre 1880 y 1910, [28] el hijo de Babbage, Henry Prevost Babbage, construyó una parte del molino y del aparato de impresión. En 1910, fue capaz de calcular una lista (errónea) de múltiplos de pi . [29] Esto constituía solo 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, lo que implica que era el molino entero o incluso el motor entero). El "molino de motor analítico" de Henry Babbage está en exhibición en el Museo de Ciencias de Londres. [27] Henry también propuso construir una versión de demostración del motor completo, con una capacidad de almacenamiento más pequeña: "quizás para una primera máquina diez (columnas) serían suficientes, con quince ruedas en cada una". [30] Una versión así 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 todavía podría ser impresionante. "Es sólo una cuestión de cartas y tiempo", escribió Henry Babbage en 1888, "... y no hay ninguna razón por la que no se deban utilizar (veinte mil) cartas, si es necesario, en una máquina analítica para los fines del matemático". [30]

En 1991, el Museo de Ciencias de Londres construyó un ejemplar completo y funcional de la máquina diferencial nº 2 de Babbage , un diseño que incorporaba mejoras que Babbage descubrió durante el desarrollo de la máquina analítica. [5] Esta máquina se construyó utilizando materiales y tolerancias de ingeniería que habrían estado disponibles para Babbage, lo que desmintió la sugerencia de que los diseños de Babbage no podrían haberse producido utilizando la tecnología de fabricación de su época. [31]

En octubre de 2010, John Graham-Cumming inició una campaña llamada "Plan 28" para recaudar fondos mediante "suscripción pública" para permitir un estudio académico e histórico serio de los planes de Babbage, con vistas a construir y probar un diseño virtual completamente funcional que, a su vez, permitiría la construcción del motor analítico físico. [32] [33] [34] 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. [35] En 2017, el esfuerzo del "Plan 28" informó que estaba disponible una base de datos de búsqueda de todo el material catalogado y se había completado una revisión inicial de los voluminosos Scribbling Books de Babbage. [36]

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

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, al estilo 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 pocas indicaciones sobre cómo se guiaría el flujo de control.

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

...las tarjetas podrían ordenarse para avanzar y retroceder (y por lo tanto, para que formaran un bucle)... [14]

La introducción por primera vez, en 1845, de operaciones de usuario para una variedad de funciones de servicio, incluyendo, lo más importante, un sistema eficaz para el control por parte del usuario de los bucles en los programas de usuario. No hay ninguna indicación de cómo se especifica la dirección de giro de las tarjetas de operación y variable. En ausencia de otra evidencia, he tenido que adoptar la suposición mínima predeterminada de que tanto las tarjetas de operación como las de variable solo se pueden girar 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. [38]

En su emulador del motor, Fourmilab dice:

El lector de tarjetas del molino no se limita a procesar las tarjetas en cadena una tras otra desde el principio hasta el final. Además, puede, guiado por las propias tarjetas que lee y avisado por si la palanca de aceleración del molino está activada, hacer avanzar la cadena de tarjetas hacia adelante, saltándose las tarjetas intermedias, o hacia atrás, haciendo que las tarjetas leídas anteriormente se procesen nuevamente.

Este emulador proporciona un conjunto de instrucciones simbólicas escritas, aunque estas fueron creadas por sus autores en lugar de basarse en los trabajos originales de Babbage. Por ejemplo, un programa factorial se escribiría de la siguiente manera:

N° 6N1 1N2 1×L1L0S1L0L2Asi queL2L0¿CB?11

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

Influencia

Influencia prevista

Babbage comprendió que la existencia de una computadora automática despertaría el interés en el campo ahora conocido como eficiencia algorítmica , y escribió en sus Pasajes de la vida de un filósofo : "En cuanto exista una máquina analítica, ésta guiará necesariamente el curso futuro de la ciencia. 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 esos resultados en el menor tiempo posible ?" [39]

Ciencias de la Computación

A partir de 1872, Henry continuó diligentemente con el trabajo de su padre y luego se retiró de manera intermitente en 1875. [40]

Percy Ludgate escribió sobre el motor en 1914 [41] y publicó su propio diseño para un motor analítico en 1909. [42] [43] Fue elaborado en detalle, pero nunca construido, y los dibujos nunca han sido encontrados. 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 de 2 pies (61 cm) de lado) que el de Babbage, e hipotéticamente sería capaz de multiplicar dos números de 20 dígitos decimales en aproximadamente seis segundos. [44]

En su obra Ensayos sobre la automática (1914), Leonardo Torres Quevedo , inspirado por Babbage, diseñó una máquina calculadora electromecánica teórica que debía ser controlada por un programa de sólo lectura. El trabajo también contiene la idea de la aritmética de punto flotante . [45] [46] [47] 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 podían escribir órdenes y los resultados se imprimían automáticamente. [48] [49]

El artículo de Vannevar Bush Instrumental Analysis (1936) incluía varias referencias al trabajo de Babbage. Ese mismo año, inició el proyecto Rapid Arithmetical Machine para investigar los problemas de construcción de una computadora digital electrónica. [50]

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

Comparación con otros ordenadores antiguos

Si se hubiera construido la máquina analítica, habría sido digital , programable y Turing-completa . Sin embargo, habría sido muy lenta. Luigi Federico Menabrea informó en Sketch of the Analytical Engine : "El Sr. 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". [54] En comparación, el Harvard Mark I podría realizar la misma tarea en solo seis segundos (aunque es discutible que la computadora sea Turing-completa; el ENIAC, que lo es, también habría sido más rápido). Una CPU moderna podría hacer lo mismo en menos de una milmillonésima de segundo.

En la cultura popular

Referencias

  1. ^ ab «Babbage's Analytical Machine, 1834–1871. (Trial model)». Museo de la Ciencia . Consultado el 23 de agosto de 2017 .
  2. ^ Graham-Cumming, John (4 de octubre de 2010). "El salto de 100 años". O'Reilly Radar . Consultado el 1 de agosto de 2012 .
  3. ^ abc "La máquina Babbage: Los motores". Museo de Historia de la Computación . 2016. Consultado el 7 de mayo de 2016 .
  4. ^ desde Bromley 1982, pág. 196.
  5. ^ ab "Babbage". Material en línea . Museo de la Ciencia. 19 de enero de 2007. Consultado el 1 de agosto de 2012 .
  6. ^ "Construyamos la computadora mecánica definitiva de Babbage". Opinión. New Scientist . 23 de diciembre de 2010. Consultado el 1 de agosto de 2012 .
  7. ^ abc Robinson, Tim (28 de mayo de 2007). «Difference Engines – Analytical Engine». Meccano.us. Archivado desde el original el 5 de octubre de 2020. Consultado el 1 de agosto de 2012 .
  8. ^ Weber, Alan S (10 de marzo de 2000). La ciencia del siglo XIX, una antología. Broadview Press. ISBN 9781551111650. Recuperado el 1 de agosto de 2012 .
  9. ^ abcde Collier 1970, pág. capítulo 3.
  10. ^ Lee, John An (1995). Diccionario biográfico internacional de pioneros informáticos. Taylor & Francis. ISBN 9781884964473. Recuperado el 1 de agosto de 2012 .
  11. ^ Balchin, Jon (2003). Ciencia: 100 científicos que cambiaron el mundo . Enchanted Lion Books. pág. 105. ISBN 9781592700172. Recuperado el 1 de agosto de 2012 .
  12. ^ Dubbey, JM; Dubbey, John Michael (12 de febrero de 2004). La obra matemática de Charles Babbage. Cambridge University Press. pág. 197. ISBN 9780521524766.
  13. ^ ab Menabrea y Lovelace 1843.
  14. ^ abcd Bromley 1982, pág. 215.
  15. ^ Bromley 1982, pág. 198.
  16. ^ Bromley 1982, pág. 211.
  17. ^ Bromley 1982, pág. 209.
  18. ^ "La máquina analítica de Babbage: la primera computadora verdaderamente digital". La máquina analítica . Archivado desde el original el 21 de agosto de 2008. Consultado el 21 de agosto de 2008 .
  19. ^ "Las páginas de Babbage: máquinas de cálculo". Projects.exeter.ac.uk. 8 de enero de 1997. Archivado desde el original el 12 de marzo de 2008. Consultado el 23 de abril de 2024 .
  20. ^ Bromley 1990, pág. 89.
  21. ^ Bromley 2000, pág. 11.
  22. ^ 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.
  23. ^ Sterling, Bruce (14 de mayo de 2017). «Charles Babbage dejó un programa de ordenador en Turín en 1840. Aquí está». Wired . ISSN  1059-1028 . Consultado el 10 de junio de 2021 .
  24. ^ Avisos mensuales de la Royal Astronomical Society. Priestley y Weale. 1910. pág. 517.
  25. ^ 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 .
  26. ^ "La máquina analítica (informe de 1879)". Fourmilab.ch . Consultado el 20 de diciembre de 2015 .
  27. ^ ab "Molino de motor analítico de Henry Babbage, 1910". Museo de la Ciencia. 16 de enero de 2007. Consultado el 1 de agosto de 2012 .
  28. ^ Gran Bretaña), Instituto de Actuarios (Gran Bretaña (1950). Actas de la asamblea del centenario del Instituto de Actuarios. Impreso para el Instituto de Actuarios en la University Press. p. 178.
  29. ^ Randell, Brian (21 de diciembre de 2013). "2.3. La máquina analítica de Babbage. HP Babbage (1910)". Los orígenes de las computadoras digitales: artículos seleccionados . Springer. ISBN 9783642618123.
  30. ^ ab "La máquina analítica (Henry P. Babbage 1888)". Fourmilab.ch . Consultado el 1 de agosto de 2012 .
  31. ^ "Una secuela moderna: el motor Babbage". Museo de Historia de la Computación . Consultado el 1 de agosto de 2012 .
  32. ^ "Se desarrolla una campaña para construir la máquina analítica de Babbage". BBC News . 14 de octubre de 2010.
  33. ^ "Construcción de la máquina analítica de Charles Babbage". Plan 28. 27 de julio de 2009. Consultado el 1 de agosto de 2012 .
  34. ^ Markoff, John (7 de noviembre de 2011). "It Started Digital Wheels Turning". The New York Times . ISSN  0362-4331. Archivado desde el original el 1 de enero de 2022. Consultado el 10 de junio de 2021 .
  35. ^ "Informe de primavera de 2016 a la Computer Conservation Society". Plan 28. Consultado el 29 de octubre de 2016 .
  36. ^ "Informe de primavera de 2017 a la Computer Conservation Society". blog.plan28.org . Consultado el 13 de junio de 2017 .
  37. ^ "Los papeles de Babbage". Science Museum Group . 1821–1905. Archivado desde el original el 13 de abril de 2020.
  38. ^ Bromley 2000.
  39. ^ Babbage 1864, pág. 137.
  40. ^ "La máquina Babbage: personajes 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 .
  41. ^ Horsburg, EM (Ellice Martin); Exposición del Tricentenario de Napier (1914). "Máquinas de cálculo 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.
  42. ^ Ludgate, Percy E. (abril de 1909). "Sobre una máquina analítica propuesta". 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.
  43. ^ "La 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 .
  44. ^ Randell 1982, págs. 4-5.
  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. ^ Ronald T. Kneusel. Números y computadoras, Springer, págs. 84-85, 2017. ISBN 978-3319505084 
  48. ^ Randell 1982, pág. 6, 11–13.
  49. ^ Bromley 1990.
  50. ^ "La máquina analítica de Percy Ludgate". fano.co.uk . From Analytical Machine to Electronic Digital Computer: The Contributions of Ludgate, Torres, and Bush por Brian Randell, 1982, Ludgate: pp. 4–5, Quevedo: pp. 6, 11–13, Bush: pp. 13, 16–17 . Consultado el 29 de octubre de 2018 .
  51. ^Por Cohen 2000.
  52. ^ "Entrevista a J. Presper Eckert del 28 de octubre de 1977". Archivado desde el original el 24 de julio de 2010. Consultado el 9 de febrero de 2011 .
  53. ^ "Computer Oral History Collection, 1969–1973, 1977" (PDF) . Archivado desde el original (PDF) el 11 de noviembre de 2010. Consultado el 9 de febrero de 2011 .
  54. ^ Menabrea y Lovelace 1843, pag. 688.
  55. ^ "La computadora Mark I". Colección de instrumentos científicos históricos . Universidad de Harvard . Archivado desde el original el 10 de julio de 2015. Consultado el 7 de mayo de 2016 .
  56. ^ Wells, Benjamin (18 de noviembre de 2010). "Desenrollando el rendimiento y la potencia en Colossus, un ordenador no convencional". Natural Computing . 10 (4). Springer Science and Business Media LLC: 1383–1405. doi :10.1007/s11047-010-9225-x. ISSN  1567-7818. S2CID  7492074.
  57. ^ "Konrad Zuse: el primer ordenador de retransmisión". Historia de las computadoras . Consultado el 7 de mayo de 2016 .
  58. ^ "La máquina experimental a 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 .
  59. ^ Nimersheim, Jack (1995). "Moriarty por módem". Sherlock Holmes en órbita . DAW Books . págs. 287–302. ISBN 9780886776367Archivado desde el original el 20 de junio de 2003 . Consultado el 11 de noviembre de 2023 .
  60. ^ "Experimentos peligrosos en el cómic". 2D Goggles . Consultado el 1 de agosto de 2012 .
  61. ^ "Experimentos en cómics con Sydney Padua". Tor.com. 26 de octubre de 2009. Consultado el 1 de agosto de 2012 .
  62. ^ "El cliente | Gafas 2D". Sydneypadua.com . Consultado el 1 de agosto de 2012 .
  63. ^ "Machina Babbagenseii". El brazo de Orión . 2014. Consultado el 7 de mayo de 2016 .

Bibliografía

Enlaces externos