Ce qui change lorsque les instructions entrent en mémoire
Une machine peut être programmable sans conserver son programme dans une mémoire électronique. Dans la configuration initiale d’ENIAC, les connexions entre unités et les réglages des commutateurs organisent les opérations. Modifier la méthode de calcul demande donc un travail matériel de préparation et de vérification. Cela n’empêche ni l’automatisation du calcul ni une grande souplesse pour l’époque.
Avec le programme enregistré, les instructions deviennent des informations codées que la machine peut retrouver en mémoire. Un même équipement de calcul suit alors des enchaînements différents selon les instructions chargées. Il reste nécessaire de préparer le programme, d’introduire les données et de contrôler le résultat : la mémoire ne remplace pas le travail de programmation.
Prenons une comparaison pédagogique. Pour calculer successivement des carrés puis des sommes, une machine configurée matériellement peut demander une nouvelle organisation des connexions. Avec des instructions en mémoire, ce changement passe principalement par le chargement d’un autre programme. L’exemple illustre une différence de préparation, pas une mesure du temps nécessaire sur chaque machine historique.
La fiche consacrée à l’architecture de von Neumann explique ce principe général. Ici, la difficulté est concrète : comment conserver des instructions assez longtemps, les lire sans les perdre et les retrouver au bon moment ?

