Automates...
Ada Byron
Automates...
Jusqu'à Babbage...
Histoire de l'ordi..
Du boulier à ...
jeux mathématiques
télécharger boulier
Blaise Pascal
 
Des Automates aux Microprocesseurs

Depuis les premiers automates, vers 1750, jusqu'à la Machine analytique de Babbage, vers 1850.

Les automates

Les automates sont à l’origine des programmes qui sont aujourd’hui exécutés dans les ordinateurs. Dans un automate, il faut enchaîner plusieurs opérations automatiquement, ce qui amène à la notion de séquence et programme. On parlait déjà d’automates au III ème siècle de notre ère, réalisés par le Premier Empereur de Chine Ts’in Che-Houang Ti, dont la tombe est gardée par les fameux soldats en terre cuite . Selon la légende, l’empereur les trouva si parfaits qu’il en fit ouvrir un pour voir s’il ne s’agissait pas d’une supercherie.

Machines mécaniques et programmes sur cartes perforées.

Charles Babbage (1791-1871) avait une passion pour la précision et était un peu déprimé par les nombreuses erreurs que l’on trouvait dans les tables mathématiques de l’époque. C’est pourquoi, en 1821, il présenta à la Royal Astronomical Society une machine dite “à différences” qui calculait les tables nécessaires à la détermination de la position des planètes. Cette machine ne pouvait faire que cela, ce qui poussa Babbage à réfléchir à une machine programmable qui sera la Machine Analytique. Suite aux ennuis financiers qui ralentissaient fortement la réalisation de la machine à différences, Babbage avait eu le temps de réfléchir à des améliorations à apporter à ses machines. C’est ainsi qu’il arriva finalement à dissocier les fonctions d’une roue, le stockage d’un digit (chiffre), d’une part, et le calcul, d’autre part. Il proposa donc en 1840 une deuxième machine entièrement programmable cette fois, appelée moteur Analytique ; elle permettait d’exécuter n’importe quelles opérations arithmétiques, et aussi de poursuivre les calculs en fonctions des résultats intermédiaires. Il y avait une claire distinction entre les fonctions de mémoire (store), les fonctions de calcul (mill, le moulin) et l’unité de commande (control barrel, soit le séquenceur des opérations de calcul). Une telle machine comportait donc des branchements conditionnels, à savoir la possibilité de décider, en fonction d’un résultat intermédiaire, s’il fallait exécuter cette partie ou telle autre du programme.
C’est certainement le séquenceur des opérations de calcul (control barrel) qui est la partie la plus originale et la plus importante de la machine. C’était un cylindre, peut-être inspiré de celui des boîtes à musique, qui poussait des barres permettant de réaliser les différentes étapes d’une opération de calcul. De plus, à chaque étape, le cylindre indiquait quelle était la prochaine étape. La rotation du cylindre était commandée par un compteur qui indiquait à quelle étape de l’opération on était. Ainsi la similitude avec un séquenceur de microprocesseur comportant un compteur de microprogramme et une mémoire de microcode est parfaite. Ce séquenceur permettait donc de minuter les étapes d’une opération de calcul ou d’une instruction. Il fallait encore prévoir comment on allait enchaîner les instructions les unes aux autres pour obtenir un programme complet.
Le programme était inscrit sur des cartes perforées, idée inspirées à Babbage après avoir vu un métier à tisser de Jacquard. Chaque carte comportait une instruction qui était lue par la machine. Le programme était donc constitué par un ensemble de cartes perforées. Babbage avait pensé aux boucles et aux branchements, car il prévoyait qu’une instruction puisse indiquer qu’il fallait retourner de quelques instructions en arrière ou sauter quelques instructions selon une condition (la réalisation de ce mécanisme n’est pas très claire, mais l’idée était là).

ordi_boul
14/11/02