# Electronic Delay Storage Automatic Calculator

L’Electronic Delay Storage Automatic Calculator (EDSAC) est un ordinateur de première génération mis en service en 1949 à l’Université de Cambridge, Royaume-Uni. Après le Manchester SSEM, l'EDSAC est le deuxième ordinateur électronique à programme enregistré connu et conçu à cet effet, et le premier entièrement utilisable.

## Historique

L'EDSAC fut conçu par Maurice Vincent Wilkes, d'après les travaux de John Von Neumann concernant l'EDVAC.
La construction débuta en 1947 et s'acheva au printemps 1949. L'EDSAC exécuta son premier programme le 6 mai 1949, calculant une table de puissances de deux et une liste de nombres premiers.
L'EDSAC fût éteint le 11 juillet 1958 après avoir été remplacé par son successeur, l'EDSAC 2, qui fonctionna jusqu'en 1965.
Les programmeurs de l'EDSAC utilisèrent des codes mnémotechniques pour les instructions, préfigurant les langages assembleur. L'EDSAC pouvait effectuer en une minute 15 000 opérations mathématiques dont 4 000 multiplications.

## Description technique

L'EDSAC est un ordinateur de première génération (employant des tubes électroniques), à programme enregistré, et programmé par instructions plutôt que par câblage.
L'EDSAC est constitué de 142 châssis répartis à travers 12 baies de 180cm de haut, abritant environ 3400 tubes électroniques, à mettre en perspective avec les quelque 19 000 tubes de l'ENIAC. La plupart des étagères constituent le processeur, les autres servent à l'alimentation, la gestion de la mémoire ou encore l'amorçage.
Le jeu d'instructions comprend 17 instructions avec un cycle de 1.5ms pour les instructions ordinaires, et de 6ms pour la multiplication, avec une vitesse de traitement moyenne de 650 instructions par seconde.
La mémoire est constitué de 18 lignes de délai au mercure d'une capacité de 512 mots de 18 bits, dont 17 utilisables, soit une capacité totale de 8704 bits (environ 1 kilooctet). Cette capacité fut portée à 1024 mots en 1956, permettant l'exécution de programmes de 800 instructions.
Initialement, l'EDSAC ne comprenait qu'un seul registre limité à un accumulateur et un registre multiplicateur. En 1953, un registre d'indexation fut ajouté.
Les entrées se faisaient par ruban perforé, et les sorties par téléscripteur.
Parmi les témoignages d'époque, John Lindley, alors jeune programmeur sur la machine, mentionnait "l'incroyable difficulté" de produire un ruban perforé correct avec l'équipement primitif et peu fiable des années 1950. Les fins rubans de papier s’emmêlaient ou se déchiraient régulièrement dans la perforatrice artisanale servant de périphérique d'entrée de l'EDSAC.

## Réplique

Le 13 janvier 2011, la Computer Conservation Society annonce son projet de créer une réplique de l'EDSAC au Musée National de l'Informatique à Bletchey Park, comme cela avait été fait pour le Colossus et le Manchester SSEM. Le projet serait supervisé par Andrew Herbert, étudiant de Maurice Wilkes, concepteur de l'EDSAC. La reconstitution des circuits a été permise par le développement d'un simulateur logique bas niveau, EDSIE, et par la redécouverte de schémas originaux. Cette documentation est désormais fournie sous licence Creative Commons par le groupe de re-création de l'EDSAC.
La réplique était estimée prête à l'exposition pour l'automne 2017, mais subit entre-temps des retards. Au début de 2021, le projet a suffisamment avancé pour permettre le fonctionnement de plusieurs instructions.

## Anecdotes

Le premier livre de programmation informatique, "The preparation of programs for an electronic digital computer", fût écrit par Maurice Wilkes et certains de ces associés. Il fut publié en 1951 et cible principalement l'EDSAC. Cet ouvrage est désormais dans le domaine public et librement accessible.
L'EDSAC est la première machine connue à comprendre un amorceur, permettant de charger un programme plutôt que de saisir ses instructions manuellement, comme sur l'ENIAC ou Manchester SSEM. Ces 31 instructions sont connues sous le nom de "Initial Orders". Une seconde révision permettait même la relocalisation du code en mémoire.
Les opérateurs de l'EDSAC câblèrent un haut parleur sur le circuit de l'accumulateur. Un arrêt du programme ou une boucle infinie pouvaient ainsi être repérés auditivement, et immédiatement.