thumb|300px|alt=Une série de 7 grands casiers de métal remplis d'appareils électroniques devant un mur de briques. Un panneau au-dessus de chaque casier décrit le rôle des composants qu'il contient. À gauche de l'image, trois visiteurs lisent les informations.|Réplique de la (SSEM) au musée des sciences et de l'industrie de Manchester.

La (SSEM) (« machine expérimentale à petite échelle »), surnommée (« Bébé »), était la première machine à architecture de von Neumann du monde. Construite à l’université Victoria de Manchester par Frederic Calland Williams, Tom Kilburn et , elle exécuta son premier programme le .

Cette machine ne fut pas construite pour son utilité pratique en tant qu'ordinateur, mais comme un banc de test pour le tube de Williams, une forme primitive de mémoire d'ordinateur. Bien que considérée comme « petite et primitive » selon les standards de son époque, elle fut la première machine fonctionnelle contenant tous les éléments essentiels d'un ordinateur électronique moderne . Dès que la SSEM eut démontré la faisabilité de sa conception, un projet fut lancé à l'université de Manchester pour la développer afin d'en faire un ordinateur plus utilisable, le Manchester Mark I. Le Mark I, à son tour, devint rapidement le prototype du Ferranti Mark I, le premier ordinateur généraliste commercialisé .

La SSEM utilisait des mots de et une mémoire de . Comme elle était conçue pour être l'ordinateur à programme enregistré en mémoire le plus simple possible, les seules opérations arithmétiques implantées dans le matériel étaient la soustraction (moins binaire) et l'opposé (moins unaire) ; les autres opérations arithmétiques étaient réalisées par des programmes.

Le premier des trois programmes écrits pour la machine trouva le plus grand diviseur propre de 218 (), un calcul dont on savait qu'il prendrait un temps important pour s'exécuter, en testant chaque entier de 218−1 à 1 dans l'ordre décroissant, car il fallait réaliser les divisions par des soustractions itérées du diviseur.

Le programme consistait en 17 instructions et fonctionna pendant avant d'atteindre la réponse correcte, . La SSEM effectua d'opérations pour ce calcul, ce qui donne une vitesse de .

Contexte

De la machine de Turing à l'architecture de von Neumann

Le premier calculateur contrôlé par un programme fut la machine analytique construite par Charles Babbage en 1834. Un siècle plus tard, en 1936, le mathématicien Alan Turing publia sa description de ce qui est désormais connu sous le nom de machine de Turing, un concept théorique destiné à explorer les limites du calcul mécanique. Turing n'imaginait pas une machine physique mais une personne, qu'il appelait un « calculateur », qui suivait les instructions fournies par une bande sur laquelle on pouvait lire et écrire des symboles séquentiellement au fur et à mesure qu'elle passait sous une tête de lecture/écriture. Turing prouva que s'il est possible d'écrire un algorithme pour résoudre un problème mathématique, alors une machine de Turing peut exécuter cet algorithme .

