ENSIMAG-2 Éléments d’histoire de l’informatique Sacha Krakowiak Université Grenoble Alpes & Aconit 2. De Turing à von Neumann CC-BY-NC-SA 3.0 FR Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18 De Turing à von Neumann ✤ 1936-1946 : la décennie décisive 2 les premiers ordinateurs commerciaux Les ordinateurs à programme enregistré 1951 1946 Moore School Lectures diffusion du modèle Modèle de von Neumann 1945 Machine de Turing Les premiers calculateurs électroniques électromécaniques Deux mondes disjoints 1936 1938-1944 La seconde guerre mondiale
19
Embed
Éléments d’histoire de l’informatiquelig-membres.imag.fr/krakowia/Files/Enseignement/... · Apprend l’existence du Harvard Mark1 et de l’ENIAC Commence à travailler sur
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ENSIMAG-2
Éléments d’histoire de l’informatique
Sacha KrakowiakUniversité Grenoble Alpes & Aconit
2. De Turing à von Neumann
CC-BY-NC-SA 3.0 FR
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
De Turing à von Neumann
✤ 1936-1946 : la décennie décisive
2
les premiers ordinateurs
commerciaux
Les ordinateursà programme enregistré
19511946
Moore School Lecturesdiffusion du
modèle
Modèle de von Neumann
1945
Machine de Turing
Les premierscalculateurs
électroniquesélectromécaniques
Deux mondes disjoints
1936
1938-1944
La seconde guerre mondiale
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Repenser la notion d’algorithme
✤ Le problème de la décisionPosé par Hilbert en 1928Peut-on déterminer de façon mécanique (par un algorithme) si un
énoncé est un théorème dans une théorie donnée (logique du premier ordre, arithmétique de Peano, …)
✤ Résultat (obtenu indépendamment, 1936) de Church et TuringLa réponse est négativeLa démonstration amène à préciser la notion d’algorithme
Church : le lambda-calculTuring : sa machine (abstraite)
✤ La thèse de Church-TuringUn algorithme est ce que peut exprimer la machine de Turing
(ou le lambda-calcul, ou tout système équivalent)Indémontrable par nature, mais non contredite à ce jour
3
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
La machine de Turing (1)
4
On définit un nombre fini d’états et un nombre fini de symboles
On définit un état initial, des données inscrites sur le ruban, et une position initiale de la têteActions possibles après lecture d’un symbole (selon table de transition) :
Changer d’étatÉcrire un symbole sur le rubanDéplacer la tête vers la droite ou la gauche
La machine peuts’arrêter (état final)se bloquer (opération impossible)tourner indéfiniment
National Portrait Gallery
tête de lecture-écriture
définit une action en fonction de l’état actuel et
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
La machine de Turing en perspective
✤ Un modèle pour l’ordinateur ?Une interprétation a posterioriD’abord une définition précise de l’algorithme…… mais sans doute une inspiration pour la machine ACE
de Turing
✤ De la calculabilité à la complexité algorithmiqueLes extensions de la machine de Turing (non-déterministes,
multi-rubans) comme outil de la théorie de la complexité
7
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Les premiers calculateurs
8
Date Technique Numération Programme Turingcomplet
Atanasoff-Berry Computer (ABC) 1937-41 électronique binaire non non
Bell Labs (Stibitz)Model 1 1937-39 électromécanique binaire non non
Colossus 1943-44 électronique binaire externe (tableau de connexion) non
ENIAC 1942-46 électronique décimal externe (tableau de connexion) oui
* en théorie pour Z3
non programmables
programmables
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Les premiers calculateurs
✤ Atanasoff-Berry Computer (Iowa State Univ.), 1939-41Spécialisée (systèmes linéaires), non programmableMachine à tubes, arithmétique binaire, non Turing-complète
✤ George Stibitz (Bell Labs)Spécialisée (calculs sur nombres complexes), 5 versionsÉlectro-mécanique (relais), décimal codé binaire, non programmable
9Wikimedia Commons CC BY-SA 3.0 by Manopp
ABC
Wikimedia Commons CC BY-SA 3.0 by Manopp
Model-1
Courtesy of ComputerHistory Museum
Stibitz Model-I1939
Model-K, 1937Model-I à Model V,
1939-1946
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Konrad Zuse (1910-1995)✤ Carrière
1935-39, ingénieur chez Henschel (avions)Z1 et Z2, calculateurs électromécaniques
1939, au front 6 mois, puis retour à Henschel1941 : Z3, électromécanique, Turing complet
1942, crée son entrepriseZuse Ingenieurbüro und Apparatebau, BerlinContrat pour le Z4
1944-45, raids alliésDestruction du Z3, évacuation du Z4 à GöttingenApprend l’existence du Harvard Mark1 et de l’ENIACCommence à travailler sur le langage Plankalkül
Après la guerre : recrée Zuse KG (plus de 1000 employés vers 1960)Z4 loué à ETH Zürich jusqu’en 1954, puis à Saint-Louis (recherche)Série de machines : Z5 (relais), Z22 (tubes), Z23 (transistors), …Zuse KG vendu à Brown Boveri (1964) puis Siemens (1967)
10
CC-BY-SA-3.0Wolfgang Hunscher, 1992
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Les premières machines de Zuse
✤ Z1, Z2 : l’apprentissage✤ Z3 : le premier calculateur programmable (expérimental)
Machine à relais600 : unité arithmétique flottante binaire1400 : mémoire de 64 mots de 22 bits
Programme externe sur film perforéMultiplication ou division en 3 secondesReconstruit en 1960
✤ Z4 : Version opérationnelle de Z3Machine à relaisJeu d’instructions étenduMémoire électromécanique
11
Zuse Z4, Deutsches MuseumCC-BY-2.5, Andreas Pfeiffer
Zuse Z3, Deutsches MuseumCC-BY-SA-3.0, Venusianer
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Nombres décimaux, 10 chiffres + signePossibilité de calcul en double précisionPossibilité de parallélisme (géré à la main)
20
✤ FiabilitéAu début
MTBF : qq heuresAprès 1948
MTBF : 2 jours
Wikimedia Commons
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
L’ENIAC
✤ Architecture20 accumulateurs (capables de faire addition/soustraction avec un
autre accumulateur ou une constante)La multiplication, la division et la racine carrée utilisent 4 accusLes constantes sont lues sur des cartes
Les accumulateurs sont connectés via des «bus de données»Représentation des nombres : compteurs réalisés par flip-flops Entrées-sorties
entrée lecteur de cartes IBM (2 cartes/s)perforateur de cartes IBM (5 cartes/3 s)
✤ ProgrammationUn «plan de travail» définit la séquence des opérations à effectuerIl est réalisé par câblage des unités sur un tableau de connexionLe branchement conditionnel (initialement absent) est possible
21
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Elles ont attendu 1997 pour être officiellement honorées
eniacprogrammers.org
Wescoff
Bilas LichtermanSnyder
Jennings
McNulty
L’ENIAC
22
Herman Goldstine et J. Presper Eckertavec un élément de compteur représentant
un chiffre décimal
Image courtesy of the Computer History Museum
Bilas
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Aperçu du fonctionnement de l’ENIAC
23
Chemins de données
Chemins de commande
Si a, b, c sont les contenus initiaux des accumulateurs ACC4, ACC5 et ACC6, ce schéma calcule en parallèle : a - b, b + 359, c + 2b + 359 et place ces résultats, respectivement, dans ces 3 accumulateurs
J. Van der Spiegel, J. F. Tau, T. F. Ala'ilima, and L. P. Ang (2000). The ENIAC: History, Operation and Reconstruction in VLSI. In: R. Rojas, U Hashagen (eds.), The First Computers - History and Architectures, MIT Press, Cambridge, 2000.
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Bilan de l’ENIAC
✤ A résolu le problème initialement poséCalculs balistiques
✤ Des défauts inhérents à la technique et à la conceptionFiabilité réduite (grand nombre de tubes, à faible durée de vie)Ne peut traiter que des problèmes de taille limitéeEt surtout
Programmation complexe, très longue, sujette aux erreurs
✤ Ouvre la voie aux ordinateurs modernesVia la conception de son successeur, l’EDVAC
24
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
John von Neumann
✤ Un esprit universel1926-30 : enseigne les mathématiques à Berlin1930 : Institute of Advanced Studies, Princeton
prend la nationailté américaine1942-45 : Projet Manhattan1944-46 : consultant pour ENIAC et EDVAC1946 : retour à l’IASContributions en mathématiques, physique,
économie
✤ En informatiqueLe rapport fondateur du «modèle de von Neumann»La conception de la machine IASLa théorie des automates cellulaires
25
John von Neumann(1903-1957)Wikimedia Commons
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Le rapport EDVAC
✤ A First Draft of a Report on the EDVACpar John von Neumann, diffusé le 30 juin 1945 par H. Goldstine
✤ Principales contributionsLa séparation mémoire-processeurLa séparation unité de commande-unité arithmétiqueLa mémoire unique, support des données et des programmes
(la machine à programme enregistré)
✤ Autres aspectsIndications sur
schéma logique des opérationstechnologie de mémoire
Orienté vers le calcul numériquecalcul en binairetables de fonctions
26
Quelques ordres de grandeurMémoire de 4 à 8K mots de 32 bits Multiplication : 1 à 1,5 msAddition : 30 à 50 µs
Un rapport inachevé…peu de choses sur
les entrées-sortiesla programmation
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Le rapport EDVAC
✤ Une publication controversée…Ne rend pas justice au travail d’Eckert et de MauchlyMet les résultats dans le domaine public, sans leur accord
empêche le dépôt de brevets
✤ Une influence déterminanteUne large diffusion, via notamment les Moore School LecturesPratiquement tous les projets d’ordinateur post-1945 adoptent
l’architecture proposée
27
First Draft of a Report on the EDVACby John von Neumann
Wikimedia CommonsDomaine public
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Le modèle «de von Neumann»
✤ von Neumann (avec Eckert et Mauchly)✤ Traits essentiels
Séparation mémoire-unité centraleSéparation calcul-séquencementLa mémoire contient les données et les instructions
28
Mémoire
Unité de commande
Unité arithmétique
Unité centrale(ou processeur)
Entrées
Sorties
Wikimmedia Commons
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Le modèle «de von Neumann» (2)
✤ Le modèle aujourd’hui
✤ Le «goulot de von Neumann»Des palliatifs : les caches multiniveaux, la mémoire distribuée
29
BusMémoireEntrées
Sorties
……UC
UAL
UC
UAL
Processeurs
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
L’ENIAC, phase finale✤ Novembre 1945 : l’ENIAC entre en service
Programme enregistré à partir de 1948Sera transférée dans un laboratoire de l’arméeServira aux calculs pour la bombe H
✤ Printemps 1946 : dispersion de l’équipeEckert et Mauchly
en conflit avec l’université de Pennsylvanie (brevets)refusent les offres d’IBMcréent leur entreprise, Electronic Control Company (ECC)
von Neumann (avec Goldstine et Burks)revient à Princeton (Institute of Advanced Studies)lance le projet de la machine IAS
L’équipe ENIAC de Moore Schoolune partie rejoint ECCles autres continuent la réalisation de l’EDVAC
30
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Moore School Lectures
✤ École d’été (juillet-août 1946)Objectif : rendre publics les résultats du travail sur l’ENIAC et l’EDVACFinancement : Département de la Défense des États-UnisParticipants : environ 30 personnes, sur invitationCours le matin, séminaire l’après-midi
Aussi : von Neumann, Aiken, Stibitz, membres de Moore SchoolUn seul européen, Douglas Hartree (Univ. Manchester)
✤ RetombéesQuasiment tous les concepteurs des premiers ordinateurs étaient làPremière conférence sur l’informatique, Harvard 1947Création de l’ACM (Association for Computing Machinery) en 1947
31
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18
Histoire de l’informatiqueCC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18 1 -
Lectures recommandées (1)✤ Sur Alan Turing
Plusieurs articles dans Interstices, C’était hier : https://interstices.infosAndrew Hodges, Alan Turing, the enigma, Vintage, 1992Le film The Imitation Game (2014), version romancée de la période Bletchley Park
✤ Sur l’ENIACNuméro spécial de IEEE Transactions on the History of Computing, 18:1, 1996Simulateurs
Rapport EDVAC : https://archive.org/details/vnedvac
✤ Sur Stibitz et Atanasoffhttp://history-computer.com/ModernComputer/Relays/Stibitz.htmlhttp://history-computer.com/ModernComputer/Electronic/Atanasoff.html
34
Histoire de l’informatiqueCC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18 1 -
Lectures recommandées (2)
✤ Sur Aiken et la machine de Harvardhttps://en.wikipedia.org/wiki/Harvard_Mark_IHarvard Mark1 et ENIAC : http://www.inf.fu-berlin.de/lehre/SS01/hc/eniac/
✤ Sur Konrad ZuseNuméro spécial de IEEE Transactions on the History of Computing, 19:2, 1997http://history-computer.com/People/ZuseBio.htmlhttp://history-computer.com/ModernComputer/Relays/Zuse.html
✤ Sur Bletchley Parkhttps://bletchleypark.org.uk/Enigma : https://interstices.info/jcms/int_70884/turing-a-l-assaut-d-enigmale Colossus : http://www.aconit.org/spip/spip.php?article239
35
Histoire de l’informatiqueCC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18 1 - 36
Histoire de l’informatique 2 - CC-BY-NC-SA 3.0 FR - S. Krakowiak, 2017/18