Charles Babbage, 1791-1871. Portrait de l’Illustrated London News, Nov. 4, 1871
Il semble un vrai miracle, que le premier ordinateur numérique dans le monde, qui incarnait dans ses détails mécaniques et logiques à peu près tous les grands principes de l’ordinateur numérique moderne, a été conçu dès les années 1830., Cela a été fait par le grand Charles Babbage, et le nom de la machine est Analytical Engine
En 1834, Babbage a conçu quelques améliorations à son premier ordinateur—le specialized Difference Engine. Dans la conception originale, chaque fois qu’une nouvelle constante était nécessaire dans un ensemble de calculs, elle devait être saisie à la main. Babbage a conçu un moyen d’insérer mécaniquement les différences, en arrangeant circulairement les axes du moteur de différence, de sorte que la colonne de résultat soit proche de celle de la dernière différence, et donc facilement à sa portée., Il a appelé cet arrangement comme le moteur mangeant sa propre queue ou comme une locomotive qui établit son propre chemin de fer. Mais cela a rapidement conduit à l’idée de contrôler la machine par des moyens entièrement indépendants, et de lui faire effectuer non seulement l’addition, mais tous les processus d’arithmétique à volonté dans n’importe quel ordre et autant de fois que nécessaire.
Les travaux sur le premier Moteur de différence ont été arrêtés le 10 avril 1833, et le premier dessin du moteur analytique est daté de septembre 1834. Il existe plus de deux cents dessins, en détail, à l’échelle, du moteur et de ses composants., Ceux-ci ont été magnifiquement exécutés par un dessinateur hautement qualifié et étaient très coûteux. Il existe également plus de quatre cents notations de différentes parties, utilisant le système de notation mécanique de Babbage (voir Lois de la notation mécanique).
L’objet de la machine peut bientôt être donné ainsi (selon Henry Babbage, le plus jeune fils de l’inventeur): C’est une machine pour calculer la ou les valeurs numériques de toute formule ou fonction dont le mathématicien peut indiquer la méthode de solution., Il est à effectuer les règles ordinaires de l’arithmétique dans n’importe quel ordre que précédemment réglé par le mathématicien, et un certain nombre de fois et sur les quantités. C’est être absolument automatique, l’esclave du mathématicien, exécutant ses ordres et le délivrant des corvées de l’informatique. Il doit imprimer les résultats, ou tout résultat intermédiaire obtenu.
Babbage a conçu une machine avec un répertoire des quatre fonctions arithmétiques de base, contrairement au moteur de différence, qui utilise uniquement l’addition., Sur l’analogie d’un ordinateur numérique moderne, le principe de conception du moteur analytique peut être divisé en:
1. Entrée. À partir de 1836, les cartes perforées (voir la photo à proximité) étaient le mécanisme de base pour introduire dans la machine à la fois des données numériques et des instructions sur la façon de les manipuler.
2. Sortie. Le mécanisme de base de Babbage était toujours un appareil d’impression, mais il avait également envisagé des dispositifs de sortie graphique avant même d’adopter des cartes perforées pour la sortie et l’entrée.
3. Mémoire., Pour Babbage, il s’agissait essentiellement des axes numériques du magasin, bien qu’il ait également développé l’idée d’un système de mémoire hiérarchique utilisant des cartes perforées pour des résultats intermédiaires supplémentaires qui ne pouvaient pas tenir dans le magasin.
4. Unité Centrale de Traitement. Babbage a appelé cela le moulin., Comme les processeurs modernes, il prévoyait de stocker les nombres sur lesquels on opérait le plus immédiatement (registres); des mécanismes matériels pour soumettre ces nombres aux opérations arithmétiques de base; des mécanismes de contrôle pour traduire les instructions orientées utilisateur fournies de l’extérieur en contrôle détaillé du matériel interne; et des mécanismes de synchronisation (une horloge) pour effectuer des étapes détaillées, Le mécanisme de contrôle du moteur analytique doit exécuter les opérations automatiquement et il se compose de deux parties: le mécanisme de contrôle de niveau inférieur, contrôlé par des tambours massifs appelés barils, et le mécanisme de contrôle de niveau supérieur, contrôlé par des cartes perforées, développé par Jacquard pour les métiers à tisser à motifs et largement utilisé au début des années 1800.
La séquence des petites opérations nécessaires pour effectuer une opération arithmétique était contrôlée par des tambours massifs appelés barils (voir la figure à proximité)., Les fûts avaient des goujons fixés à leur surface extérieure de la même manière que les broches d’un tambour de boîte à musique ou d’un orgue à canon. Les barils ont orchestré les mouvements internes du moteur et spécifient en détail comment la multiplication, la division, l’addition, la soustraction et d’autres opérations arithmétiques doivent être effectuées. Le canon représenté sur l’illustration n’a que plusieurs positions de goujons dans chaque rangée verticale. Dans la machine réelle, les barils étaient beaucoup plus grands car ils contrôlaient et coordonnaient l’interaction de milliers de pièces., Chaque rangée pourrait contenir jusqu’à 200 positions de goujon, et chaque baril pourrait avoir 50 à 100 rangées distinctes. La machine globale avait plusieurs barils différents contrôlant différentes sections. Naturellement, les barils devait être étroitement coordonnés les uns avec les autres. Lorsque le canon tournait, les goujons activaient des mouvements spécifiques du mécanisme et la position et la disposition des goujons déterminaient l’action et le moment relatif de chaque mouvement. Le fait de tourner le tambour exécutait ainsi automatiquement une séquence de mouvements pour effectuer l’opération de niveau supérieur souhaitée., Le processus est interne au Moteur et logiquement invisible pour l’utilisateur. La technique est ce qu’en informatique on appelle maintenant un microprogramme (bien que Babbage n’ait jamais utilisé ce terme), qui garantit que les opérations de niveau inférieur nécessaires à l’exécution d’une fonction sont exécutées automatiquement.
Pour un mécanisme de contrôle de niveau supérieur, Babbage avait initialement prévu d’utiliser un gros canon central, pour spécifier les étapes d’un calcul. Cette idée semble cependant peu pratique, car cela nécessitera de changer les goujons sur le super baril, ce qui pourrait être une opération fastidieuse., La tâche de réinitialiser manuellement les goujons dans le tambour central pour indiquer à la machine quoi faire était trop lourde et sujette aux erreurs pour être fiable. Pire, la longueur de tout ensemble d’instructions serait limitée par la taille du tambour.
Sa lutte contre le problème du contrôle conduit Babbage à une véritable percée le 30 juin 1836. Il a conçu pour fournir des instructions et des données au moteur non pas en tournant les roues numériques et en réglant les goujons, mais au moyen d’une entrée de carte perforée, au moyen de cartes, similaires à celles-ci, utilisées dans les métiers Jacquard. Cela ne rendait pas le tambour central obsolète ni ne le remplaçait., Les cartes perforées ont fourni un nouveau niveau supérieur de la hiérarchie de contrôle qui régissait le positionnement du tambour central. Le tambour central est resté, mais maintenant avec des séquences permanentes d’instructions. Il a pris la fonction de micro-programmation, comme cela d’autres barils. S’il y avait des barils séparés pour chaque opération, et un baril central pour commander les tambours d’opérations, la carte perforée présente un moyen d’indiquer à la machine (le tambour central) quelles opérations nous souhaitions effectuer et dans quel ordre, c’est-à-dire une programmation de haut niveau du moteur.,
Le principe des cartes a été ouvertement emprunté au métier Jacquard (un métier mécanique, inventé par le français Joseph Marie Jacquard au début des années 1800, basé sur les inventions antérieures de ses compatriotes Basile Bouchon (1725), Jean Falcon (1728) et Jacques Vaucanson (1740)), qui utilisait une chaîne de cartes perforées pour contrôler automatiquement le motif d’un tissage (voir la photo à proximité).
Dans le métier à tisser, des tiges étaient reliées à des crochets métalliques, chacun pouvant soulever l’un des fils longitudinaux enfilés entre le cadre., Les tiges étaient rassemblées dans un paquet rectangulaire et les cartes étaient pressées une à la fois contre les extrémités des tiges. Si un trou coïncidait avec une tige, la tige passait à travers la carte et aucune action n’était prise. Si aucun trou n’était présent, la carte a appuyé sur la tige pour activer un crochet qui a soulevé le fil associé, permettant à la navette qui portait le fil croisé de passer en dessous. Les cartes étaient enfilées ensemble avec du fil, des charnières à ruban ou à ruban et un ventilateur, pliées en grandes piles pour former de longues séquences., Les métiers à tisser étaient souvent massifs et l’opérateur du métier à tisser était assis à l’intérieur du cadre, séquençant les cartes une à la fois au moyen d’une pédale ou d’un levier à main. La disposition des trous sur les cartes a déterminé le motif du tissage.
Comment peut-on programmer le moteur d’analyse?
Nous connaissons peu d’idées de programmation de Babbage. Il n’y a rien dans les documents survivants dans lesquels cet aspect de la machine est discuté en profondeur, par exemple, rien ne correspondant à une spécification d’un jeu d’instructions utilisateur., C’est d’autant plus remarquable que c’est le seul aspect du design qui est longuement discuté dans un article contemporain. En 1840, Babbage a visité Turin en Italie et a donné une série de séminaires sur le moteur analytique., Un compte rendu de ceux-ci, par l’ingénieur italien Federico Luigi Menabrea (1809-1896, voir l’image voisine), qui deviendra plus tard le Premier ministre d’Italie, a été traduit en anglais par Ada Lovelace (elle a parfois été acclamée comme la première programmatrice du monde, une image romantique sans aucun fondement), qui a joint de longues notes préparées sous la direction étroite de Babbage (voir Esquisse du moteur analytique). Ceux-ci traitent des idées modernes familières de flux de contrôle dans les programmes, en particulier la formulation de boucles simples et de boucles imbriquées contrôlées par des compteurs., Cependant, le document et les notes contournent soigneusement et délibérément toute discussion sur les détails des moyens par lesquels ceux-ci doivent être mis en œuvre.
Il semble que Babbage ne maîtrisait pas les problèmes soulevés par la programmation au niveau utilisateur du moteur analytique. Il serait tout à fait faux de déduire que Babbage ne comprenait pas la programmation en soi. La microprogrammation des barils pour la multiplication et la division montre la maîtrise des idées de ramification et de bouclage de base et ses compétences dans la microprogrammation de l’addition et de la soustraction montrent une virtuosité complète., C’est à partir de cette base que Babbage a exploré les idées de programmation au niveau utilisateur. Les problèmes de structuration des données ne se sont tout simplement pas posés au niveau de la microprogrammation. Il y a des preuves pour suggérer que les idées de Babbage se déplaçaient dans les directions maintenant familières en relation avec les mécanismes de contrôle pour le comptage de boucles dans les programmes au niveau de l’utilisateur. Si un moteur analytique avait été mis en état de fonctionner, il ne fait aucun doute que les idées de programmation de Babbage auraient été grandement développées.,
Du point de vue matériel, deux chaînes de cartes perforées étaient nécessaires pour spécifier un calcul à effectuer par le moteur analytique. Une chaîne, les” cartes d’opération », spécifiait les opérations arithmétiques à effectuer. La deuxième chaîne, les « cartes variables”, spécifiait les axes dans le magasin qui contenaient les opérandes et devaient recevoir les résultats., Ces deux chaînes ne peuvent pas être considérées comme des parties distinctes d’une seule instruction, tout comme les champs d’opération et d’opérande d’une instruction dans un ordinateur numérique électronique, car les cartes d’opération et de variable étaient destinées à se déplacer et à boucler indépendamment l’une de l’autre sous la direction de mécanismes de contrôle distincts.
En fait, il y avait quatre, mais pas deux, différents types de cartes perforées avec des fonctions différentes:
1. Les cartes numériques ont été utilisées pour spécifier la valeur des numéros à saisir dans le magasin ou pour recevoir des numéros du magasin pour un stockage externe.
2., Les cartes variables spécifient quels axes du magasin doivent être la source des données introduites dans le moulin ou le destinataire des données renvoyées par celui-ci. Dans le langage moderne, ils ont fourni l’adresse mémoire des variables à utiliser.
3. Les cartes d’opération déterminaient les fonctions mathématiques à exécuter. Le contenu logique d’une carte d’opération aurait pu être comme cet exemple: « Prenez les nombres des axes variables spécifiés par les deux cartes variables suivantes, et multipliez-les dans le moulin; stockez le résultat sur l’axe variable spécifié par la troisième carte variable., »Cela a été interprété par les tiges de détection sur l’appareil de lecture de cartes d’opération et traduit en interne comme ceci: « Avancez les cartes variables d’une position et faites pivoter tous les barils vers la position de départ pour une séquence normale de multiplication et de stockage. »
4. Les cartes combinatoires contrôlaient la façon dont les cartes variables et les cartes d’opération tournaient vers l’arrière ou vers l’avant après la fin des opérations spécifiques., Ainsi, une carte d’opération peut avoir un contenu logique comme celui-ci: « Déplacez les cartes variables en avant 25 positions, et définissez les cartes d’opération au début de l’ensemble qui indique comment extraire une racine carrée. »
Babbage prévoyait d’intercaler les cartes combinatoires avec les cartes d’opération qu’ils contrôlaient, de sorte que les quatre jeux de cartes ne nécessitaient que trois lecteurs de cartes (plus un poinçon de carte, pour les cartes numériques sorties de la machine).,
Babbage semble avoir été amené à séparer l’opération et les cartes variables pour des raisons largement philosophiques découlant de sa croyance en la nécessité de distinguer les symboles pour l’opération de ceux pour la quantité dans les notations mathématiques. Ces points de vue ont probablement été renforcés lorsqu’il a considéré les cartes nécessaires pour des calculs tels que la solution d’équations simultanées. Babbage a également réalisé, que les programmes ou les sous-programmes (certainement pas les termes qu’il a utilisés) auraient besoin d’être vérifiés, ce que nous appellerions débogués., Il savait également qu’il serait utile de réexécuter des programmes vérifiés sur de nouveaux ensembles de données, et même de partager des programmes sur plusieurs moteurs. Il était donc naturel et pratique de spécifier les données comme étant indépendantes des opérations. Là, le schéma des opérations nécessaires pour effectuer des réductions de lignes est très simple et une boucle directe de cartes d’opération est facilement trouvée. Il n’existe pas de structure de boucle aussi simple pour les cartes variables, qui ne peuvent spécifier que des axes simples dans le magasin., Les structures de boucles que nous reconnaissons maintenant concernent des lignes de la matrice des coefficients des équations et des concepts similaires liés à la structuration des données. Comme Babbage n’avait pas le concept d’adresse variable dans le magasin, le moteur d’analyse n’était pas non plus capable de calculer l’emplacement d’un opérande dans le magasin, il n’y avait aucun moyen pour les programmes utilisateur d’exploiter cette structure de niveau supérieur dans les données.
Il est étonnant de voir à quel point Babbage est allé loin dans sa conceptualisation de la programmation, en gardant à l’esprit qu’il n’avait aucune expérience dans la programmation d’un ordinateur réel., Du point de vue actuel, la série de cartes d’opération ne fournissait pas un programme, en termes actuels, mais une série de sous-programmes. Les cartes combinatoires ont fourni une terminologie, un programme de contrôle de flux, invoquant des sous-programmes avec des valeurs d’appel par référence fournies par les cartes variables. Les concepts de programmation de Babbage comprenaient clairement ce que nous appelons des boucles, des sous-routines et des branches (ce que les générations ultérieures de programmeurs ont appelé les instructions « if ” ou « if-then”)., Comme il n’avait aucune expérience dans la programmation d’un ordinateur réel, il n’est pas surprenant que Babbage ne soit pas arrivé aux concepts modernes de langages, d’interprètes ou de compilateurs de niveau supérieur.
Une table avec des cartes et des actions pour la formule (ab+c)d
nous allons prendre comme exemple la formule (ab+c)d (voir le tableau du haut)., Le détail complet des cartes de toutes sortes requises, et l’ordre dans lequel elles entreraient en jeu est le suivant:
Les quatre cartes numériques pour les” numéros donnés » a, b, c et d, enfilées ensemble sont placées à la main sur le rouleau, ces numéros doivent être placés sur les colonnes qui leur sont assignées dans une partie de la machine appelée « Le Magasin”, où chaque quantité est d’abord reçue et maintenue prête à l’emploi comme voulu.
Nous avons donc en plus des Cartes Numériques, trois Cartes d’Opération utilisées, et quatorze Cartes de Directive., Chaque jeu de cartes serait enfilé ensemble et placé sur un rouleau ou prisme de son propre; ce rouleau serait suspendu et être déplacé vers et à partir. Chaque mouvement vers l’arrière ferait bouger le prisme d’une face, mettant la carte suivante en jeu, tout comme sur le métier à tisser. Il est évident que les rouleaux doivent être faits pour fonctionner en harmonie, et à cet effet les leviers qui font tourner les rouleaux seraient eux-mêmes commandés par des moyens appropriés, ou par des cartes de directive générale, et les battements des rouleaux suspendus seraient arrêtés dans les intervalles appropriés.,
Un plan général du Moteur analytique de 1840 (cliquer pour agrandir)
Dans la vue générale supérieure du Moteur Analytique, on peut voir les sections de base: dans la partie droite se trouve une section du magasin comprenant 11 axes variables. En pratique, le magasin aurait été beaucoup plus long, avec beaucoup plus d’axes variables; Babbage parfois considéré comme un minimum de 100, et jusqu’à 1000. Chaque axe variable contenait de nombreuses roues de chiffres tournant autour d’un essieu central, chacun tenant un chiffre de sa variable., Babbage prévoyait généralement d’avoir 40 chiffres par variable. Une roue supplémentaire sur le dessus a enregistré si la valeur était positive ou négative.
Les racks, de longues bandes de métal aux bords dentés qui transportaient les chiffres d’avant en arrière entre le magasin et le moulin, circulaient horizontalement entre les axes variables. De petits pignons mobiles ont été positionnés soit pour relier un axe variable donné aux racks, soit pour le laisser non connecté. Si un numéro entrait dans le moulin, les racks seraient également connectés à l’axe d’entrée dans le moulin (étiqueté )., De là, il serait passé à une autre partie appropriée de l’usine. Lorsque le moulin avait fini de fonctionner sur un numéro, il était placé sur l’axe de sortie (étiqueté ). Cela pourrait ensuite être connecté aux racks, qui transmettraient le nombre à l’axe variable choisi pour contenir le résultat.
Le moulin est la partie gauche, disposée autour de la grande roue centrale qui relie ses parties. Pour plus de clarté, tous les aspects du moteur ne sont pas présentés dans ce diagramme. Mais cela peut masquer la complexité et la taille de la machine. Les roues centrales à elles seules mesuraient environ 70 cm de diamètre., Le moulin dans son ensemble était d’environ 150 cm pieds dans chaque direction. Un magasin avec 100 axes variables aurait fait environ 3 m de long. L’axe d’entrée avait son propre mécanisme de transport d’anticipation; une addition ou une soustraction pouvait y être effectuée puis transmise directement à l’axe de sortie pour stockage. Si une multiplication était à venir, les neuf premiers multiples seraient ajoutés sur l’axe d’entrée et stockés sur les axes de la table, affichés comme T1 à T9.
Les résultats d’une multiplication ou d’une division complète seraient formés sur les deux colonnes étiquetées à gauche de la grande roue centrale., Cela a permis de tenir des résultats intermédiaires sous forme de double précision. Autrement dit, si deux nombres à 40 chiffres étaient multipliés ensemble, 80 chiffres du résultat pourraient être conservés sur les axes . Une division ultérieure par un autre nombre de 40 chiffres permettait toujours 40 chiffres de précision dans le résultat.
L’un des principaux problèmes mécaniques du moteur analytique était le problème de portage. Au début, Babbage a utilisé la méthode de report séquentiel retardé utilisée dans le moteur de différence. En cela, le cycle d’addition de base a été suivi d’un cycle de portage séparé., Le cycle de portage a d’abord effectué tout portage nécessaire sur le chiffre le plus bas, puis a procédé au chiffre supérieur suivant, et ainsi de suite. Cette méthode a fonctionné, mais elle a été lente car les portages ont été effectués séparément pour chaque chiffre. Babbage a considéré avoir 30 ou 40 chiffres dans chaque colonne de nombres, de sorte que les portages pourraient prendre beaucoup plus de temps que l’addition elle-même. Ainsi, une seule multiplication peut prendre quelques centaines d’étapes d’addition distinctes. Il était clair que le temps de transport devait être raccourci.,
Babbage a essayé diverses approches pour optimiser les portages, et en quelques mois avait adopté ce qu’il a appelé le transport d’anticipation. Un matériel supplémentaire a permis au mécanisme de chariot de détecter simultanément où des portées étaient nécessaires et où une ou plusieurs roues déjà à 9 pourraient provoquer une propagation sur une série de chiffres. Toutes les portées peuvent être effectuées en même temps, quel que soit le nombre de chiffres sur un axe. L’élaboration des détails de l’anticipation du transport a pris de nombreuses années à Babbage, plus longtemps que tout autre aspect de la machine., Mais cela pourrait accélérer considérablement les opérations, justifiant l’effort. Le mécanisme était trop complexe pour permettre un mécanisme de chariot pour chaque axe d’ajout. Babbage a été forcé d’adopter une conception où un seul mécanisme de chariot d’anticipation pourrait être connecté à volonté avec n’importe quelle colonne d’ajout à travers les roues centrales. Jusque-là, la multiplication était assurée par du matériel spécialisé et la fonction de transport avait été supprimée des axes d’ajout au matériel central plus spécialisé.,
Babbage s’est vite rendu compte que l’ajout lui-même pouvait être retiré des axes d’ajout et effectué à travers les roues centrales. Les axes d’ajout stockaient simplement des chiffres sur leurs roues individuelles, et ils pouvaient être connectés ou déconnectés des roues centrales au besoin. Babbage a séparé la machine en une section d’axes de stockage, qu’il a appelée le Magasin, et une autre section où les opérations ont été effectuées, qu’il a appelée le moulin
Au cours des années, Babbage a conçu différents modèles pour de nombreuses unités du moteur, le plus souvent dans le sens de la simplification., Tous n’étaient cependant pas dans cette direction, car Babbage était très soucieux d’accélérer le calcul. Un exemple d’ajout de matériel pour atteindre la vitesse était la multiplication par table. Dans la méthode initiale de multiplication par addition répétée, le nombre de cycles d’addition serait égal à la somme des chiffres du multiplicateur. Ainsi, pour multiplier 198814 par 978, par exemple, 198814 serait ajouté 24 fois (9 + 7 + 8), avec 3 équipes.
Babbage prévoyait de travailler avec des nombres ayant jusqu’à 40 chiffres. Multiplier deux nombres à 40 chiffres ensemble pourrait bien prendre 200 cycles d’addition., Babbage s’est rendu compte qu’en consacrant quelques cycles au début d’une longue multiplication à une certaine préparation, il pouvait grandement accélérer la multiplication elle-même. Il a appelé cette multiplication par table. En 9 cycles, il pouvait calculer et placer sur des axes de table spéciaux dans le moulin les 9 premiers multiples intégraux du multiplicande. Ensuite, il pourrait simplement en choisir un pour chaque chiffre du multiplicateur et l’ajouter au produit accumulé. La multiplication de deux nombres à 40 chiffres ne prendrait alors que 40 cycles d’addition, plus 9 pour former le tableau, soit un total de 49 cycles d’addition plutôt que quelque 200., Une méthode similaire de division par table pourrait également accélérer la division.
On considère que la conception de base du Moteur analytique a été terminée en décembre 1837, lorsque Babbage a finalement écrit un article étendu, « Des Puissances mathématiques du Moteur de calcul”, qui décrivait la machine. Il a poursuivi le travail de conception pendant de nombreuses années, mais cela impliquait un raffinement des détails et des alternatives de mise en œuvre, et non des changements de principe., En 1837, Babbage avait conçu une machine dont l’organisation de base resterait inchangée tout au long de son travail ultérieur, et même tout le développement ultérieur de la conception informatique.
Babbage considérait que le moteur analytique était une machine à calculer universelle dans le sens où, avec suffisamment de temps, il pouvait effectuer n’importe quel calcul arithmétique possible. Cet argument repose sur trois observations., Premièrement, les opérations arithmétiques sur des nombres de plus de quarante chiffres peuvent toujours être effectuées en les divisant en segments de 40 chiffres, de sorte que le nombre limité de chiffres sur n’importe quel axe de magasin n’est pas une limite fondamentale. Deuxièmement, les calculs peuvent être spécifiés par des chaînes de fonctionnement et des cartes variables d’étendue illimitée, il n’y a donc aucune limitation à la taille ou à la complexité des programmes. Troisièmement, les numéros du magasin peuvent être perforés sur des cartes numériques et lus plus tard, ce qui fournit un magasin de support d’une étendue illimitée pour surmonter le nombre limité d’axes dans le magasin.,
Babbage était pleinement conscient des limitations de vitesse de sa machine. Il savait que la machine rendrait en théorie possible des calculs beaucoup plus étendus et précis que ceux qui n’avaient jamais été tentés à la main, mais ils ne seraient possibles en pratique qu’avec une machine très fiable et assez rapide. De ses travaux antérieurs, il savait que la fiabilité exigeait que les engrenages ne tournent pas trop vite. La vitesse globale devait être atteinte avec un design intelligent plutôt qu’avec une puissance brute., C’est ce qui a motivé l’immense ingéniosité que Babbage a investi dans des méthodes de gain de temps comme anticiper le transport et la multiplication par table.
Dans la conception de la machine à la fin des années 1830, l’ajout isolé de deux nombres à 40 chiffres aurait pris environ 19 secondes. Mais une grande partie de cela impliquait de déplacer des nombres entre différentes sections avant ou après l’addition réelle. Babbage a compris comment chevaucher les différentes parties de l’opération lorsque plus de deux ajouts devaient être effectués successivement. Cela signifiait que chaque ajout supplémentaire de 40 chiffres ne prenait que 3,1 secondes., La multiplication et la division ont également été accélérées par une conception logique intelligente. La durée dépendait du nombre de chiffres dans les numéros. Prenons le cas d’une multiplication de 20 chiffres par 40 chiffres (un très haut degré de précision même par rapport aux normes actuelles). Avec des ajouts soutenus à 3,1 secondes chacun, une approche simple étape et ajout aurait pris près de 8 minutes. Babbage a pu réduire cela à moins de 2 minutes. Aujourd’hui, avec la vitesse du microprocesseur mesurée en millions de multiplications par seconde, 2 minutes semble incroyablement lente., Mais c’était une réalisation remarquable plus d’un siècle avant le calcul électronique.
Après avoir terminé les travaux sur la conception du Moteur analytique en 1847, Babbage s’est tourné vers la conception d’un Moteur de différence №2, exploitant les mécanismes arithmétiques améliorés et simplifiés développés pour le Moteur analytique. En 1857, Babbage est revenu à la conception du moteur analytique. Dans cette nouvelle phase de travail, Babbage était activement intéressé par la construction d’un moteur analytique avec ses propres ressources., La conception logique a été quelque peu simplifiée mais, surtout, des méthodes beaucoup plus simples et moins chères ont été proposées pour mettre en œuvre les mécanismes de base. Babbage a d’abord expérimenté l’estampage et le pressage de tôle pour la fabrication de roues dentées et de pièces similaires. Plus tard, il a adopté le moulage sous pression pour la fabrication de pièces—une technique nouvellement inventée qui n’a pas vu une utilisation commerciale étendue jusqu’à la fin du XIXe siècle., Babbage a construit de nombreux modèles expérimentaux de mécanismes en utilisant ces nouvelles techniques, et, au moment de sa mort en 1871, un modèle d’un mécanisme simple de moulin et d’impression était presque terminé (voir la photo ci-dessous).,
Un modèle du Moulin de moteur analytique, construit vers 1870 (© Science Museum, Londres)
Machines à calculer de Babbage, ainsi que tous les matériaux connexes ont été hérités par son plus jeune fils survécu, Major-général Henry Prevost Babbage (1824-1918) (voir l’image à proximité), qui avait montré un vif intérêt pour le travail de son père. Même à l’adolescence, Henry et son frère aîné Dugald ont passé du temps dans le bureau de dessin et l’atelier de Babbage à apprendre les compétences de l’atelier., Plus tard, Henry acquit une bonne connaissance des conceptions de moteurs de différence et de moteurs analytiques, et en vint à former un lien étroit avec son père qu’il visita en congé du service militaire prolongé en Inde. Babbage a légué ses dessins, son atelier et les reliques physiques des moteurs à Henry qui a essayé de continuer le travail de son père et de faire connaître les moteurs après la mort de Babbage.
Henry était au chevet de son père lorsque Babbage est mort en octobre 1871, et à partir de 1872, il a continué avec diligence le travail de son père, puis par intermittence à la retraite en 1875., Après avoir assemblé quelques petites pièces de démonstration pour la différence Numéro de moteur 1 (l’un d’eux, il a envoyé à Harvard. Dans les années 1930, la pièce a attiré l’attention de Howard Aiken, le créateur du Harvard Mark I).
En 1888, Henry a démontré lors d’une réunion de la British Association for the Advance of Science une section de l’usine du moteur analytique, fonctionnant à 29 chiffres, y compris le dispositif de transport anticipé.
Henry a ensuite construit une calculatrice expérimentale à quatre fonctions pour l’usine, qu’il a achevée en 1910., Henry a en fait décidé de ne pas continuer avec la conception originale du moteur analytique, mais plutôt de développer une machine à commande manuelle pour l’addition, la soustraction, la multiplication et la division (une calculatrice à quatre fonctions), incorporant les mécanismes prévus pour le moulin et le mécanisme d’impression du moteur (voir la photo ci-dessous). En utilisant le moulin assemblé de Analytical Engine, il ferait des calculs simples-dans ce cas, produire des multiples de π.,
Une partie du mécanisme de moulin et d’impression du Moteur analytique, construit par Henry Babbage
Bien que finalement achevé au début du XXe siècle, quand Henry était lui-même un vieil homme, cette machine semble n’avoir jamais fonctionné de manière fiable. De plus, le travail d’Henry sur les moteurs était sain, mais sans l’audace et l’inspiration de son père, le grand Charles Babbage.
Laisser un commentaire