Le Z3 de Konrad Zuse fut la première machine programmable fonctionnelle du monde. Entièrement automatique, à base de circuits binaires numériques, il n'avait cependant pas les branchements conditionnels d'une machine de Turing. En , il fut présenté avec succès devant un public de scientifiques du (« Laboratoire allemand pour l'aviation ») à Berlin . Le programme du Z3 était enregistré sur une bande externe, mais elle était électromécanique plutôt qu'électronique. Le Colossus, fabriqué en 1943, fut le premier instrument de calcul électronique, mais ne faisait que du décryptage et n'était donc pas une machine généraliste.

L'ENIAC fut, en 1946, la première machine électronique généraliste. Il était Turing-complet, avec des branchements conditionnels, et programmable pour résoudre une large gamme de problèmes. Cependant, son programme était enregistré dans l'état d'interrupteurs dans des câbles, et non en mémoire, en sorte qu'il pouvait falloir plusieurs jours pour le reprogrammer. Des chercheurs tels que Turing et Konrad Zuse explorèrent l'idée d'utiliser la mémoire de l'ordinateur pour contenir le programme et les données sur lesquelles il travaillait , mais on considère généralement que c'est le mathématicien John von Neumann qui a défini cette architecture d'ordinateur, toujours utilisée dans presque tous les ordinateurs.

Du radar à l'ordinateur

La construction d'un ordinateur de von Neumann dépendait de la disponibilité d'un support de mémoire sur lequel enregistrer le programme. Pendant la Seconde Guerre mondiale, des chercheurs travaillant sur le problème d'éliminer les échos parasites des signaux radar avaient développé une forme de mémoire à ligne de délai, dont la première application fut la ligne de délai au mercure développée par John Presper Eckert. Les transmetteurs radar envoient des pulsations d'énergie radio brèves et régulières, dont les reflets sont affichés sur un écran à tube cathodique. Comme les opérateurs ne s'intéressent habituellement qu'aux cibles mouvantes, il était désirable d'éliminer les reflets d'objets stationnaires. Ce filtrage était réalisé en comparant chaque pulsation reçue avec la précédente et en rejetant les deux si elles étaient identiques, ce qui résultait en un signal qui ne contenait que les images d'objets en mouvement. Afin d'enregistrer chaque pulsation reçue pour une comparaison ultérieure, elle passait par une ligne de transmission, ce qui la retardait exactement du temps séparant deux pulsations transmises.

Turing arriva au (NPL) de Teddington (Richmond upon Thames, grand Londres) en octobre 1945. À ce moment, des scientifiques du ministère de l'équipement des armées avaient conclu que la Grande-Bretagne avait besoin d'un laboratoire national de mathématiques pour coordonner le calcul assisté par machine. Une division de mathématiques fut mise en place au NPL, et le , Alan Turing présenta un article décrivant sa conception d'un calculateur électronique à programme enregistré en mémoire connu sous le nom d' (ACE) (« moteur de calcul automatique »). Ce fut l'un des multiples projets lancés dans les années suivant la Seconde Guerre mondiale dans le but de construire un calculateur à programme enregistré en mémoire. Approximativement au même moment, l'EDVAC était en développement à l'école Moore d'ingénieurs électriciens de l'université de Pennsylvanie, et le laboratoire de mathématiques de l'université de Cambridge travaillait sur l'EDSAC.

Les responsables du projet au NPL n'avaient pas l'expertise nécessaire à construire une machine comme l'ACE, ils contactèrent donc Tommy Flowers au centre de recherches du bureau de Poste général. Flowers, qui avait conçu Colossus, le premier ordinateur électronique programmable au monde, avait d'autres engagements et ne put prendre part au projet. Cependant, son équipe construisit quelques lignes de délai pour l'ACE. Ils demandèrent aussi de l'aide au Telecommunications Research Establishment (TRE) (« établissement de recherches en télécommunications ») et à Maurice Wilkes, du laboratoire de mathématiques de l'université de Cambridge.

Les responsables du NPL au gouvernement décidèrent que, comme tout le travail était effectué par le TRE en son nom, l'ACE devait recevoir la priorité maximale. La décision du NPL conduisit à une visite du surintendant de la division de physique du TRE le , en compagnie de Frederic Calland Williams et A. M. Uttley, lui aussi du TRE. Williams dirigeait un groupe de développement du TRE qui travaillait sur les supports de mémoire CRT pour les appliquer aux radars, en lieu et place des lignes de délai. Il avait déjà accepté un poste de professeur à l'université Victoria de Manchester, et la plupart de ses techniciens de circuits étaient en cours de transfert vers le département de l'énergie atomique. Le TRE accepta d'aider un petit groupe de techniciens placé sous la direction de Williams à l'université et de soutenir un autre petit groupe travaillant avec Uttley au TRE.

Le tube de Williams

Les premiers ordinateurs, comme le CSIRAC, exploitaient des lignes de délai au mercure . Cependant, cette technologie avait des inconvénients : elle était lourde, coûteuse, et ne permettait pas l'accès aléatoire. De plus, comme les données étaient enregistrées comme une séquence d'ondes acoustiques propagées dans une colonne de mercure, il fallait contrôler très attentivement la température de la machine, car la vitesse du son dans un milieu varie avec sa température. Williams avait vu une expérience à Bell Labs qui montrait l'efficacité de tubes cathodiques (CRT) comme alternative aux lignes de délai pour enlever l'écho de terre des signaux radar. Alors qu'il travaillait au TRE, peu avant d'arriver à l'université de Manchester en , il avait développé une forme de mémoire électronique connue sous le nom de tube de Williams, basée sur un CRT standard, qui était le premier support d'enregistrement numérique à accès aléatoire. La Small-Scale Experimental Machine fut conçue pour prouver la viabilité du tube de Williams comme support d'enregistrement, en vérifiant que les données qu'il contenait pouvaient être mises à jour continuellement avec la vitesse nécessaire pour permettre leur utilisation par un ordinateur.

Pour être utilisable dans un ordinateur numérique binaire, le tube devait pouvoir enregistrer l'un ou l'autre de deux états dans chacun de ses emplacements de mémoire, pour représenter les bits 0 et 1. Il exploitait la charge électrostatique générée en affichant soit un trait, soit un point à chaque position sur l'écran CRT. Ce phénomène est appelé émission secondaire. Un trait générait une charge positive et un point une charge négative. Une plaque de détection en face de l'écran recevait la charge, qui représentait 0 si elle était négative, 1 si elle était positive. La charge se dissipait en environ , mais elle pouvait être automatiquement rafraîchie à partir des données captées par le détecteur. Au départ, le tube de Williams était basé sur le CV1131, un CRT du commerce de de diamètre, mais un tube plus petit, de de diamètre, le CV1097, fut utilisé dans la SSEM.

Conception et développement

thumb|250px|right|Schéma de l'architecture montrant comment les quatre tubes cathodiques (en vert) étaient déployés

Nommé à la chaire d'ingénierie électrique de l'université de Manchester, Williams recruta son collègue du TRE Tom Kilburn comme assistant. À l'automne 1947, les deux scientifiques avaient augmenté la capacité de stockage du tube de Williams d'un bit à , disposés en une matrice de 64 bits par 32, et montré qu'il était possible de conserver ces bits pendant quatre heures. L'ingénieur Geoff Tootill se joignit à l'équipe, détaché du TRE en , et resta comme assistant jusqu'en .

Max Newman avait été nommé à la chaire de mathématiques pures de l'université de Manchester en 1945. Pendant la Seconde Guerre mondiale, il avait travaillé comme cryptanalyste à Bletchley Park et dirigé l'équipe qui, en 1943, avait produit le premier des ordinateurs casseurs de code Colossus. Bien que Newman n'ait joué aucun rôle actif dans le développement de la SSEM, pas plus qu'aucun des ordinateurs Manchester qui suivirent, il soutenait ce projet qui l'enthousiasmait, et organisa l'acquisition de fournitures issues de surplus de guerre pour sa construction, y compris des casiers métalliques du bureau de Poste général de Bletchley.

En , la SSEM était construite et fonctionnait. Elle était longue de , haute de , et pesait presque une tonne. La machine contenait , et , et consommait . L'unité arithmétique était faite de tubes électroniques EF50 (des pentodes Philips), largement utilisés pendant la guerre.