Cette machine
est très fiable: elle ne fait, en moyenne, qu'une erreur toutes
les 8 heures...
Haut responsable d'IBM en 1948. (repris de P. Ernst)
1.4 LES ANNÉES 1940
À partir de 1940, les faits sont de plus en plus nombreux. Les délais de réalisation très variables font qu'entre la conception et la mise en service d'une machine, de nouveaux projets sont lancés et parfois ont abouti.
Le Mark I, conçu en 1937 par Aïken (1900-1973) est mis en service en 1944.
L'ENIAC :
En 1942 commence la conception de l'ENIAC (Electronic numerical integrator, analyser and calculator) pour calculer des tables de tir d'artillerie. L'angle de tir est une fonction compliquée des positions, de la direction et de la vitesse du vent, de la densité de l'air, de la charge propulsive et de la charge utile.
Il est conçu et construit
sur crédits militaires à la «Moore school of electrical
engineering» de l'université de Pennsylvanie, aux États-Unis,
sous la responsabilité de John Mauchly aidé de son thésard
John Presper Eckert. L'officier de projet est Herman H. Goldstine.
![]() |
![]() |
L'ENIAC sera achevé, déclassifié
et présenté au public le 15 février 1946 et restera
en service jusqu'à 1952.
Il est constitué de 17468
tubes de 16 types différents, 1600 relais, 70000 résistances
et 10000 condensateurs. Sa surface au sol est de 160 m2. Il pèse
30 tonnes pour une puissance de 150 kilowatts. Environ 700 000 connexions
sont actives. L'horloge bat à 100 kHz. Le temps moyen entre pannes
est de 12 heures. Il calcule 5000 additions ou 350 multiplications par
seconde. La mémoire a 20 mots ou registres de 10 chiffres. Des cartes
perforées externes portent les données. Le programme est
fixé sur un tableau à fiches comme les centraux téléphoniques
manuels en avaient alors. C'est une forêt de câbles. On se
rappellera que cette machine était globalement asynchrone.
Énigma, les Robinsons et les Colosses :
La machine Énigma a été au cœur de la seconde guerre mondiale. Un abrégé de son histoire et du déchiffrement de ses codes figure dans l'annexe 20. Pour notre strict propos, les premiers aspects de calcul électronique de grande ampleur commencent en 1939 en Grande-Bretagne. Ils ne seront connus qu'en 1975 quand sera levé le secret militaire rigoureux qui a protégé et en partie stérilisé la création et le développement des premiers ordinateurs en Grande-Bretagne.
En 1939, les autorités britanniques ont reçu des polonais et des français les plans et les descriptifs de la machine Énigma utilisée par les armées allemandes pour chiffrer leurs messages. Les autorités vont chercher Alan Turing et d'autres cerveaux et les installent dans un domaine ultra-secret le «Government code and cypher school», situé à Bletchley Park, à mi-chemin entre Oxford et Cambridge, pour travailler au projet Ultra, déchiffrer les messages allemands.[BLE00]
A. Turing réalise une
première machine opérationnelle en 1940.
Puis, avec Maxwell Newman et
plus tard avec T.H. Flowers, ingénieur au Post office research station,
il construit une série de machines nommées Robinson
opérationnelles en 1942, qui déchiffrent les milliers de
messages chiffrés qui parviennent chaque jour à Bletchley
Park. Ce sont des machines à calculer en tubes électroniques,
spécialisées, sans mémoire interne, pilotées
par des rubans de papier.
Les machines de la série
suivante seront nommées Colossus. Colossus I entre en service
en décembre 1943 avec 2000 tubes à vide, une entrée
des données par un lecteur de ruban perforé de papier lu
à 5000 c/s, soit un défilement à 50 km/h. Un seul
ruban à la fois est donné à la machine. Les comparaisons
sont effectuées électroniquement, ce qui est une innovation
majeure pour l'époque, les résultats sont conservés
dans une mémoire de triodes thyratron à gaz. Pour éliminer
certaines erreurs, une pulsation d'horloge produite par une cellule photosensible
marque la cadence des opérations. La programmation est faite par
cartes enfichables.
Ce succès conduit à
concevoir Colossus II cinq fois plus rapide que Colossus I, mise
en service en juin 1944. Elle contient 2400 tubes, plusieurs lecteurs rapides
en entrée, etc. Plusieurs dizaines seront construits. Ces machines
sont à la fois plus ingénieuses et plus puissantes que MARK
I. Elles travaillent en binaire, sont programmées par un tableau
de connexions pour des fonctions fréquemment utilisées, disposent
de plusieurs registres de calcul et d'une instruction de branchement conditionnel.
Les réalisations de Bletchley Park étaient en avance sur
les grandes machines américaines.
Certaines des idées et solutions techniques des Colossus se retrouveront dans l'industrie informatique britannique, en particulier une avance notable en matière de rubans perforés. Une copie de Colossus est visible au Musée de Bletchley Park.
L'EDVAC :En 1944 un événement capital pour l'informatique future se produit par hasard. Herman H. Goldstine, l'officier en charge du projet ENIAC va à Philadelphie. Sur le quai de la gare, il rencontre un conseiller du projet Manhattan, le mathématicien hongrois Johann von Neumann (1903-1957), prénommé John aux États-Unis et que nous nommerons de Neumann selon l'usage français. Il l'aborde et le convainc de rejoindre l'équipe de l'ENIAC.
J. de
Neumann était un personnage très connu comme
. logicien; . créateur en 1923 d'un nouvel ensemble de nombres, les entiers de Neumann; . inventeur de la théorie des jeux; . auteur d'une formalisation de la mécanique quantique etc. ci-contre J. de Neumann |
![]() |
Alors que l'ENIAC est encore en chantier, en octobre 1944, l'armée de terre américaine passe un contrat avec l'équipe de la Moore School de P. Eckert et J. Mauchly, pour réaliser une machine totalement nouvelle l'EDVAC (Electronic discrete variable calculator). La conception de l'EDVAC est sous la direction de Neumann et fait l'objet d'une publication célèbre le 30 juin 1945. Il fonctionnera jusqu'en 1961.
Le 30 juin 1945, J. de Neumann achève la rédaction du rapport qui sera publié par H. Goldstine : «First draft of a report on the EDVAC». Eckert et Mauchly, co-auteurs du projet EDVAC, revendiquent vivement l'antériorité de l'idée de programme enregistré, pour en avoir discuté un an avant l'arrivée de J. de Neumann, ce qu'Eckert avait consigné dans un mémorandum non publié, six mois plus tôt. De plus, on relève que les noms d'Eckert et Mauchly, co-auteurs du projet EDVAC, n'apparaissent pas dans le rapport. Zuse dira plus tard avoir eu cette idée dans les années 30.
Le rapport contient une phrase
devenue célèbre :
«We
wish to incorporate into the machine -in form of circuits- only such logical
concepts as are either necessary to have a complete system or highly convenient
because of the frequency which they occur.»
Soit : «Nous voulons implanter
dans la machine, sous forme de circuits, les seuls concepts logiques qui
sont nécessaires pour construire un système complet ou qui
seraient très pratiques en raison de leur fréquence d'utilisation.»L'architecture
classique de ce que l'on appelait alors une calculatrice scientifique,
aujourd'hui un ordinateur, est définie peu après en 1946
par Burks, Goldstine et de Neumann, alors à l'Institute for Advanced
Studies de Princeton dans un rapport qui sera diffusé en 1947.Elle
est fondée sur sept prescriptions de réalisation :
|
|
|
Le programme et les données sont enregistrés sous la forme de nombres. | La machine de Turing fonctionne avec des symboles sans autre précision. | C'est la matérialisation
des symboles de la machine de Turing en utilisant les propositions de Hilbert
et la technique de Gödel.
Référence à Gödel : toute démonstration peut être faite au moyen de nombres entiers. Un programme démontre une proposition |
Le programme et les données sont logés dans une même mémoire découpée en cellules. | Cette mémoire correspond au ruban unique découpé en cellules. | Cette mémoire unique
est banalisée. La mémoire contient les instructions ET les
données,
Les instructions sont des données. Les caches transgresseront cette prescription. |
Les contenus de la mémoire sont accessibles pour la lecture et l'écriture par leur localisation et non par leur contenu. | Les cellules du ruban sont repérées par leur rang et non par leur contenu. | La localisation portera plus tard le nom d'adresse. |
La commande de l'ensemble, incluant les circuits d'exécution des opérations, est séquentielle, dans l'ordre des cellules de mémoire qui contiennent les instructions, sauf modification nommée branchement. Ce branchement ou rupture de séquence peut être impératif ou conditionné par des résultats de calcul précédents. | La machine de Turing opère de la même façon : lecture du symbole, décision, puis action. | On opère instruction après instruction. Des structures auto organisées sont possibles si le programme se modifie lui-même. Cette idée était explorée par Neumann sous la forme d'automates auto reproductibles. |
L'exécution de chaque instruction est achevée avant que la suivante soit prise en compte. | Comme dans la machine de Turing. | Les pipelines transgressent la prescription. |
Une unité de traitement réalise un jeu complet d'opérations d'une algèbre de Boole entre les contenus de cellules particulières nommées registres. | Réalisable
avec un accumulateur et les circuits ET, OU, NON
ou encore OU exclusif, etc. |
|
On pourra ajouter tous les circuits «qui seraient très pratiques en raison de leur fréquence d'utilisation.» | La voie est ouverte à toutes les unités fonctionnelles, virgule flottante incluse. |
D'abord l'instruction
est lue en mémoire,
ensuite l'instruction
est décodée,
ensuite les données
sont lues en mémoire,
ensuite l'instruction
est exécutée,
enfin le
résultat est écrit en mémoire.Ces spécifications
sont de nature opératoire. Elles mettent en forme les idées
qui avaient émergé dans les années 30 et 40. Elles
utilisent sans aucunement les remettre en cause, les acquis théoriques
des années trente et plus précisément les trois théories
relatives à la calculabilité.
Les spécifications du
rapport de 1947 ont trois conséquences pour une réalisation:
C'est notamment le cas de ce que l'on nomme l'architecture de Harvard basée sur des idées d'Aïken. Elle consiste à munir la machine de deux bancs de mémoire séparés, l'un pour les instructions, l'autre pour les données. Il s'agit par là d'apporter une plus grande rapidité d'exécution puisque des lectures ou des écritures peuvent être faites simultanément dans les deux bancs, mais au prix d'une dépense qui était jugée prohibitive dans les premières décennies de l'informatique, vu le coût de la mémoire.
On nomme, mais très rarement, architecture de Princeton celle qui a une mémoire unique.
Récemment quelques machines spécialisées ont repris cette idée : la Prime 9950 et des machines de traitement du signal. Sous une forme légèrement différente les mémoires caches séparées de données et d'instructions de nombreux microprocesseurs relèvent de cette architecture.
Quoi qu'il en fût, les seules réalisations viables furent basées pendant très longtemps sur le schéma dit aujourd'hui «de Neumann» interprété strictement ou avec quelque souplesse. Ce n'est que depuis peu que des machines parallèles sont commercialisées. On voit le retour sous le nom de réseaux de neurones, successeurs lointains des tentatives connues sous les noms de Perceptron de Rosenblatt et en France du «Sauvantron» du Docteur Sauvan dans les années 1960.
En résumé, on peut
suivre l'évolution des machines comme suit :
-la commande est manuelle pour
les calculateurs;
-la commande est automatisée
par :
A contrario, il y a une éclosion de projets de laboratoires universitaires ou publics à la fin des années quarante : EDSAC à Cambridge sous la direction de M.V. Wilkes, JOHNIAC à la Rand Corporation, ILLIAC à l'université de l'Illinois, MANIAC au laboratoire de Los Alamos, SWAC à l'université de Californie. EDSAC sera plus tard commercialisé sous le nom de LEO computer par Lyons corporation, une entreprise de salons de thé. Cette partie de l'entreprise sera plus tard achetée par English Electric et deviendra ICL encore plus tard.
Fin 1946, J.P. Eckert et J. Mauchly conçoivent BINAC pour «Binary automatic calculator» qui sera achevé en 1949. Le premier objectif des concepteurs est la fiabilité et pour cela il a deux processeurs qui comparent leur état après chaque instruction. Sa mémoire a 512 mots, portés par des lignes à retard. Les lignes à retard utilisent la propriété de certains cristaux de transformer une charge électrique en une modification mécanique du cristal détectable plus tard. La première bande magnétique sera ajoutée en 1950 à cette machine, ce sera une bande plastique effaçable et réinscriptible à volonté. Le fonctionnement biprocesseur n'était pas satisfaisant, aussi le deuxième processeur prévu pour une surveillance réciproque était le plus souvent mis hors service.
Le programme enregistré apparaît dans l'EDVAC déjà cité, œuvre de J. de Neumann, P. Eckert et J. Mauchly, machine mise en construction à partir de 1947 mais disponible seulement en 1952 à cause du départ d'Eckert et Mauchly en 1947.
En Grande Bretagne, les travaux d'Alan Turing pour réaliser une machine apparaîtront tout de même à la sortie de la machine ACE «Automatic computing engine» en 1950, construite en petite série de 40 machines de 1955 à 1964 sous le nom de DEUCE.
En juin 1948, le premier vrai
ordinateur au monde fonctionne. Il est dû à Max Newman, F.C.
Williams, Kilburn et Good, Alan Turing rejoint cette équipe pendant
la réalisation. Le Manchester MarkI ou MADM, surnommé
Madam, est mis en service dans sa version Baby. Sa mémoire est faite
de tubes électrostatiques, 128 mots de 40 bits, 26 instructions
de 20 bits et un tambour de 1024 mots. Un des tubes visualise le contenu
des six autres. La société Ferranti la fabrique.Le premier
programme enregistré est exécuté sur cette machine
le 21 juin 1948. F.C. Williams raconte:
«Lorsque
la machine fut terminée, un programme fut laborieusement inséré
et l'on pressa sur le bouton. Immédiatement, les points sur le tube
de contrôle entamèrent une danse folle... Une danse de mort
qui ne donna aucun résultat utilisable... Mais un jour cela s'arrêta,
et, brillant de façon lumineuse à la place attendue, il y
eut la réponse attendue.»
Dans
les mêmes années, Maurice V. Wilkes, construit l'Electronic
Delay Storage Automatic Calculator (EDSAC) à l'université
de Cambridge, avec des les lignes à retard à magnétostriction
comme mémoire.
Il inventera la microprogrammation
en 1951.
|
![]() |
En 1947,
John Bardeen, Walter Brattain et William Shockley inventent aux laboratoires
Bell la «transfer resistance»,
mot abrégé en «transresistance», ensuite renommé «transistor». On voit ci-contre une photo de la première réalisation. |
![]() |
Les premiers ordinateurs ont trois défauts majeurs :
sur l'enregistrement des adresses :
Conservatoire national des arts et métiers
Architectures des systèmes informatiques
CHAPITRE 1
Origine et évolutions des architectures
Année 2002-2003