Article de reference

Moteur analytique

Partie de la machine à calculer avec un mécanisme d'impression du moteur analytique, telle qu'exposée au Science Museum (Londres) Le langage de programmation utilisé par les uti...

Partie de la machine à calculer avec un mécanisme d'impression du moteur analytique, telle qu'exposée au Science Museum (Londres)

Le langage de programmation utilisé par les utilisateurs était similaire aux langages assembleur modernes . Les boucles et les instructions conditionnelles étaient possibles, et le langage, tel que conçu, aurait donc été Turing-complet, comme l'a défini plus tard Alan Turing . Trois types de cartes perforées étaient utilisés : l'une pour les opérations arithmétiques, l'autre pour les constantes numériques, et la dernière pour les opérations de chargement et de stockage, transférant les nombres de la carte de stockage vers l'unité arithmétique et inversement. Il y avait trois lecteurs distincts pour chaque type de carte. Babbage a développé une vingtaine de programmes pour la machine analytique entre 1837 et 1840, et un programme supplémentaire par la suite. Ces programmes traitent des polynômes, des formules itératives, de l'élimination de Gauss et des nombres de Bernoulli .

En 1842, le mathématicien italien Luigi Federico Menabrea publia en français une description de la machine , basée sur les conférences données par Babbage lors de sa visite à Turin en 1840 En 1843, cette description fut traduite en anglais et abondamment annotée par Ada Lovelace , qui s'était intéressée à la machine huit ans auparavant . En reconnaissance de ses ajouts à l'article de Menabrea, notamment une méthode de calcul des nombres de Bernoulli à l'aide de la machine (considérée comme le premier programme informatique complet), elle a été qualifiée par beaucoup de première programmeuse informatique , bien que cette affirmation soit contestée.

Construction

Vers la fin de sa vie, Babbage chercha des moyens de construire une version simplifiée de la machine et en assembla une petite partie avant sa mort en 1871.

En 1878, un comité de l' Association britannique pour l'avancement des sciences qualifia la machine analytique de « merveille d'ingéniosité mécanique », mais déconseilla sa construction. Le comité reconnut l'utilité et la valeur de la machine, mais ne put estimer son coût de construction et doutait de son bon fonctionnement une fois construite.

Le moulin à moteur analytique d' Henry Babbage , construit en 1910, au Science Museum (Londres)

De façon intermittente entre 1880 et 1910, Henry Prevost Babbage, fils de Babbage , construisait une partie du moulin et l'appareil d'impression. En 1910, il parvint à calculer une liste (erronée) de multiples de pi . Cela ne constituait qu'une petite partie de la machine complète ; elle n'était pas programmable et ne disposait d'aucune mémoire. (Les images populaires de cette section ont parfois été mal légendées, laissant entendre qu'il s'agissait du moulin entier, voire de la machine entière.) Le « moulin à machine analytique » d'Henry Babbage est exposé au Science Museum de Londres. Henry proposa également de construire une version de démonstration de la machine complète, avec une capacité de stockage réduite : « peut-être que pour une première machine, dix colonnes suffiraient, avec quinze roues dans chacune ». Une telle version pourrait manipuler 20 nombres de 25 chiffres chacun, et les calculs qu'elle pourrait effectuer avec ces nombres pourraient encore être impressionnants. « Ce n’est qu’une question de cartes et de temps », écrivait Henry Babbage en 1888, « ... et il n’y a aucune raison pour que (vingt mille) cartes ne soient pas utilisées si nécessaire, dans une machine analytique aux fins du mathématicien ».

En 1991, le Science Museum de Londres a construit un exemplaire complet et fonctionnel de la machine à différences n° 2 de Babbage , une conception intégrant les améliorations découvertes par Babbage lors du développement de la machine analytique. Cette machine a été construite avec des matériaux et des tolérances d’ingénierie disponibles à l’époque de Babbage, réfutant ainsi l’idée que ses conceptions n’auraient pas pu être réalisées avec les technologies de fabrication de son temps.

En octobre 2010, John Graham-Cumming a lancé la campagne « Plan 28 » afin de lever des fonds par souscription publique pour permettre une étude historique et académique approfondie des plans de Babbage, dans le but de construire et de tester un modèle virtuel pleinement fonctionnel qui, à son tour, permettrait la construction de la machine analytique physique. En mai 2016, aucune construction n'avait encore été entreprise, car aucune interprétation cohérente des plans originaux de Babbage n'avait pu être obtenue. En particulier, il était difficile de déterminer si le modèle pourrait gérer les variables indexées nécessaires au programme de Bernoulli de Lovelace. En 2017, le projet « Plan 28 » a annoncé la mise en ligne d'une base de données interrogeable de tous les documents catalogués et l'achèvement d'une première analyse des volumineux carnets de notes de Babbage.

De nombreux dessins originaux de Babbage ont été numérisés et sont accessibles au public en ligne.

Jeu d'instructions

Schéma du moteur analytique de 1840

On ne sait pas si Babbage a rédigé un manuel d'instructions détaillé pour le moteur, à la manière d'un manuel de processeur moderne. Il présentait plutôt ses programmes sous forme de listes d'états lors de leur exécution, indiquant quel opérateur était activé à chaque étape, sans guère d'indications sur la manière dont le flux de contrôle serait géré.

Allan G. Bromley a supposé que le jeu de cartes pouvait être lu dans les deux sens, en fonction d'un branchement conditionnel après vérification des conditions, ce qui rendrait le moteur Turing-complet :

...les cartes pourraient être ordonnées d'avancer et de reculer (et donc de boucler)...

