Zuse 3

Premier ordinateur numérique programmable et entièrement automatique en état de fonctionnement

Le Z3 était un calculateur à relais électromécaniques conçu par l'ingénieur allemand Konrad Zuse. Ce calculateur était la première machine programmable pleinement automatique, ce qui en ferait le premier ordinateur du monde. Il était composé de 2 000 relais électromécaniques, fonctionnait à une fréquence d'horloge de 5 à 10 Hz et exploitait des mots d'une longueur de 22 bits[1]. Le code et les données étaient stockés sur des rubans perforés en celluloïd.

Le Z3 fut achevé à Berlin en 1941. L'Institut de recherche aéronautique allemand l'utilisait pour réaliser des analyses statistiques sur les vibrations des ailes. Il fut détruit par des bombardements aériens en 1943. Une réplique entièrement opérationnelle fut construite dans les années 1960 par la société de Zuse, Zuse KG, et reste exposée au Deutsches Museum à Munich.

Zuse demanda au gouvernement allemand de lui fournir des tubes électroniques mais sa demande fut rejetée car considérée comme « non indispensable à l'effort de guerre »[2].

Conception et développement

modifier
 
Mémoire électromagnétique du Z3, Z5 et Z11

Zuse conçut le Z1 entre 1935 et 1936 et le construisit entre 1936 et 1938. Le Z1 était entièrement mécanique et ne pouvait fonctionner que quelques minutes. Helmut Schreyer (en) conseilla à Zuse d'utiliser une technologie différente. En tant que doctorant à l'université technique de Berlin en 1937, il travaillait sur l'implantation d'opérations booléennes dans des dispositifs à base de tubes à vide. En 1938, Schreyer fit la démonstration d'un circuit construit avec ces tubes à une petite audience et exposa sa vision d'un calculateur électronique. Cependant, le plus grand système électronique opérationnel contenait trop peu de tubes rendant cette idée irréalisable[3].

