L’Histoire des ordinateurs
L’introduction à l’Histoire des ordinateurs vous est proposé par Arsi.fr. Il s’agit ici d’un bref résumé, la réalité étant bien plus longue et complète.
Les origines
L’une des premières machines conçues pour aider les gens dans les calculs a été l’abaque. L’ancêtre des ordinateurs est encore utilisable 5000 ans après son invention.
En 1642, Blaise Pascal, célèbre mathématicien français, inventa une machine à calculer basée sur des engrenages mécaniques dont les nombres étaient représentés par les roues dentées.
L’Anglais Charles Babbage, inventa dans les années 1830 la “machine à différences” en laiton et tiges et engrenages d’étain, et conçut un autre appareil qu’il appela “moteur analytique”. Sa conception contenait les cinq principales caractéristiques des ordinateurs modernes:
– Dispositif d’entrée
– Stockage des numéros en attente de traitement
– Un processeur ou une calculatrice numérique
– Une unité pour contrôler la tâche et la séquence de ses calculs
– Dispositif de sortie
Augusta Ada Byron (ou aussi “comtesse de Lovelace”) était une associée de Babbage. Elle est aujourd’hui connue comme étant le premier programmeur informatique. Ils sont les piliers de l’air informatique, dès le XIXe siècle.
Un Américain, Herman Hollerith, développa vers 1890 le premier appareil électrique. Il utilisait des cartes perforées et des tiges métalliques qui passaient à travers les trous pour fermer un circuit électrique et ainsi faire avancer un compteur. Cette machine a pu compléter le calcul du recensement de 1890 en 6 semaines…. contre 7 ans et demi pour le recensement de 1880, compté manuellement.
Accélération au XXe siècle
En 1936, Howard Aiken de l’Université Harvard a convaincu Thomas Watson d’IBM d’investir 1 million de dollars. Argent destiné au développement d’une version électromécanique du moteur d’analyse de Babbage. Le Harvard Mark 1 a été achevé en 1944 et mesurait 8 pieds de haut et 55 pieds de long.
À peu près au même moment (fin des années 1930) John Atanasoff de l’Iowa State University et son assistant Clifford Berry construisirent le premier ordinateur numérique qui fonctionnait électroniquement, l’ABC (Atanasoff-Berry Computer). Cette machine était en fait une petite calculatrice.
En 1943, dans le cadre de l’effort de la guerre britannique, une série d’ordinateurs à tube à vide (appelés Colossus) ont été mis au point pour déchiffrer les codes secrets allemands. La série Colossus Mark 2 se compose de 2400 tubes à vide
John Mauchly et J.Presper Eckert de l’Université de Pennsylvanie, ont développé ces idées en proposant une énorme machine composée de 18 000 tubes à vide. ENIAC (Electronic Numerical Integrator And Computer) est né en 1946. C’était une grosse machine avec un besoin de puissance énorme et deux inconvénients majeurs. L’entretien était extrêmement difficile car les tubes tombaient régulièrement en panne et devaient être remplacés. Et il y avait aussi un gros problème de surchauffe. La principale limite était qu’à chaque nouvelle tâche exécutée, la machine devait être recâblée. En d’autres termes, la programmation a été réalisée avec un fer à souder.
A la fin des années 1940, John von Neumann (à l’époque consultant spécial de l’équipe d’ENIAC) développa l’EDVAC (Electronic Discrete Variable Automatic Computer). Il fut le pionnier du “concept de programme stocké”. Cela permettait aux programmes d’être lus dans l’ordinateur et donnait ainsi naissance à l’âge des ordinateurs polyvalents.
Les différentes générations d’ordinateurs
Il est assez courant de parler d’ordinateurs comme s’ils appartenaient à des “générations”, dont voici le résumé :
-
La première génération (1943-1958)
Cette génération est souvent décrite comme commençant par la livraison du premier ordinateur commercial à un client d’affaires. Cela s’est produit en 1951 avec la livraison de l’UNIVAC au Bureau américain du recensement. Cette génération a duré jusqu’à la fin des années 1950.
La caractéristique principale de la première génération d’ordinateurs était que les tubes à vide étaient utilisés comme composants informatiques internes. Les tubes à vide ont généralement une longueur d’environ 5-10 centimètres. Mais comme ils sont nécessaires dans les ordinateurs, cela a donné lieu à des machines énormes et extrêmement coûteuses… qui tombent souvent en panne (puisque les tubes tombent beaucoup en panne).
-
La deuxième génération (1959-1964)
Au milieu des années 1950, Bell Labs développe le transistor. Les transistors étaient capables d’accomplir plusieurs des mêmes tâches que les tubes à vide, avec une taille réduite. Le premier ordinateur à transistor a été produit en 1959. Non seulement les transistors étaient plus petits, ce qui permettait de diminuer la taille des ordinateurs, mais ils étaient plus rapides, plus fiables et consommaient moins d’électricité.
L’autre amélioration majeure de cette période a été le développement des langages informatiques. Les langages assembleurs, ou langages symboliques, permettaient aux programmeurs de spécifier des instructions en mots (bien que très cryptiques). Ils étaient ensuite traduits sous une forme que les machines pouvaient comprendre (généralement des séries de 0 et 1: code binaire).
Des languages de niveau supérieur ont également vu le jour au cours de cette période. Alors que les langages assembleurs avaient une correspondance un à un entre leurs symboles et les fonctions réelles de la machine , les commandes de langage de niveau supérieur représentent souvent des séquences complexes des codes de la machine. Deux langages de niveau supérieur développés durant cette période (Fortran et Cobol) sont encore utilisés aujourd’hui, mais sous une forme beaucoup plus développée.
-
La troisième génération (1965-1970)
En 1965, le premier circuit intégré (IC) a été développé dans lequel un circuit complet de centaines de composants a pu être placé sur une seule puce en silicium de 2 ou 3 mm de côté. Les ordinateurs utilisant ces circuits intégrés remplacèrent bientôt les machines à transistor. Encore une fois, l’un des principaux avantages était la taille, les ordinateurs devenant plus puissants et en même temps beaucoup plus petits et moins chers. Les ordinateurs sont ainsi devenus accessibles à un public beaucoup plus large. Un avantage supplémentaire de plus petite taille est que les signaux électriques ont des distances de déplacement beaucoup plus courtes et donc la vitesse des ordinateurs a augmenté.
Une autre caractéristique de cette période est que les logiciels informatiques sont devenus beaucoup plus puissants et flexibles et que, pour la première fois, plus d’un programme pouvait partager les ressources de l’ordinateur en même temps (multi-tâches). La majorité des langages de programmation utilisés aujourd’hui sont souvent appelés 3GL (3ème génération) même si certains d’entre eux sont issus de la 2ème génération.
-
La quatrième génération (1971-aujourd’hui)
La frontière entre la troisième et la quatrième génération n’est pas très nette du tout. La plupart des développements intervenus depuis le milieu des années 1960 s’inscrivent dans un continuum de miniaturisation progressive. En 1970, l’intégration à grande échelle a été réalisée là où l’équivalent de milliers de circuits intégrés étaient entassés sur une seule puce de silicium. Ce développement a encore une fois augmenté les performances de l’ordinateur (surtout la fiabilité et la vitesse) tout en réduisant la taille et le coût de l’ordinateur.
Vers cette époque, le premier microprocesseur polyvalent complet est devenu disponible sur une seule puce. En 1975, l’intégration à très grande échelle (VLSI) a fait un pas de plus. Des processeurs centraux d’ordinateur complets pourraient maintenant être intégrés dans une seule puce. Le micro-ordinateur est né. Ces puces sont beaucoup plus puissantes que celles d’ENIAC et ne font qu’environ 1 cm de côté alors qu’ENIAC remplissait un grand bâtiment.
Au cours de cette période, les langues de quatrième génération (4GL) ont vu le jour. De telles langues sont un pas de plus éloignées du matériel informatique en ce sens qu’elles utilisent un langage un peu comme le langage naturel. De nombreux langages de base de données peuvent être décrits comme 4GL. Ils sont généralement beaucoup plus faciles à apprendre que les 3GL.
-
La Cinquième Génération (l’avenir)
La “cinquième génération” d’ordinateurs a été définie par le gouvernement japonais en 1980. Date à laquelle ils ont dévoilé un plan sur dix ans pour produire la prochaine génération d’ordinateurs. Ce plan, donc, était intéressant pour deux raisons :
Tout d’abord, il n’est pas du tout évident de savoir ce qu’est la quatrième génération. Ni même si la troisième génération été déjà terminé… Deuxièmement, c’était une tentative de définir une génération d’ordinateurs avant qu’ils n’existent. Les principales exigences des machines 5G étaient qu’elles intègrent les caractéristiques de l’intelligence artificielle, des systèmes experts et du langage naturel. Le but était de produire des machines capables d’exécuter des tâches de la même manière que les humains. Être capables d’apprendre et d’interagir avec les humains en langage naturel, de préférence en utilisant à la fois l’entrée de la parole (reconnaissance vocale) et la sortie de la parole (synthèse vocale).
De tels objectifs intéressent évidemment les linguistes et les orthophonistes, car le langage naturel et le traitement de la parole sont des éléments clés de la définition. Comme vous l’avez sans doute deviné, cet objectif n’ a pas encore été pleinement atteint. Bien que des progrès significatifs aient été accomplis dans divers aspects de ces objectifs.
Le Parallélisme
Jusqu’ à récemment, la plupart des ordinateurs étaient des ordinateurs en série. Ces ordinateurs disposaient d’une seule puce processeur contenant un seul processeur. Le Parallélisme (calcul parallèle) est basé sur l’idée suivante. Si plus d’une tâche peut être traitée simultanément sur plusieurs processeurs, alors un programme serait capable de fonctionner plus rapidement qu’il ne pourrait le faire sur un seul processeur.
Les supercalculateurs des années 1990, comme les ordinateurs Cray, étaient extrêmement coûteux à l’achat. (Environ 1 000 000 $). Ils nécessitaient, en effet, souvent d’un refroidissement à l’hélium liquide. Les grappes d’ordinateurs en réseau (par exemple, un culster Beowulf de PC sous Linux) sont, depuis 1994, une solution beaucoup moins chère au problème du traitement rapide des tâches informatiques complexes.
Dès 2008, la plupart des nouveaux ordinateurs de bureau et portables contenaient plus d’un processeur sur une seule puce. (l’Intel “Core 2 Duo” sorti en 2006.) Le fait d’avoir plusieurs processeurs ne signifie pas nécessairement que le calcul parallèle fonctionnera automatiquement. Ainsi, Le système d’exploitation doit être capable de distribuer des programmes entre les processeurs. Ce que les versions récentes de Windows et Mac OS X peuvent faire. Un programme individuel ne pourra tirer parti de plusieurs processeurs que si le langage informatique dans lequel il est écrit est capable de répartir les tâches au sein d’un programme entre plusieurs processeurs. Par exemple, OpenMP supporte la programmation parallèle dans Fortran et C/C++.