Manchester Baby
Fiche rapide
- Nom officiel : Small-Scale Experimental Machine (SSEM)
- Surnom : Manchester Baby
- Institution : Université de Manchester
- Premier programme réussi : 21 juin 1948
- Principaux concepteurs : Frederic C. Williams, Tom Kilburn et Geoff Tootill
- Architecture : binaire, mots de 32 bits
- Mémoire : 32 mots de 32 bits, soit 1 024 bits
- Technologie mémoire : tube Williams-Kilburn
- Jeu d’instructions initial : 7 instructions
- Vitesse : environ 1,2 milliseconde par instruction
- Type : ordinateur expérimental à programme enregistré
Ces caractéristiques paraissent extrêmement modestes aujourd’hui. Pourtant, elles suffisent à démontrer qu’un ordinateur électronique peut conserver ses instructions en mémoire et les exécuter automatiquement.
Un ordinateur construit pour tester une mémoire
Le Manchester Baby n’est pas conçu à l’origine pour devenir un ordinateur scientifique destiné à une utilisation quotidienne. Son objectif principal est plus précis : tester une nouvelle mémoire électronique.
À partir de 1946, Frederic Williams travaille sur l’utilisation d’un tube cathodique pour conserver des informations binaires. Avec Tom Kilburn, il exploite les charges électriques produites sur l’écran du tube afin de représenter des 0 et des 1.
Cette technologie, connue sous le nom de tube Williams-Kilburn, présente un avantage essentiel : l’ordinateur peut accéder électroniquement aux informations enregistrées sans attendre leur passage séquentiel comme avec certaines autres technologies de mémoire de l’époque.
Cependant, réussir à mémoriser des bits ne suffit pas. Il faut encore démontrer que cette mémoire peut fonctionner de manière suffisamment fiable pour contenir un véritable programme.
Les chercheurs décident donc de construire une petite machine autour d’elle. Le Manchester Baby est ainsi, à l’origine, un banc d’essai de mémoire devenu ordinateur.
Seulement 32 mots de mémoire
La mémoire principale du Baby contient seulement 32 mots de 32 bits, soit un total de 1 024 bits.
Cette capacité est minuscule, mais elle possède une propriété fondamentale : un emplacement mémoire peut contenir aussi bien une donnée qu’une instruction.
Le programme et les données peuvent donc cohabiter dans la même mémoire électronique.
Plusieurs tubes cathodiques participent au fonctionnement de la machine. Certains conservent les informations nécessaires aux calculs et au déroulement du programme, tandis qu’un autre permet à l’opérateur d’observer visuellement le contenu d’une mémoire sous la forme de points lumineux.
Le principe peut être résumé simplement : programme + données → mémoire électronique → processeur
21 juin 1948 : le programme fonctionne
Le 21 juin 1948, Tom Kilburn fait exécuter au Baby un programme destiné à rechercher le plus grand facteur propre d’un nombre.
Le programme comporte seulement 17 instructions. Comme le Baby ne dispose pas d’instruction de division, il procède par soustractions successives.
Le principe consiste à tester différents nombres comme diviseurs possibles. Pour chacun d’eux, la machine soustrait plusieurs fois cette valeur au nombre de départ. Si elle atteint exactement zéro, le nombre testé est un facteur.
Par exemple, pour le nombre 12, la machine peut tester successivement 11, 10, 9, 8, 7 puis 6. Avec 6, elle obtient :
12 - 6 = 6 6 - 6 = 0
Le programme conclut alors que 6 est le plus grand facteur propre de 12.
Ce programme est historiquement important car il démontre qu’un ordinateur électronique peut conserver ses instructions en mémoire et les exécuter automatiquement, sans qu’il soit nécessaire de modifier physiquement son câblage.
L’essentiel est ailleurs : les instructions sont déjà présentes dans la mémoire électronique lorsque l’exécution commence. La machine les lit successivement et détermine ainsi elle-même les opérations à effectuer.
Pour la première fois, un ordinateur électronique numérique exécute avec succès un programme conservé dans sa propre mémoire.
Cette démonstration valide concrètement le principe du programme enregistré, qui deviendra ensuite une caractéristique fondamentale de la plupart des ordinateurs.
Comment programme-t-on le Manchester Baby ?
L’utilisation de la machine reste très éloignée de celle d’un ordinateur moderne.
Les instructions sont introduites directement dans la mémoire à l’aide d’un ensemble d’interrupteurs. Chaque instruction doit être représentée sous forme binaire puis saisie bit par bit.
L’opérateur peut ensuite observer certaines informations sur un tube cathodique. Les points affichés permettent de visualiser l’état des bits enregistrés.
Il n’existe alors :
- ni clavier informatique moderne ;
- ni éditeur de texte ;
- ni langage de programmation évolué ;
- ni système d’exploitation ;
- ni fichier contenant le programme.
Programmer signifie donc manipuler directement les instructions binaires de la machine.
Cette méthode est laborieuse, mais elle possède déjà une différence essentielle avec certaines machines précédentes : le programme est une information enregistrée que l’on peut modifier sans reconstruire ni recâbler l’ensemble du calculateur.
Un jeu de seulement sept instructions
Le Manchester Baby dispose d’un jeu extrêmement réduit de sept opérations différentes. Pourtant, cela suffit pour écrire des programmes comportant des calculs, des boucles et des tests.
- JMP — saute à une autre instruction du programme ;
- JRP — effectue un saut relatif par rapport à la position courante ;
- LDN — charge dans l’accumulateur l’opposé d’une valeur stockée en mémoire ; (C’est lié à l’architecture particulière du Manchester Baby, qui repose beaucoup sur la soustraction plutôt que sur l’addition.)
- STO — enregistre le contenu de l’accumulateur dans la mémoire ;
- SUB — soustrait une valeur en mémoire du contenu de l’accumulateur ;
- CMP — saute l’instruction suivante si le contenu de l’accumulateur est négatif ;
- STP — arrête l’exécution du programme.
Le Baby ne possède même pas d’instruction d’addition. Pour additionner deux nombres, il faut utiliser la soustraction d’un nombre négatif : par exemple 1 + 3 = 1 − (−3).
Les instructions sont codées sur 3 bits, ce qui permet théoriquement huit codes différents. Cependant, deux codes réalisent la même opération de soustraction : la machine dispose donc bien de sept opérations distinctes.
Malgré cette simplicité, le programmeur peut déjà construire des boucles et prendre des décisions grâce aux instructions de saut et au test conditionnel. Le Manchester Baby démontre ainsi qu’un petit nombre d’instructions élémentaires suffit pour réaliser des calculs complexes.
Pourquoi le programme enregistré change-t-il tout ?
Le principe paraît aujourd’hui évident : lorsqu’on lance un logiciel, celui-ci est chargé en mémoire puis exécuté par le processeur.
À la fin des années 1940, cette organisation est encore nouvelle.
Le programme peut désormais être représenté par des nombres binaires, exactement comme les données qu’il traite. Il devient donc une information que l’on peut charger, conserver et modifier.
La séparation entre le matériel et le logiciel devient beaucoup plus nette :
même ordinateur + programme différent = tâche différente
Le Manchester Baby n’est pas le premier ordinateur électronique ni le premier calculateur programmable de l’histoire. Son importance est plus précise : il démontre avec succès le fonctionnement d’un ordinateur électronique numérique à programme enregistré en mémoire.
Du Baby au Manchester Mark 1
Une fois le principe validé, l’équipe de Manchester ne cherche pas à transformer durablement le Baby en machine de production.
Les chercheurs développent rapidement un ordinateur beaucoup plus complet : le Manchester Mark 1.
Celui-ci reprend notamment le principe de la mémoire électronique à programme enregistré, mais avec davantage de mémoire, davantage d’instructions et des possibilités d’utilisation beaucoup plus importantes.
Les travaux menés à Manchester débouchent ensuite sur le Ferranti Mark 1, construit industriellement au début des années 1950.
Le chemin est donc particulièrement direct :
Manchester Baby → Manchester Mark 1 → Ferranti Mark 1
Une expérience destinée initialement à tester une mémoire contribue ainsi à l’apparition de l’une des premières générations d’ordinateurs électroniques commercialisés.
Quel rôle joue Alan Turing ?
Alan Turing n’est pas le concepteur du Manchester Baby. La construction de la machine est principalement associée à Frederic Williams, Tom Kilburn et Geoff Tootill.
Turing rejoint l’Université de Manchester en septembre 1948, quelques mois après l’exécution historique du premier programme.
Il s’intéresse cependant aux travaux de l’équipe avant même son arrivée. Une routine de division longue qu’il prépare pour la machine est notamment reprise, corrigée et mise au point par Geoff Tootill.
Par la suite, Turing participe davantage aux développements informatiques de Manchester, en particulier autour des machines qui succèdent au Baby.
Il faut donc distinguer son influence sur les travaux de Manchester de la conception proprement dite du SSEM.
Pourquoi le Manchester Baby est-il important ?
- Programme enregistré : il exécute avec succès des instructions conservées dans une mémoire électronique.
- Mémoire électronique : il démontre que le tube Williams-Kilburn peut servir de mémoire opérationnelle à un ordinateur.
- Programme et données : les deux peuvent être conservés dans la même mémoire.
- Souplesse : changer de programme revient à modifier les instructions enregistrées plutôt qu’à reconfigurer physiquement la séquence de calcul.
- Validation expérimentale : une idée architecturale devient une machine réellement fonctionnelle.
- Héritage : ses travaux conduisent directement au Manchester Mark 1 puis au Ferranti Mark 1.
Le Manchester Baby n’est donc pas remarquable par sa puissance. Il l’est parce qu’il démontre concrètement une idée qui devient fondamentale : un ordinateur peut conserver en mémoire les instructions qui déterminent son fonctionnement.
Repères chronologiques
- 1946 : Frederic Williams commence ses recherches sur la mémoire à tube cathodique.
- 1947 : Williams et Kilburn développent les principes de la mémoire qui deviendra le tube Williams-Kilburn.
- Début 1948 : construction de la Small-Scale Experimental Machine.
- 21 juin 1948 : premier programme enregistré exécuté avec succès.
- Septembre 1948 : Alan Turing rejoint l’Université de Manchester.
- 1948-1949 : développement du Manchester Mark 1.
- 1951 : le Ferranti Mark 1, issu des travaux menés à Manchester, est commercialisé.
Pour aller plus loin
Le Manchester Baby s’inscrit dans une période où plusieurs équipes cherchent à transformer le principe du programme enregistré en ordinateurs réellement utilisables. Pour poursuivre cette histoire, voir également les articles consacrés à Alan Turing, au Pilot ACE et à l’IAS Machine.
En couverture : Réplique du « Baby » au Musée des sciences et de l’industrie de Castlefield, à Manchester photo par Logg Tandy, CC BY 4.0, Link