Zuse décida alors de créer une nouvelle machine avec des relais. La réalisation du Z2 fut soutenue financièrement par Kurt Pannke, qui fabriquait de petits calculateurs. Le Z2 fut terminé en 1939 et présenté au Deutsche Versuchsanstalt für Luftfahrt (« Laboratoire allemand pour l'aviation ») en 1940 à Berlin-Adlershof. Zuse eut de la chance car ce fut l'une des rares fois que le Z2 fonctionna et il convainquit le DVL de financer sa prochaine machine[3].

Pour améliorer le Z2, il construisit le Z3 en 1941, qui était un projet hautement secret du gouvernement allemand[4]. Jenissen, membre du Reichsluftfahrtministerium (ministère de l'Air) se comporta comme le superviseur officiel du projet.

Le Z3 fut terminé en 1941 et était plus rapide et beaucoup plus fiable que les Z1 et Z2. Le Z3 pouvait supporter les valeurs infinies et son programme était stocké sur un enregistrement externe, ce qui permettait de changer de programme sans avoir à modifier les connexions. Les nombres entrés en base décimale étaient convertis en binaire à virgule flottante. Le , il fut présenté à une audience de scientifiques dont A. Teichmann et C. Schmieden[5] du Deutsche Versuchsanstalt für Luftfahrt (German Laboratory for Aviation), à Berlin[6].

Zuse se concentra par la suite sur le Z4 qui ne put être terminé qu'après la guerre.

Comparaison aux autres travaux

modifier

Le Z3 utilisait le système binaire, sur lequel Leibniz avait travaillé à la fin du XVIIe siècle[7],[8]. George Boole l'exploita pour développer l'algèbre de Boole. En 1937, Claude Shannon du Massachusetts Institute of Technology présenta l'idée d'appliquer l'algèbre booléenne aux relais électroniques dans un séminaire sur la conception des circuits numériques. Néanmoins, Zuse fut le premier qui rassembla tout cela dans une réalisation pratique, le Z3, calculateur programmable.

La première conception de calculateur programmable fut celle de la machine analytique de Charles Babbage au XIXe siècle. Ce concept n'a jamais pu être réalisé avant, sûrement parce qu'il était décimal et donc bien plus compliqué que la simplicité de la conception binaire du Z3. Tout de même en 1991, à partir des plans originaux de Charles Babbage, le moteur de soustraction de sa machine fut réalisé et fut pleinement fonctionnel. Et si Ada Lovelace, l'amie de Babbage, fut la première programmeuse théorique d'une machine inexistante, Zuse fut pour sa part le premier programmeur d'une machine réelle en pratique.

Les 10 ordinateurs britanniques Colossus[9] furent les premiers ordinateurs électroniques à l'exception du Atanasoff–Berry Computer non programmable. Ils utilisaient des tubes à vide et des représentations binaires des nombres. La programmation était réalisée par l'intermédiaire de câbles et de relais. Son développement fut gardé secret durant plusieurs décennies ce qui rendit les revendications de « premières » informatiques incorrectes.

L'ENIAC fut terminé après la guerre. Il s'agissait du premier ordinateur électronique conçu spécifiquement comme Turing-complet. Il utilisait des tubes à vides en guise de commutateurs, alors que le Z3 utilisait encore des relais électromécaniques. En revanche, il utilisait le système décimal et jusqu'en 1948, pour le programmer il fallait changer de nombreuses connexions par câbles.

Le Small-Scale Experimental Machine de 1948 et l'EDSAC de 1949 furent les premiers ordinateurs à architecture de von Neumann, c'est-à-dire que les programmes étaient stockés dans l'ordinateur lui-même. Ce concept a été nommé d'après John von Neumann même si ce dernier reprenait des travaux d'Alan Turing et que l'idée avait été émise par Konrad Zuse en 1936 dans un brevet qui fut rejeté.

Caractéristiques des premiers ordinateurs des années 1940
Nom Pays Lancement Système de nombres Mécanique Programmation Turing-complet
Zuse Z3 Allemagne Binaire virgule flottante Électromécanique Programmation à base de rubans perforés Oui
Atanasoff–Berry Computer États-Unis 1942 Binaire Électronique Non programmable Non
Colossus Mark 1 Royaume-Uni Binaire Électronique Programmation à base de câblage et de commutateurs Non
Harvard Mark I – IBM ASCC États-Unis Décimal Électromécanique Programmation à base de rubans perforés Non
Colossus Mark 2 Royaume-Uni Binaire Électronique Programmation à base de câblages et de commutateurs Non
Zuse Z4 Allemagne Binaire virgule flottante Électromécanique Programmation à base de rubans perforés Oui
ENIAC États-Unis Décimal Électronique Programmation à base de câblages et de commutateurs Oui
Small-Scale Experimental Machine (Baby) Royaume-Uni Binaire Électronique Programme stocké dans un tube de Williams Oui
Modified ENIAC États-Unis Décimal Électronique Programmation à base de câblages et de commutateurs et d'un système primitif de ROM Oui
EDSAC Royaume-Uni Binaire Électronique Programme stocké dans une mémoire à ligne de délai Oui
Manchester Mark I Royaume-Uni Binaire Électronique Programme stocké dans un tube de Williams et dans un tambour magnétique Oui
CSIRAC Australie Binaire Électronique Programme stocké dans une mémoire à ligne de délai Oui

Relation au concept de machine de Turing universelle

modifier

Il était possible de réaliser des boucles sur le Z3 mais il n'existait pas d'instructions conditionnelles. Néanmoins, le Z3 était Turing-complet, la manière d'implanter une machine de Turing sur le Z3 fut démontrée par Raúl Rojas (en) en 1998[10],[11]. Rojas écrivit que l'« on peut par conséquent dire que d'un point de vue théorique, le Z3 est équivalent aux ordinateurs actuels en revanche d'un point de vue pratique, la manière dont il fut programmé le place à part des ordinateurs modernes. »

D'un point de vue pragmatique, le Z3 fournissait un jeu d'instructions pour les applications des années 1940. Zuse était d'ailleurs un ingénieur civil qui construisit des ordinateurs pour faciliter son travail dans sa profession principale.

Caractéristiques techniques

modifier
  • Vitesse moyenne de calcul : addition 0,8 seconde ; multiplication 3 secondes
  • Unité arithmétique : binaire à virgule flottante avec des mots de 22 bits
  • Opérations effectuées : addition, soustraction, multiplication, division, racine carrée
  • Mémoire : 64 mots d'une longueur de 22 bits
  • Programme : sur ruban perforé
  • Entrée : nombres décimaux en virgule flottante
  • Sortie : nombres décimaux en virgule flottante
  • Les entrées et sorties étaient facilitées par un terminal possédant un clavier et une rangée de lampes pour afficher les résultats[3].
  • Composants : environ 2 000 relais (1 400 pour la mémoire)[3]
  • Fréquence : 5,3 Hz
  • Puissance réelle : 20 flops
  • Consommation : environ 4 000 watts
  • Poids : environ 1 000 kg

Notes et références

modifier
  1. (de) Konrad Zuse, Der Computer. Mein Lebenswerk., Berlin, Springer-Verlag, , 3e éd. (ISBN 978-3-540-56292-4), p. 55
  2. (de) Hans-Willy Hohn, Kognitive Strukturen und Steuerungsprobleme der Forschung. Kernphysik und Informatik im Vergleich, Francfort-sur-le-Main, Schriften des Max-Planck-Instituts für Gesellschaftsforschung Köln, (ISBN 978-3-593-36102-4), p. 148
  3. a b c et d Prof. Dr. Wolfram Lippe, « Kapitel 14 - Die ersten programmierbaren Rechner (i.e. The first programmable computers) » (consulté le )
  4. New perspectives, computer concepts, June Jamrich Parsons, Dan Oja. Cengage Learning, 2007. (ISBN 978-1-4239-0610-0), 9781423906100. Consulté le 14 mars 2010.
  5. (de) « An einem 12. Mai », Deutsches Historisches Museum
  6. (de) « Technische Universität Berlin - Rechenhilfe für Ingenieure », université technique de Berlin
  7. Leibnitz G.G., 1703, Explication de l’arithmétique binaire, qui se sert des seuls caractères 0 et 1 avec des remarques sur son utilité et sur ce qu’elle donne le sens des anciennes figures chinoises de Fohy. Mémoires de mathématique et de physique de l’Académie royale des sciences, Paris.
  8. (en-US) « The Binary System Was Created Long Before Leibniz – Communications of the ACM », (consulté le )
  9. (en) Colossus: The Secrets of Bletchley Park's Codebreaking Computers, Oxford University Press, (ISBN 978-0-19-284055-4)
  10. (en) R. Rojas, « How to make Zuse's Z3 a universal computer », IEEE Annals of the History of Computing, vol. 20, no 3,‎ , p. 51–54 (DOI 10.1109/85.707574)
  11. (en) Raúl Rojas, « How to Make Zuse's Z3 a Universal Computer »

Annexes

modifier

Articles connexes

modifier

Liens externes

modifier