Moteur analytique - Analytical Engine


Un article de Wikipédia, l'encyclopédie libre
modèle d'essai d'une partie du moteur d'analyse, construit par Babbage, comme indiqué au Musée des sciences (Londres)

Le Analytical Engine est un dispositif mécanique proposé ordinateur à usage général conçu par le mathématicien anglais et pionnier de l' informatique Charles Babbage . Il a été décrit en 1837 comme le successeur de Babbage moteur de différence , la conception d'un ordinateur mécanique. Le moteur d' analyse intégré une unité arithmétique et logique , le flux de contrôle sous forme de branchement conditionnel et des boucles , et intégrée mémoire , ce qui en fait la première conception d'un ordinateur à usage général qui pourrait être décrit en termes modernes comme Turing-complet . En d' autres termes, la structure logique du moteur d' analyse était essentiellement le même que celui qui a dominé la conception informatique à l'ère électronique.

Babbage n'a jamais été en mesure d'achever la construction de l' un de ses machines en raison de conflits avec son ingénieur en chef et le financement inadéquat. Il a fallu attendre les années 1940 que les premiers ordinateurs à usage général ont été construits, plus d'un siècle après Babbage avait proposé le pionnier du moteur d' analyse en 1837.

Conception

Deux types de cartes perforées utilisées pour programmer la machine. Premier plan: « cartes opérationnelles », pour entrer des instructions ; fond: « cartes » variables, pour l' entrée des données

Première tentative à un dispositif de calcul mécanique de Babbage, le moteur de différence , était une machine à usage spécial conçu pour totaliser les logarithmes et les fonctions trigonométriques en évaluant les différences finies pour créer l' approximation de polynômes . La construction de cette machine n'a jamais été achevée; Babbage avait des conflits avec son ingénieur en chef, Joseph Clément , et , finalement , le gouvernement britannique a retiré son financement pour le projet.

Au cours de ce projet, il a réalisé qu'une conception beaucoup plus générale, le moteur d'analyse, était possible. Les travaux sur la conception du moteur d'analyse a commencé en c. 1833.

L'entrée, comprenant des programmes et des données ( « formules » et « données ») devait être fourni à la machine par l' intermédiaire de cartes perforées , un procédé utilisé à l'époque pour diriger mécaniques métiers à tisser tels que le métier à tisser Jacquard . Pour la sortie, la machine aurait une imprimante, un traceur de courbe et une cloche. La machine serait également en mesure de frapper les numéros sur les cartes à lire plus tard. Il emploie ordinaire base 10 arithmétique à virgule fixe.

Il devait être un magasin (qui est une mémoire) capable de contenir 1000 numéros de 40 chiffres décimaux chaque (ca. 16,2 kB ). Une unité arithmétique (le « moulin ») serait en mesure d'effectuer les quatre opérations arithmétiques , ainsi que des comparaisons et éventuellement des racines carrées . Dans un premier temps (1838) , il a été conçu comme un moteur de différence courbée sur elle - même, dans une disposition générale circulaire, avec le long magasin sortant d'un côté. Dessins ultérieurs (1858) décrivent une présentation de la grille régularisée. Comme l' unité centrale de traitement (CPU) dans un ordinateur moderne, le moulin se fonderait sur ses propres procédures internes , à stocker sous forme de pions insérés dans des tambours rotatifs appelés « barils », pour mener à bien certaines des instructions plus complexes , le le programme utilisateur peut spécifier.

Le langage de programmation à employer par les utilisateurs était semblable à jour modernes langages d'assemblage . Les boucles et branchement conditionnel étaient possibles, et donc la langue tel qu'il est conçu aurait été Turing-complet tel que défini plus tard par Alan Turing . On a utilisé trois différents types de cartes perforées: un pour les opérations arithmétiques, une des constantes numériques, et un pour les opérations de chargement et de stockage, le transfert des numéros du magasin à l'unité ou à l' arrière arithmétique. Il y avait trois lecteurs distincts pour les trois types de cartes. Babbage a développé quelques deux douzaines de programmes pour le moteur d' analyse entre 1837 et 1840, et un programme plus tard. Ces programmes traitent polynômes, formules itératives, élimination de Gauss , et nombres de Bernoulli .