L'introduction, en 1845, d'opérations utilisateur pour diverses fonctions de service, notamment un système efficace de contrôle des boucles dans les programmes utilisateur, constitue la première du genre. Aucune indication n'est donnée quant à la spécification du sens de rotation des cartes d'opération et de variable. Faute d'autres éléments, j'ai dû adopter l'hypothèse minimale par défaut selon laquelle ces cartes ne peuvent être tournées qu'en sens inverse, comme nécessaire à la mise en œuvre des boucles utilisées dans les exemples de programmes de Babbage. Placer le sens de rotation sous le contrôle de l'utilisateur ne présenterait aucune difficulté mécanique ou de microprogrammation.

Dans leur émulateur de moteur, Fourmilab indique :

Le lecteur de cartes du moteur ne se contente pas de traiter les cartes d'une chaîne l'une après l'autre, du début à la fin. Il peut également, guidé par les cartes qu'il lit et par l'état du levier de démarrage du moulin, faire avancer la chaîne en ignorant les cartes intermédiaires, ou la faire reculer en traitant à nouveau les cartes déjà lues.

Cet émulateur fournit un jeu d'instructions symboliques écrites, bien que celui-ci ait été conçu par ses auteurs et non basé sur les travaux originaux de Babbage. Par exemple, un programme de calcul de factorielle s'écrirait comme suit :

N° 6 N1 1 N2 1 × L1 L0 S1 – L0 L2 S0 L2 L0 CB?11

où CB est l'instruction de branchement conditionnel ou « carte de combinaison » utilisée pour faire sauter le flux de contrôle, dans ce cas en arrière de 11 cartes.

Influence

Influence prévue

Babbage comprenait que l’existence d’un ordinateur automatique susciterait un intérêt pour le domaine aujourd’hui connu sous le nom d’efficacité algorithmique , écrivant dans ses Passages de la vie d’un philosophe : « Dès qu’une machine analytique existera, elle guidera nécessairement le cours futur de la science. Chaque fois qu’un résultat sera recherché à son aide, la question se posera alors : par quel cours de calcul la machine peut-elle parvenir à ces résultats dans les plus brefs délais ? »

L'informatique

À partir de 1872, Henry poursuivit assidûment le travail de son père, puis de façon intermittente à la retraite en 1875. En 1902, de boîtes à musique pour automatiser la multiplication et la division à l'aide de séquences rigides et de boucles imbriquées . Le calcul de la racine carrée fut ensuite automatisé par la Friden Calculating Machine Company .

Percy Ludgate a décrit le moteur en 1914 et a publié son propre projet de moteur analytique en 1909. Ce moteur a été conçu en détail, mais n'a jamais été construit, et les plans n'ont jamais été retrouvés. Le moteur de Ludgate aurait été beaucoup plus petit (environ pi³ ) que celui de Babbage) et aurait été capable, en théorie , de multiplier deux nombres à 20 chiffres décimaux en environ six secondes.

Dans ses Essais sur l'automatique (1914) , Leonardo Torres Quevedo a développé les idées de Babbage en proposant une machine à calculer électromécanique théorique commandée par un programme en lecture seule . Cet ouvrage a également introduit des concepts liés à l'arithmétique à virgule flottante et exploré la possibilité d'automatiser des processus de raisonnement complexes par des moyens électromécaniques. En 1920, il a démontré la faisabilité de ces idées grâce à un arithmomètre électromécanique relié à une machine à écrire capable d'imprimer automatiquement les résultats.

L'article de Vannevar Bush intitulé « Analyse instrumentale » (1936) contenait plusieurs références aux travaux de Babbage. La même année, il lança le projet de machine arithmétique rapide afin d'étudier les problèmes liés à la construction d'un ordinateur numérique électronique.

Malgré ces avancées, une grande partie des travaux originaux de Babbage demeura relativement méconnue de nombreux constructeurs de machines à calculer électromécaniques et électroniques dans les années 1930 et 1940, ce qui entraîna la réinvention indépendante de plusieurs idées architecturales ultérieurement associées à la machine analytique. Howard Aiken , qui construisit la calculatrice électromécanique Harvard Mark I , rapidement devenue obsolète , entre 1937 et 1945, loua les travaux de Babbage, probablement pour accroître sa propre renommée, mais ignorait tout de l'architecture de la machine analytique lors de la construction de la Mark I et considéra sa visite de la partie construite de cette dernière comme « la plus grande déception de [sa] vie » . La Mark I ne présentait aucune influence de la machine analytique et était dépourvue de sa caractéristique architecturale la plus visionnaire : le branchement conditionnel . J. Presper Eckert et John W. Mauchly n'étaient pas non plus au courant des détails des travaux de Babbage sur la machine analytique avant d'achever la conception du premier ordinateur électronique à usage général, l' ENIAC .

Comparaison avec d'autres ordinateurs anciens

Si la machine analytique avait été construite, elle aurait été numérique , programmable et Turing-complète . Elle aurait cependant été très lente. Luigi Federico Menabrea rapporte dans son ouvrage « Esquisse de la machine analytique » : « M. Babbage pense pouvoir, grâce à sa machine, calculer le produit de deux nombres, chacun comportant vingt chiffres, en trois minutes. » À titre de comparaison, le Harvard Mark I pouvait accomplir la même tâche en seulement six secondes (bien que la complétude de Turing de cet ordinateur soit discutable ; l’ENIAC, qui l’est, aurait également été plus rapide). Un processeur moderne pourrait réaliser la même opération en moins d’un milliardième de seconde.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index