Schéma original Bethemesh. Les flèches représentent un parcours de préparation et d’exécution, pas le câblage d’une machine. La partie gauche évoque notamment ENIAC dans sa configuration initiale ; elle ne décrit pas toutes les machines antérieures.
EDVAC et ACE : des projets et des idées qui circulent
Le programme enregistré ne naît pas d’une seule démonstration. Les travaux autour d’ENIAC et de son successeur prévu, EDVAC, réunissent notamment J. Presper Eckert, John Mauchly, Herman Goldstine, Arthur Burks et John von Neumann. La réflexion porte sur l’organisation de la machine autant que sur les moyens physiques de conserver les informations.
En 1945, le First Draft of a Report on the EDVAC, signé par von Neumann, contribue fortement à diffuser cette conception. Son rôle documentaire ne permet pas d’attribuer à son seul auteur toutes les idées issues des échanges de l’équipe. La biographie de John von Neumann replace sa contribution dans ce contexte collectif.
En Grande-Bretagne, Alan Turing travaille au National Physical Laboratory sur le projet ACE, Automatic Computing Engine. Ses propositions d’après-guerre explorent elles aussi l’organisation d’une machine électronique programmable. Le Pilot ACE, une réalisation ultérieure issue de cette voie de recherche, ne doit pas être confondu avec Baby ou EDSAC.
Ces projets se nourrissent d’expériences de calcul, de recherches sur les composants et d’échanges scientifiques. Le passage à la machine opérationnelle dépend ensuite de choix d’ingénierie : une architecture sur le papier ne garantit ni une mémoire stable ni un programme correctement exécuté.
Manchester Baby : construire une machine pour éprouver sa mémoire
Williams, Kilburn et Tootill
À Manchester, le point de départ est le stockage électronique. Frederic C. Williams développe une technique utilisant des tubes cathodiques, dans le prolongement de ses recherches au Telecommunications Research Establishment. Tom Kilburn travaille avec lui à sa mise au point. Geoff Tootill participe à la construction et aux essais de la machine expérimentale.
Cette origine rappelle l’importance des équipes et des moyens techniques de l’après-guerre. Les composants, l’expérience des circuits et les instruments de mesure comptent autant que la formulation du principe. Le nom usuel « tube de Williams » ne doit donc pas effacer Kilburn ; l’expression tube de Williams-Kilburn rend mieux compte de cette collaboration.
Des charges électriques à entretenir
Un tube cathodique possède un faisceau d’électrons qui permet de créer des configurations de charges sur son écran. Le système distingue ainsi des états représentant des bits. Ces charges ne durent pas indéfiniment : il faut lire et régénérer les informations pour les conserver.
L’enjeu dépasse l’affichage d’un motif stable. Une mémoire d’ordinateur doit accepter des écritures et des lectures répétées pendant que le calcul se poursuit. Le Baby, officiellement Small Scale Experimental Machine, sert précisément à éprouver ce fonctionnement dans une machine complète.
Sa mémoire principale comprend 32 mots de 32 bits, partagés entre instructions et nombres. Cela représente 1 024 bits, soit 128 octets selon notre unité actuelle, sans compter les autres organes de la machine. La conversion donne un ordre de grandeur ; elle ne signifie pas que Baby fonctionne comme un ordinateur moderne adressant des octets.
Le 21 juin 1948 : un programme qui sert aussi de test d’endurance
Le premier programme réussi est écrit par Kilburn pour rechercher un diviseur d’un entier. La méthode repose sur des essais et des soustractions répétées : elle sollicite les instructions, les changements de séquence et la mémoire pendant une exécution prolongée.
Le célèbre test portant sur 2¹⁸, soit 262 144, ne doit pas être automatiquement confondu avec le premier succès. La chronologie conservée par Manchester distingue le fonctionnement du 21 juin des essais sur ce nombre atteints dans les jours suivants. Le test sur 2¹⁸ trouve son plus grand diviseur propre, 131 072, en environ 52 minutes. Cette durée illustre la capacité de la mémoire à soutenir un calcul prolongé, au-delà d’une courte démonstration.
L’objectif n’est pas de découvrir une propriété mathématique inconnue : le résultat est prévisible et permet donc de vérifier la machine. Comme pour un instrument scientifique que l’on éprouve avec une mesure connue, l’intérêt du test tient à la confiance qu’il apporte dans le fonctionnement de l’appareil.
Le programme est introduit avec des commandes manuelles ; les résultats s’observent sur un écran cathodique. Le très petit espace mémoire et les moyens d’entrée-sortie limités empêchent d’y voir un service de calcul destiné à des utilisateurs nombreux. Dans leur lettre à Nature de septembre 1948, Williams et Kilburn présentent eux-mêmes leur machine comme expérimentale et trop réduite pour fournir un véritable outil mathématique.
Du Baby au Manchester Mark 1, puis à Ferranti
La réussite du Baby ouvre la voie à un ordinateur universitaire plus complet, le Manchester Mark 1. Au cours de 1949, les développements ajoutent notamment une mémoire plus importante, un tambour magnétique, des moyens d’entrée-sortie sur bande perforée et des possibilités de calcul élargies. Le prototype de mémoire devient ainsi le point de départ d’une autre échelle d’utilisation.
Dès avril 1949, une version intermédiaire est disponible pour les travaux scientifiques d’autres départements universitaires, avant les premiers programmes d’EDSAC ; elle reste toutefois dépourvue d’entrées-sorties sur bande et nécessite des transferts manuels avec le tambour, une exploitation différente du service scientifique progressivement organisé autour d’EDSAC.
Le Ferranti Mark 1 appartient à l’étape industrielle suivante. Développé à partir des travaux universitaires avec la participation de personnels de Manchester et de Ferranti, il est livré à l’université en février 1951.
Trois noms désignent donc trois étapes : Baby, le démonstrateur de 1948 ; Manchester Mark 1, la machine universitaire développée en 1949 ; Ferranti Mark 1, la réalisation commerciale livrée en 1951. Les regrouper sous le seul nom « Mark 1 » ferait disparaître des différences essentielles.
EDSAC : concevoir dès le départ un outil pour les chercheurs
À Cambridge, Maurice Wilkes dirige le Mathematical Laboratory avec un objectif de service : fournir des moyens de calcul aux scientifiques de l’université. Il étudie les travaux sur EDVAC et assiste aux conférences de la Moore School en 1946. Le projet EDSAC s’inscrit dans cette circulation des connaissances, sans constituer une simple copie d’un ordinateur déjà achevé.
EDSAC, Electronic Delay Storage Automatic Calculator, privilégie des choix de conception éprouvés plutôt que la recherche systématique de la performance maximale. William « Bill » Renwick, ingénieur en chef, conduit la construction. David Wheeler joue un rôle majeur dans les méthodes de programmation. Les techniciens et les autres membres du laboratoire rendent possibles le montage, les essais puis l’exploitation quotidienne.
Le 6 mai 1949, EDSAC exécute avec succès ses premiers programmes, dont un calcul de table de carrés. La bande perforée permet d’introduire un programme et le téléimprimeur fournit des résultats lisibles. Ces équipements contribuent directement à son utilité : un calculateur scientifique doit pouvoir recevoir un travail et restituer autre chose qu’un état électrique à interpréter par ses constructeurs.
La mémoire à lignes à retard au mercure
EDSAC conserve ses informations dans des lignes à retard au mercure. À l’entrée d’un réservoir, un transducteur transforme des impulsions électriques en ondes acoustiques. À l’autre extrémité, un second transducteur les reconvertit en signaux électriques. Les impulsions sont remises en forme puis réinjectées : l’information circule tant que le système l’entretient.
La mémoire repose donc sur la propagation du son dans le liquide. Les tubes électroniques assurent les fonctions de calcul et de commande ; ils ne sont pas les réservoirs de mercure. Cette distinction évite une confusion fréquente entre deux composants très différents.
Ce stockage impose une contrainte temporelle : pour accéder à une information, la machine attend son passage au point de lecture. La mémoire cathodique de Manchester repose sur une autre méthode d’accès. Les deux solutions doivent entretenir les informations, mais elles ne les retrouvent pas de la même manière.
La capacité d’EDSAC doit être rapportée au format des mots et à l’état de la machine. Cambridge décrit une mémoire complète de 32 lignes à retard, pouvant contenir 512 nombres longs de 35 bits ou 1 024 emplacements courts de 17 bits : ces deux comptes décrivent la même capacité, pas une extension. La capacité effectivement utilisable augmente aussi avec la mise en service des batteries de mémoire.
Programmer, réutiliser et organiser un service de calcul
Charger les instructions et construire une bibliothèque
Une bande perforée ne constitue pas, à elle seule, un programme enregistré : elle peut servir à de nombreux types de machines. Sur EDSAC, son rôle est d’apporter les éléments du programme qui seront placés en mémoire avant leur exécution. Un petit programme de démarrage, les initial orders, amorce ce chargement. Un dispositif électromécanique introduit ces premières instructions en mémoire au démarrage ; elles chargent ensuite le programme fourni sur bande. Cet amorçage matériel ne remet pas en cause le principe du programme enregistré.
La préparation des programmes s’enrichit surtout de sous-programmes réutilisables, auxquels Wheeler contribue de façon déterminante. Une opération courante peut être préparée, testée et conservée sur bande pour servir dans plusieurs calculs. Il faut notamment organiser le transfert vers cette routine et le retour à la suite du programme appelant.
Imaginons un calcul scientifique répétant la même approximation pour de nombreuses valeurs. Réemployer une routine déjà vérifiée évite de réécrire cette partie à chaque travail ; il reste à respecter ses conventions et à contrôler les résultats. Cette pratique rend la programmation plus collective : la fiabilité d’un calcul dépend aussi du travail transmis par d’autres.
En 1951, Wilkes, Wheeler et Stanley Gill publient The Preparation of Programs for an Electronic Digital Computer, consacré notamment à EDSAC et à l’emploi d’une bibliothèque de sous-programmes. Le livre témoigne de méthodes qui se structurent autour de la machine ; il ne s’agit pas encore d’un environnement de programmation contemporain.
Du premier résultat à une exploitation organisée
Le premier programme réussi ne suffit pas à établir un service régulier. La chronologie rédigée par Wheeler, complétée par David Hartley, situe la formalisation du service en 1950, avec des opérateurs chargés d’exécuter les programmes. La fiabilisation de la machine et l’organisation des usages se poursuivent après mai 1949.
La préparation et la comparaison des bandes, l’acceptation des routines de bibliothèque et les diagnostics après une interruption font partie du travail du laboratoire. Eric Mutch intervient dans la qualité de cette bibliothèque ; Gill développe notamment des routines de calcul numérique. Derrière le nom EDSAC se trouve ainsi une infrastructure humaine autant qu’une machine.
Les travaux accueillis comprennent des calculs de génétique, de cristallographie et d’autres recherches numériques. L’apport dépasse l’accélération d’une opération isolée : une équipe scientifique peut envisager des séries de calculs qui auraient été beaucoup plus lourdes à mener avec des tables et des calculateurs de bureau.
Comparer les machines sans fabriquer un podium
| Critère |
Manchester Baby |
EDSAC |
| Premier fonctionnement réussi |
21 juin 1948 |
6 mai 1949 |
| Objectif initial |
Éprouver une mémoire électronique dans une machine exécutant un programme |
Fournir un moyen de calcul scientifique aux chercheurs de Cambridge |
| Mémoire principale |
Charges sur écran cathodique, régénérées |
Impulsions acoustiques circulant dans des lignes à retard au mercure |
| Programme |
Instructions et nombres conservés dans une petite mémoire réinscriptible |
Instructions chargées depuis une bande et conservées en mémoire |
| Accès et préparation |
Chargement manuel, observation sur écran |
Bande perforée, chargement amorcé par les initial orders, résultats au téléimprimeur |
| Portée de la première réussite |
Démonstration expérimentale du fonctionnement |
Début d’une évolution vers un service, formalisé en 1950 |
| Prolongements |
Manchester Mark 1, puis Ferranti Mark 1 |
Bibliothèque de routines, méthodes de programmation et service scientifique |
La comparaison avec Colossus porte sur un autre critère : son électronique est spécialisée dans un travail de cryptanalyse, avec une configuration par connexions et commutateurs, sans programme général conservé dans une mémoire d’instructions. Cette spécialisation correspond à sa mission ; Baby n’est pas un remplacement de Colossus.
Pour ENIAC, la période importe. Sa configuration initiale organise matériellement les opérations, mais sa transformation de 1948 lui permet de lire des instructions encodées dans des tables de commutateurs. Ce fonctionnement diffère de la mémoire électronique réinscriptible de Baby et d’EDSAC. Dire simplement qu’ENIAC « n’a jamais eu de programme enregistré » effacerait cette évolution.
La priorité de Baby se précise donc par le critère d’un programme exécuté depuis une mémoire électronique réinscriptible ; la place d’EDSAC tient à l’usage scientifique et au service qui s’organise autour de lui. Ces critères éclairent des réalisations complémentaires, sans attribuer indistinctement à l’une d’elles le titre de « premier ordinateur du monde ».
Questions fréquentes
Pourquoi Baby est-il célèbre alors qu’il n’était pas destiné aux chercheurs ?
Il démontre qu’une mémoire électronique peut conserver à la fois des instructions et des nombres pendant un calcul réel. Son faible équipement d’entrée-sortie et sa petite mémoire correspondent à son objectif expérimental. Cette démonstration rend possible la poursuite du développement vers une machine plus complète.
EDSAC a-t-il commencé un service régulier dès le 6 mai 1949 ?
Cette date marque ses premiers programmes réussis. Des usages scientifiques suivent, mais l’organisation du service et la fiabilité se construisent progressivement. La chronologie du laboratoire situe sa formalisation en 1950 : le premier fonctionnement et le service organisé ne doivent pas être confondus.
Les tubes de Williams et les lignes à retard sont-ils des mémoires permanentes ?
Non. Les premiers entretiennent des configurations de charges ; les secondes font circuler des impulsions acoustiques régénérées. Ces mémoires dépendent du fonctionnement de leurs circuits. Le mot « enregistré » ne signifie donc pas que le programme reste disponible après l’arrêt de la machine.
Un programme sur bande perforée est-il nécessairement un programme enregistré ?
Non. Il faut regarder ce que fait la machine avec la bande. Sur EDSAC, les instructions sont chargées en mémoire pour être exécutées. Le support d’entrée et la mémoire de travail jouent des rôles différents : la présence d’une bande ne suffit pas à caractériser l’architecture.
Manchester Baby, Manchester Mark 1 et Ferranti Mark 1 sont-ils le même ordinateur ?
Non. Baby est le prototype expérimental de 1948. Le Manchester Mark 1 est une réalisation universitaire plus complète développée en 1949. Le Ferranti Mark 1 est une machine industrielle issue de cette lignée, dont un exemplaire est livré à Manchester en février 1951.