En 1842, le mathématicien italien Luigi Federico Menabrea a publié une description du moteur basé sur une conférence de Babbage en français. En 1843, la description a été traduit en anglais et largement annotés par Ada Lovelace , qui était devenu intéressé par le moteur huit ans plus tôt. En reconnaissance de ses ajouts au papier de Menabrea, qui comprenait un moyen de calculer les nombres de Bernoulli à l' aide de la machine, elle a été décrit comme le premier programmeur informatique .

Construction

Mill Engine analytique de Henry Babbage, construit en 1910, au Musée de la Science (Londres)

Vers la fin de sa vie, Babbage a cherché des moyens de construire une version simplifiée de la machine, et assemblé une petite partie de celui-ci avant sa mort en 1871.

En 1878, un comité de l' Association britannique pour l'avancement des sciences a décrit le moteur d' analyse comme « une merveille d'ingéniosité mécanique », mais a recommandé de construire. Le Comité a reconnu l'utilité et la valeur de la machine, mais n'a pas pu estimer le coût de la construction, et ne savaient pas si la machine fonctionnerait correctement après avoir été construit.

1880 par intermittence à 1910 à partir, le fils de Babbage Henry Prevost Babbage construisait une partie du moulin et l'appareil d'impression. En 1910 , calculé un (défaut) liste des multiples de pi . Cela constitue seulement une petite partie du moteur tout; il n'a pas été programmable et n'a eu aucun stockage. (Images populaires de cette section ont parfois été mal étiquetés, ce qui implique qu'il était le moulin entier ou même tout le moteur.) « Analytical Engine Mill » est exposé de Henry Babbage au Science Museum de Londres. Henry a également proposé la construction d' une version de démonstration du moteur complet, avec une plus petite capacité de stockage: « peut - être pour une première machine dix (colonnes) ferait, avec quinze roues dans chaque ». Une telle version pourrait manipuler 20 numéros de 25 chiffres chacun, et ce qu'il pourrait être dit de faire avec ces chiffres pourrait encore être impressionnant. « Il est seulement une question de cartes et de temps », écrit Henry Babbage en 1888, » ... et il n'y a pas de raison (vingt mille) cartes ne doivent pas être utilisés si nécessaire, dans un moteur d' analyse aux fins du mathématicien ».

En 1991, le Science Museum de Londres a construit un complet et l' échantillon de travail de Babbage Difference Engine no 2 , une conception qui intègre raffinements Babbage découverts lors du développement du moteur d' analyse. Cette machine a été construite en utilisant des matériaux et des tolérances techniques qui auraient été à la disposition de Babbage, réprimant la suggestion que les conceptions de Babbage n'auraient pu être produites en utilisant la technologie de fabrication de son temps.

En Octobre 2010, John Graham-Cumming a lancé une campagne « Plan 28 » pour lever des fonds par « souscription publique » afin de permettre l' étude historique et académique sérieuse des plans de Babbage, en vue de puis construire et tester un design virtuel entièrement fonctionnel qui sera ensuite à son tour permettre la construction du physique du moteur d' analyse. En mai 2016, la construction proprement dite n'a pas été tenté, car aucune compréhension cohérente pourrait encore être obtenu à partir de dessins originaux de conception de Babbage. En particulier , on ne sait pas si elle pouvait gérer les variables indexées qui ont été nécessaires pour le programme de Bernoulli Lovelace. En 2017, l'effort « Plan 28 » a indiqué qu'une base de données de tous les documents catalogués était disponible, et un examen initial de volumineux Scribbling Livres de Babbage avait terminé.

Jeu d'instructions

Schéma du plan du moteur d'analyse de 1840

Babbage n'est pas connu pour avoir écrit un ensemble d'instructions explicites pour le moteur de la manière d'un manuel de processeur moderne. Au lieu de cela, il a montré ses programmes sous forme de listes d'états au cours de leur exécution, montrant ce que l'opérateur a été exécuté à chaque étape avec peu d'indications sur la façon dont serait guidé le flux de contrôle.

Allan G. Bromley a supposé que la plate - forme de carte pourrait être lu en avant et en arrière directions en fonction de branchement conditionnel après analyse des conditions, ce qui rendrait le moteur Turing-complet:

... les cartes peuvent être commandées à aller de l'avant et la marche arrière (et donc à boucle) ...

L'introduction pour la première fois, en 1845, des opérations de l'utilisateur pour une variété de fonctions de service, y compris, surtout, un système efficace de contrôle utilisateur de boucle dans les programmes utilisateur. Il n'y a aucune indication comment est spécifié le sens de rotation de l'opération et les cartes variables. En l'absence d'autres éléments de preuve que j'ai dû adopter l'hypothèse par défaut minimale que le fonctionnement et les cartes variables ne peuvent être tournés vers l'arrière comme il est nécessaire de mettre en œuvre les boucles utilisées dans les programmes d'échantillonnage de Babbage. Il n'y aurait aucune difficulté mécanique ou microprogramming à placer la direction du mouvement sous le contrôle de l'utilisateur.

Dans leur émulateur du moteur, Fourmilab dit:

La carte de moteur Reader n'est pas contraint de traiter simplement les cartes dans une chaîne un après l'autre, du début à la fin. Il peut, en outre, réalisé par les cartes mêmes qu'il lit et conseillé par le si le levier d'accélération de Mill est activé, soit faire avancer la chaîne de la carte vers l'avant, sauter les cartes intermédiaires, ou vers l'arrière, ce qui provoque des cartes précédemment lues à traiter encore une fois.

Cet émulateur fournit un jeu d'instructions symbolique écrite, bien que cela a été construit par ses auteurs plutôt que sur des œuvres originales de Babbage. Par exemple, un programme factoriel serait écrit:

N0 6
N1 1
N2 1
×
L1
L0
S1
-
L0
L2
S0
L2
L0
CB?11

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

Influence

influence prédites

Babbage compris que l'existence d'un ordinateur automatique allumerait intérêt dans le domaine maintenant connu comme l' efficacité algorithmique , l' écriture dans ses passages de la vie d'un philosophe , « Dès qu'un existe moteur d' analyse, il guidera nécessairement l'évolution future de la la science. Chaque fois qu'un résultat est recherché par son aide, la question se posera alors-par quel cours de calcul que ces résultats peuvent être déterminés par la machine dans le plus bref délai ? »

L'informatique

A partir de 1872 Henry a continué avec diligence avec le travail de son père, puis par intermittence à la retraite en 1875.

Percy Ludgate a écrit sur le moteur en 1914 et a conçu son propre moteur d' analyse (il a été établi en détail, mais jamais construit) au sujet de 1907-1909. Le moteur de Ludgate serait beaucoup plus petite que Babbage de l' ordre de 8 pieds cubes (230  à l ), et serait théoriquement capable de multiplier deux nombres à 20 chiffres en décimal environ six secondes.

Torres y Quevedo a écrit sur les moteurs de Babbage dans Essais sur Automatiques (1913). Livre contient la conception d'une machine électromécanique capable de calculer de manière entièrement automatique la valeur d'une fonction.

Vannevar Bush papier de l' analyse instrumentale (1936) comprenait plusieurs références aux travaux de Babbage. La même année a commencé projet rapide de la machine Arithmétique pour enquêter sur les problèmes de la construction d' un ordinateur numérique électronique.

En dépit de ce terrain, le travail de Babbage est tombé dans l' obscurité historique, et le moteur d' analyse était inconnu aux constructeurs de machines informatiques électro-mécaniques et électroniques dans les années 1930 et 1940 quand ils ont commencé leur travail, entraînant la nécessité de réinventer beaucoup de l' architecture innovations Babbage avaient proposé. Howard Aiken , qui a construit le calculateur électromécanique rapidement-obsoleted, la Mark I Harvard , entre 1937 et 1945, a fait l' éloge du travail de Babbage probablement comme un moyen de renforcer sa propre stature, mais ne savait rien de l'architecture du moteur d' analyse lors de la construction de la marque I et considéré sa visite à la partie construite du moteur d' analyse « la plus grande déception de ma vie ». Le Mark I a montré aucune influence du moteur d' analyse et manquait l'élément architectural le plus prémonitoire du moteur d' analyse, branchement conditionnel . J. Eckert Presper et John W. Mauchly étaient pas non plus au courant des détails du travail du moteur d' analyse de Babbage avant la fin de leur conception pour le premier ordinateur électronique à usage général, l' ENIAC .

Comparaison avec les autres premiers ordinateurs

Si le moteur d' analyse avait été construit, il aurait été numérique , programmable et Turing-complet . Il serait, cependant, ont été très lents. Luigi Federico Menabrea rapporté dans Sketch du moteur d' analyse : « M. Babbage croit qu'il peut, par son moteur, former le produit de deux nombres, contenant chacun vingt chiffres, en trois minutes ». Par comparaison , le Harvard Mark I pourrait effectuer la même tâche en seulement six secondes. Un PC moderne peut faire la même chose en moins d' un milliardième de seconde.

prénom première opérationnelle système numéral mécanisme de calcul La programmation turation complète Mémoire
Moteur de différence Non construit avant les années 1990 Décimal Mécanique Non programmable; constantes numériques initiales des différences de polynômes définis physiquement Non L'état physique des roues à axes
Moteur analytique Pas encore construit Décimal Mécanique Programme contrôlé par cartes perforées Oui L'état physique des roues à axes
Bombe (Pologne, Royaume - Uni, États - Unis) 1939 ( polonais ), Mars 1940 (britannique), Mai 1943 (Etats - Unis) caractère calculs Electro-mécanique Non programmable; les paramètres d'entrée de chiffrement spécifiés par les câbles de raccordement Non L'état physique des rotors
Zuse Z3 (Allemagne) mai 1941 Binaire à virgule flottante Electro-mécanique Programme contrôlé par poinçonné film 35 mm stock En principe mécaniques relais
Atanasoff-Berry Computer (États - Unis) 1942 Binaire Électronique Non programmable; coefficients de système linéaire entrée en utilisant des cartes perforées Non La mémoire de condensateur régénératif
Colossus Mark 1 (Royaume - Uni) décembre 1943 Binaire Électronique Programme contrôlé par des câbles de raccordement et les commutateurs Non Valves thermo - ioniques (tubes à vide) et thyratrons
Harvard Mark I  - IBM ASCC (Etats - Unis) mai 1944 Décimal Electro-mécanique Commandé par programme par 24 canaux bande de papier perforée (mais pas branchement conditionnel) Non relais mécaniques
Zuse Z4 (Allemagne) Mars 1945 (ou 1948) virgule flottante binaire Electro-mécanique Programme contrôlé par le stock de film perforé 35 mm Oui mécaniques relais
ENIAC (États - Unis) juillet 1946 Décimal Électronique Programme contrôlé par des câbles de raccordement et les commutateurs Oui Tube à vide triode bascules
Manchester bébé (Royaume - Uni) 1948 Binaire Électronique programme binaire est entré en mémoire par le clavier (premier ordinateur numérique électronique programme stocké) Oui Williams tube à rayons cathodiques

Dans la culture populaire

  • Les cyberpunk romanciers William Gibson et Bruce Sterling co-auteur d' un steampunk roman d' histoire alternative intitulée Le moteur de différence où la différence de Babbage et les moteurs d' analyse sont devenus disponibles à la société victorienne. Le roman explore les conséquences et les implications de l'introduction précoce de la technologie informatique.
  • On mentionne aussi le moteur d' analyse (ou Clockwork Ouroboros comme il y est également connu) dans Le Livre de la guerre , une faction Paradox anthologie éditée par Lawrence Miles . Cette machine a été utilisée pour calculer un chemin dans le « Empire Day Eleven ». Son utilisation a entraîné la destruction des originaux Chambres du Parlement .
  • Dans le roman Perdido Street Station , par l' auteur britannique China Miéville , moteurs similaires à servir Babbage comme « cerveaux » pour les constructions robotiques de la ville de New Crobuzon. Un tel moteur développe même la pensée sensible due à une boucle récursive algorithmiques.
  • L' Empire britannique de Peshawar Lancers par SM Stirling dispose d' un moteur d' analyse alimenté par l'eau massive à Oxford , utilisé par deux des personnages principaux. Il est à noter que la plupart des moteurs fonctionnent sur la vapeur, et qu'un plus grand encore est en construction à la capitale britannique à Delhi .
  • Dans le Michael Flynn roman Au pays des aveugles , une société secrète qui se fait appeler la Société Babbage a financé secrètement la construction de moteurs Babbage au milieu du 19ème siècle. Dans le roman, la Société utilise les moteurs Babbage ainsi une science statistique appelée Cliology de prédire et de manipuler l' histoire à venir. Dans le processus, ils prédisent la montée des nazis et commencent accidentellement la guerre civile américaine.
  • Dans le Neal Stephenson roman L'âge de diamant , la nanotechnologie moléculaire omniprésente est décrite à faire usage de la « logique de tige » semblable à celle imaginée par la conception de Babbage pour le moteur d' analyse.
  • Moriarty par modem , une nouvelle de Jack Nimersheim, décrit une histoire alternative où Analytical Engine Babbage a en effet été achevée et avait été jugée hautement classée par le gouvernement britannique. Les personnages de Sherlock Holmes et Moriarty avaient en réalité été un ensemble de programmes prototypes écrits pour le moteur d' analyse. Cette courte histoire suit Holmes que son programme est redémarré sur les ordinateurs modernes et il est obligé de rivaliser avec son ennemi juré encore une fois dans les homologues modernes du moteur d' analyse de Babbage.
  • Un cadre similaire est utilisé par Sydney Padoue dans le webcomic Les aventures palpitantes Lovelace et Babbage . Il dispose d' une histoire alternative où Ada Lovelace et Babbage ont construit le moteur d' analyse et l' utiliser pour lutter contre la criminalité à la reine Victoria demande. La bande dessinée est basée sur des recherches approfondies sur les biographies de la correspondance entre Babbage et Lovelace, qui est ensuite tordu pour effet humoristique.
  • Georgia on My Mind est un petit roman par Charles Sheffield qui implique deux grands thèmes: étant veuve et la recherche d'un légendaire ordinateur Babbage.
  • Hugh Cook , romans de fantasy de la Wishstone et les thaumaturges et Wazir et la sorcière disposent d' un moteur d' analyse créé par le scientifique Ivan Petrov. Il est utilisé pour calculer l' impôt sur le revenu.
  • Le bras d'Orion projet en ligne propose la Machina Babbagenseii , inspiré Babbage entièrement sensitif ordinateurs mécaniques. Chacun d' eux est la taille d'un gros astéroïde, seul survivant capable dans des conditions de microgravité, et traite des données à 0,5% la vitesse d'un cerveau humain.
  • Les navires battant dans l'anime Last Exile sont considérés comme ayant des moteurs d' analyse à l' intérieur d'eux. Bien que certains aient une technologie plus avancée, les navires communs utiliser des moteurs d' analyse, et même certains des navires avancés sont considérés comme ayant des mécanismes d'horlogerie ainsi.
  • Une version de travail du moteur d' analyse, créé par l' inventeur fictif Ernest Harding (et basé sur le concept Babbage) a été présenté sur les Murdoch Mysteries (aussi appelé Detective Artful), dans la saison 5, épisode 9, Convention invention .

Références

Bibliographie

Liens externes