Ordinateur

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Un ordinateur est une machine électronique qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui font exécuter des opérations logiques et arithmétiques sur des chiffres binaires. Dès sa mise sous tension, un ordinateur exécute, l'une après l'autre, des instructions qui lui font lire, manipuler, puis réécrire un ensemble de données. Des tests et des sauts conditionnels permettent de changer d'instruction suivante, et donc d'agir différemment en fonction des données ou des nécessités du moment.

Les données à manipuler sont obtenues, soit par la lecture de mémoires, soit par la lecture de composants d'interface (périphériques) qui représentent des données physiques extérieures en valeurs binaires (déplacement d'une souris, touche appuyée sur un clavier, température, vitesse, compression…). Une fois utilisées, ou manipulées, les données sont réécrites, soit dans des mémoires, soit dans des composants qui peuvent transformer une valeur binaire en une action physique (écriture sur une imprimante ou sur un moniteur, accélération ou freinage d'un véhicule, changement de température d'un four…). L'ordinateur peut aussi répondre à des interruptions qui lui permettent d’exécuter des programmes de réponses spécifiques à chacune, puis de reprendre l’exécution séquentielle du programme interrompu.

De 1834 à 1837, Charles Babbage conçut une machine à calculer programmable en associant les inventions de Blaise Pascal et de Jacquard, commandant, avec des instructions écrites sur des cartes perforées, un des descendants de la première machine qui suppléa l'intelligence de l'homme: la Pascaline1. C'est durant cette période qu'il imagina la plupart des caractéristiques de l'ordinateur moderne2. Babbage passera le reste de sa vie à essayer de construire sa machine analytique, mais sans succès. Beaucoup de personnes s’intéressèrent et essayèrent de développer cette machine3, mais c'est cent ans plus tard, en 1937, qu'IBM inaugurera l'ère de l'informatique en commençant le développement de l'ASCC/Mark I, une machine basée sur l’architecture de Babbage qui, une fois réalisée, sera considérée comme l’achèvement de son rêve4.

La technique actuelle des ordinateurs date du milieu du xxe siècle. Ils peuvent être classés selon plusieurs critères5 tel que domaine d'application, taille ou architecture.

Étymologiemodifier | modifier le code

Le mot « ordinateur » fut introduit par IBM France en 1955 après que François Girard, alors responsable du service publicité de l'entreprise, eut l'idée de consulter son ancien professeur de lettres à Paris, Jacques Perret, lui demandant de proposer un « nom français pour sa nouvelle machine électronique destinées au traitement de l'information (IBM 650), en évitant d'utiliser la traduction littérale du mot anglais "computer" ("calculateur" ou "calculatrice"), qui était à cette époque plutôt réservé aux machines scientifiques »6

Ce dernier proposa un mot composé centré autour d'« ordinateur », un mot tombé en désuétude, désignant anciennement un ordonnateur: celui qui met en ordre7 et qui avait aussi la notion d'ordre ecclésiastique dans l'église catholique (ordinant)8. Le professeur suggéra plus précisément « ordinatrice électronique », le féminin ayant pu permettre, selon lui, de mieux distinguer l'usage religieux de l'usage comptable du mot9.

« IBM France retint le mot ordinateur et chercha au début à protéger ce nom comme une marque. Mais le mot fut facilement et rapidement adopté par les utilisateurs et IBM France décida au bout de quelques mois de le laisser dans le domaine public. »6

Histoiremodifier | modifier le code

L'image la plus célèbre du début de l'histoire de l'informatique10
Ce portrait de Jacquard, tissé en soie sur un métier Jacquard, demandait la lecture de 24 000 cartes de plus de 1 000 trous chacune (1839). Il n'était produit que sur demande. Charles Babbage l'utilisa souvent pour expliquer ses idées sur ce que fut la première esquisse d'un ordinateur, sa machine analytique, qui utilisait des cartes Jacquard pour ses commandes et ses données11.

Première inventionmodifier | modifier le code

Article détaillé : Histoire des ordinateurs.

Selon Bernard Cohen, auteur de l'ouvrage intitulé Howard Aiken: Portrait of a computer pioneer - Qui a inventé l'ordinateur, est-ce-que le Mark I était un ordinateur, « les historiens des technologies et les informaticiens intéressés en histoire, ont adopté un certain nombre de caractéristiques qui définissent un ordinateur. C'est ainsi que la question de savoir si le Mark I était ou n'était pas un ordinateur ne dépend pas d'une opinion majoritaire mais plutôt de la définition utilisée. Souvent, quelques-unes des caractéristiques fondamentales nécessaires pour être considérées comme un ordinateur sont :

  1. qu'il soit électronique,
  2. numérique (au lieu d'analogique),
  3. qu'il soit programmable,
  4. qu'il puisse exécuter les quatre opérations élémentaires (addition, soustraction, multiplication, division) et -souvent- qu'il puisse extraire une racine carrée ou adresser une table qui en contient,
  5. qu'il puisse exécuter des programmes enregistrés en mémoire.

Une machine n'est généralement pas classifiée comme un ordinateur à moins qu'elle n'ait des caractéristiques supplémentaires comme, par exemple, la possibilité d’exécuter des opérations spécifiques automatiquement et ceci d'une façon contrôlée et dans une séquence prédéterminée. Pour d'autres historiens et informaticiens il faut aussi que la machine ait été vraiment construite et qu'elle ait été complètement opérationnelle12? »

Concept initial et réalisationmodifier | modifier le code

Sans une définition stricte il est impossible d'identifier la machine qui devint le premier ordinateur. Mais il faut remarquer certaines des étapes fondamentales qui vont du développement du concept de la machine à calculer programmable par Charles Babbage en 1837 au premier développement de l'ère de l'informatique cent ans plus tard : Charles Babbage commença à développer une machine à calculer programmable, sa machine analytique, en 1834 ; au début il pensait la programmer grâce à un cylindre à picots comme dans les automates de Vaucanson, mais, deux ans plus tard, il remplaça ce cylindre par la lecture de cartes Jacquard, et ainsi créa une machine à calculer infiniment programmable13. Quelques années plus tard, en 1843, Ada Lovelace écrivit le premier programme informatique, un programme pour calculer les nombres de bernoulli, pour la machine analytique, bien qu'elle ne sera jamais construite.

Henry Babbage construisit une version extrêmement simplifiée de l'unité centrale de la machine analytique de son père et l'utilisa, en 1906, pour calculer et imprimer automatiquement les quarante premiers multiples du nombre Pi avec une précision de vingt-neuf décimales14, démontrant sans ambiguïté que le principe de la machine analytique était viable et réalisable. Mais sa plus grande contribution fut de donner un ensemble mécanique de démonstration d'une des machines de son père à l'université Harvard en 188615. Car c'est cinquante ans plus tard, après avoir entendu la présentation de Howard Aiken sur son super calculateur, qu'un technicien de Harvard, Carmello Lanza, lui fit savoir qu'une machine similaire avait déjà été développée et qu'il lui montra l'ensemble mécanique de démonstration donné par Henry Babbage qui se trouvait dans un des greniers de l'université; c'est ainsi qu'il découvrit les travaux de Babbage et qu'il les incorpora dans la machine qu'il présenta à IBM en 193716. C'était la troisième fois qu'il essayait de trouver un sponsor pour le développement de sa machine car son projet avait déjà été rejeté deux fois avant l’intégration des travaux de Babbage dans l'architecture de sa machine (une fois par la Monroe Calculating Company17 et une fois par l'université de Harvard16).

Leonardo Torres Quevedo remplaça toutes les fonctions mécaniques de Babbage par des fonctions électromécaniques (addition, soustraction, multiplication et division mais aussi la lecture de cartes et les mémoires). En 1914 et en 1920, Il construisit deux machines analytiques, non programmable, extrêmement simplifiées18 mais qui montraient que des relais électromécaniques pouvaient être utilisés dans une machine à calculer qu'elle soit programmable ou non. Sa machine de 1914 avait une petite mémoire électromécanique et son arithmomètre de 1920, qu'il développa pour célébrer le centième anniversaire de l'invention de l'arithmomètre, était commandé par une machine à écrire qui était aussi utilisée pour imprimer ses résultats.

Percy Ludgate améliora et simplifia les fonctions mécaniques de Babbage mais ne construisit pas de machine. Et enfin, Louis Couffignal essaya au début des années 193019, de construire une machine analytique « purement mécanique, comme celle de Babbage, mais sensiblement plus simple », mais sans succès. C'est cent ans après la conceptualisation de l'ordinateur par Charles Babbage que le premier projet basé sur l'architecture de sa machine analytique aboutira. En effet, c'est en 1937 qu'Howard Aiken présenta à IBM un projet de machine à calculer programmable qui sera le premier projet qui finira par une machine qui puisse être, et qui sera utilisée, et dont les caractéristiques en font presque un ordinateur moderne. Et donc, bien que le premier ordinateur ne sera jamais déterminé à l’unanimité, le début de l'ère de l'informatique moderne peut être considéré comme la présentation d'Aiken à IBM, en 1937, qui aboutira par l'ASCC.

Machines à calculermodifier | modifier le code

Les machines à calculer jouèrent un rôle primordial dans le développement des ordinateurs pour deux raisons tout à fait indépendantes. D'une part, pour leurs origines : c'est pendant le développement d'une machine à calculer automatique à imprimante qu'en 1834 Charles Babbage commença à imaginer sa machine analytique, l’ancêtre des ordinateurs. C’était une machine à calculer programmée par la lecture de cartes perforées (inspirées du Métier Jacquard), avec un lecteur de cartes pour les données et un pour les programmes, avec des mémoires, un calculateur central et des imprimantes et qui inspirera le développement des premiers ordinateurs à partir de 1937 ; ce qui nous amènera aux mainframes des années 1960.

D'autre part, leur propagation se fit grâce à la commercialisation en 1971 du premier microprocesseur, l'Intel 4004, qui fut inventé pendant le développement d'une machine à calculer électronique pour la compagnie japonaise Busicom, qui est à l'origine de l'explosion de la micro-informatique à partir de 197520 et qui réside au cœur de tous les ordinateurs actuels quel que soit leurs tailles ou fonctions (bien que seulement 2 % des microprocesseurs produits chaque année soient utilisés comme unités centrales d'ordinateur, les 98 % restant sont utilisés dans la construction de voitures, de robots ménager, de montres, de caméras de surveillance21…).

Électromécanique et mécanographiemodifier | modifier le code

Outre les avancées observées dans l'industrie du textile et celles de l'électronique, les avancées de la mécanographie à la fin du XIXe siècle, pour achever les recensements aux États-Unis, la mécanisation de la cryptographie au début du XXe siècle, pour chiffrer puis déchiffrer automatiquement des messages, le développement des réseaux téléphoniques (à base de relais électromécaniques), sont aussi à prendre en compte pour comprendre l'avènement de ce nouveau genre de machine qui ne calculent pas (comme font/faisaient les calculatrices), mais lisent et interprètent des programmes qui -eux- calculent. Pour le monde des idées, avant l'invention de ces nouvelles machines, l'élément fondateur de la science informatique est en 1936, la publication de l'article "On Computable Numbers with an Application to the Entscheidungsproblem"22 par Alan Turing qui allait déplacer le centre de préoccupation de certains scientifiques (mathématiciens et logiciens) de l'époque, du sujet de la calculabilité (ou décidabilité) ouvert par Hilbert, malmené par Godël, éclairci par Church, vers le sujet de la mécanisation du calcul (ou calculabilité effective). Dans ce texte de 35 pages, Turing expose une machine théorique capable d'effectuer tout calcul ; il démontre que cette machine est aussi puissante, au niveau du calcul, que tout être humain. Autrement dit, un problème mathématique possède une solution, si et seulement si, il existe une machine de Turing capable de résoudre ce problème. Par la suite, il expose une machine de Turing universelle apte à reproduire toute machine de Turing, il s'agit des concepts d'ordinateur, de programmation et de programme. Il termine en démontrant qu'il existe au moins un problème mathématique formellement insoluble, le problème de l'arrêt.

Peu avant la Seconde Guerre mondiale, apparurent les premières calculatrices électromécaniques, construites selon les idées d'Alan Turing. Les machines furent vite supplantées par les premiers calculateurs électroniques, nettement plus performants.

Années 1930modifier | modifier le code

La fin des années 1930 virent, pour la première fois dans l'histoire de l'informatique, le début de la construction de deux machines à calculer programmables. Elles utilisaient des relais et étaient programmées par la lecture de rouleaux perforés et donc, pour certains, étaient déjà des ordinateurs. Elles ne furent mises en service qu'au début des années 1940, faisant ainsi de 1940 la première décennie dans laquelle on trouve des ordinateurs et des machines à calculer programmables totalement fonctionnels. C'est d'abord en 1937 que Howard Aiken, qui avait réalisé que la machine analytique de Babbage était le type de machine à calculer qu'il voulait développer23, proposa à IBM de la créer et de la construire ; après une étude de faisabilité, Thomas Watson accepta de la construire en 1939 ; elle fut testée en 1943 dans les locaux d'IBM et fut donnée et déménagée à l'université de Harvard en 1944, changeant son nom de ASCC à Harvard Mark I ou Mark I.

Mais c'est aussi Konrad Zuse qui commença le développement de son Zuse 3, en secret, en 1939, et qui le finira en 1941. Parce que le Zuse 3 resta inconnu du grand public jusqu’après la fin de la seconde guerre mondiale (sauf des services secret américains qui le détruisirent dans un bombardement en 1943), ses solutions très inventives ne furent pas utilisées dans les efforts communs mondiaux de développement de l’ordinateur.

Évolutionmodifier | modifier le code

Premier ordinateur (1937-1946)modifier | modifier le code

Six machines, et seulement six machines, furent construites durant ces 9 ans. Elles furent toutes décrites, au moins une fois, dans la multitude de livres de l'histoire de l'informatique, comme étant le premier ordinateur ; aucune autre machine, construite postérieurement, ne fut décrit comme telle. Ces six précurseurs peuvent être divisées en trois groupes bien spécifiques :

D'une part, deux machines à calculer avec le Complex Number Calculator de George Stibitz, conçu pour faire des opérations sur des nombres complexes et l'ABC qui pouvait résoudre des équations linéaires. Ces deux machines n'étaient pas programmable, l'une était électromécanique, l'autre électronique. D'autre part, deux machines électromécaniques programmables, l'ASCC/Mark I d'IBM et le Zuse 3, programmées par la lecture de rouleaux perforés, mais qui ne possédaient pas d'instruction de branchement conditionnel, et donc ne pouvaient aller d'une partie d'un programme à une autre.

« Sans un branchement conditionnel, et donc l’implémentation mécanique du mot SI, le plus grand des calculateurs ne serait qu'une super machine à calculer. Il pourrait être comparé à une ligne d'assemblage, tout étant organisé du début à la fin, avec aucune possibilité de changement une fois que la machine est mise en marche24. »

Et enfin, deux machines électroniques spécialisées, le Colosse, conçu pour déchiffrer des messages secrets allemands, et l'ENIAC, conçu pour calculer des trajectoires balistiques. Initialement ces machines ne pouvaient faire que ça, et étaient programmées par le changement de fils et d'interrupteurs.

« L'ENIAC et le Colosse étaient comme deux kits à assembler, desquelles beaucoup de machines similaires, mais différentes, pouvaient être construites. Aucun n’essaya d’implémenter l'universalité de la machine de Babbage dans laquelle la machine n'est jamais modifiée, et où seulement les instructions sont réécrites sur des cartes perforées25. »

De ces six machines, seulement quatre furent connues de leurs contemporains, les deux autres, le Colosse et le Z3, utilisées dans l'effort de guerre, ne furent découvertes qu'après la fin de la Seconde Guerre mondiale, et donc ne participèrent pas au développement communautaire mondial des ordinateurs. Seulement deux de ces machines furent utilisées dans les années 1950, l'ASCC/Mark I et l'ENIAC, et chacune fut éventuellement modifiée pour en faire une machine Turing-complet. En est publié un article fondateur de John Von Neumann26 donnant les bases de l'architecture utilisée dans la quasi-totalité des ordinateurs depuis lors. Dans cet article Von Neumann veut concevoir un programme enregistré et programmé dans la machine. La première machine correspondant à cette architecture, dite depuis architecture de von Neumann est une machine expérimentale la Small-Scale Experimental Machine (SSEM ou baby) construite à Manchester en juillet 1948. En août 1949 la première machine fonctionnelle, fondée sur les bases de Von Neumann fut l'EDVAC.

Tubes à vide et commutateurs (1946-1955)modifier | modifier le code

Cette chronologie27 demande qu'un ordinateur soit électronique et donc elle commence, en 1946, avec l'ENIAC qui, au départ, était programmé avec des interrupteurs et par le positionnement de fils sur un commutateur, comme sur un ancien standard téléphonique. Les ordinateurs de cette période sont énormes avec des dizaines de milliers de tubes à vide. L'ENIAC faisait 30 m de long, 2,40 m de haut et pesait 30 tonnes. Ces machines n’étaient pas du tout fiables, par exemple, en 1952, dix-neuf mille tubes furent remplacés sur l'ENIAC, soit plus de tubes qu'il n'en contient28.

« L'ENIAC prouva, sans ambiguïté, que les principes de base de l'électronique était bien fondés. Il était vraiment inévitable que d'autres machines à calculer de ce type seraient perfectionnées grâce aux connaissances et à l’expérience acquises sur cette première29. »

De nouveau, le titre de premier ordinateur commercialisé dépend de la définition utilisée ; trois ordinateurs sont souvent cités. En premier, le BINAC30, conçut par la Eckert–Mauchly Computer Corporation et livré à la Northrop Corporation en 1949 qui, après sa livraison, ne fut jamais fonctionnel31,32. En deuxième, le Ferranti Mark I, dont le prototype avait été développé par l'université de Manchester, fut amélioré et construit en un exemplaire par la société Ferranti et revendu à l'université de Manchester en février 195133. Et en dernier, 'UNIVAC I30, conçut par la Eckert–Mauchly Computer Corporation, dont le premier fut vendu à l'United States Census Bureau le . Une vingtaine de machines furent produites et vendues entre 1951 et 195434.

Générations suivantes (1955-2000)modifier | modifier le code

« L'utilisation de transistors au milieu des années 1950 changea le jeu complètement. Les ordinateurs devinrent assez fiables pour être vendus à des clients payants sachant qu'ils fonctionneraient assez longtemps pour faire du bon travail35 » Les circuits intégrés réduisirent la taille et le prix des ordinateurs considérablement. Les moyennes entreprises pouvaient maintenant acheter ce genre de machines.

Le microprocesseur fut inventé en 1969 par Ted Hoff d'Intel pendant le développement d'une calculatrice pour la firme japonaise Busicom. Intel commercialisera le 4004 fin 1971. Ted Hoff avait copié l'architecture du DEC PDP-8, le premier mini-ordinateur, et c'est grâce à la technologie de circuits intégrés LSI (large scale integration), qui permettait de mettre quelques milliers de transistors sur une puce36 qu'il put miniaturiser les fonctions d'un ordinateur en un seul circuit intégré. La fonction première du microprocesseur était de contrôler son environnement. Il lisait des interrupteurs, les touches d'un clavier et il agissait en exécutant les opérations requises (addition, multiplication, etc.) et en affichant les résultats. Le premier ordinateur personnel fut décrit dans le livre d'Edmund Berkeley, Giant brain, or machines that think, en 1949, et sa construction fut décrite dans une série d'articles du magazine Radio-Electronics à partir du numéro d'octobre 1950. Mais l’ordinateur qui créa l'industrie de l'ordinateur personnel est l'Altair 880037,38 qui fut décrit pour la première fois dans le magazine Radio-Electronics de janvier 1975. Bill Gates, Paul Allen, Steve Wozniak et Steve Jobs (ordre chronologique) firent tous leurs début dans la micro-informatique sur ce produit moins de six mois après son introduction.

Généralitésmodifier | modifier le code

Les ordinateurs furent d'abord utilisés pour le calcul (en nombres entiers d'abord, puis flottants). On ne peut cependant les assimiler à de simples calculateurs : en effet, le résultat du traitement d'un ordinateur peut être non seulement une série de nombres, mais aussi un nouveau programme (utilisable par cet ordinateur ou par un autre).

  • Dans l'architecture de von Neumann, les données sont banalisées et peuvent être interprétées indifféremment comme des nombres, des instructions, des valeurs logiques ou tout symbole défini arbitrairement (lettre de l’alphabet, par exemple).
  • Le calcul représente une des applications possibles. Dans ce cas, les données sont traitées comme des nombres.
  • L’ordinateur est utilisé aussi pour ses possibilités d'organisation de l’information, entre autres sur des périphériques de stockage magnétique. On a calculé à la fin des années 1980 que sans les ordinateurs il faudrait toute la population française juste pour faire dans ce pays le seul travail des banques.
    • Cette capacité d’organiser les informations a généralisé l’usage du traitement de texte dans le grand public ;
    • la gestion des bases de données relationnelles permet également de retrouver et de consolider des informations réparties vues par l'utilisateur comme plusieurs tables indépendantes.

Cette création d'un néologisme fut à l'origine de traductions multiples des expressions supercomputer, superordinateur ou supercalculateur, et Quantum computer, calculateur quantique ou ordinateur quantique. Dans ce dernier cas, l'utilisation du mot « ordinateur » est justement surfaite car les possibilités envisageables pour le calcul quantique sont loin de la polyvalence d'un « ordinateur ».

L’expérience a appris à distinguer dans un ordinateur deux aspects, dont le second avait été au départ sous-estimé :

  • l’architecture physique, matérielle (alias hardware ou hard) ;
  • l’architecture logicielle (alias software ou soft) ; un ordinateur très avancé techniquement pour son époque comme le Gamma 60 de la compagnie Bull n’eut pas le succès attendu, pour la simple raison qu’il existait peu de moyens de mettre en œuvre commodément ses possibilités techniques. Le logiciel - et son complément les services (formation, maintenance…) - forme depuis le milieu des années 1980 l’essentiel des coûts d’équipement informatique, le matériel n’y ayant qu’une part minoritaire.

Les ordinateurs peuvent être sensibles aux bombes IEM.

Fonctionnementmodifier | modifier le code

Vue d'ensemble des différents organes d'un ordinateur

Parmi toutes les machines inventées par l'Homme, l'ordinateur est celle qui se rapproche le plus du concept anthropologique suivant : Organe d'entrée, organe de traitement de l'information et organe de sortie. Chez l'humain, les organes d'entrée sont les cinq sens, l'organe de traitement est le cerveau dont les logiciels sont l'apprentissage avec des mises à jour constantes en cours de vie, puis les organes de sortie sont les muscles. Pour les ordinateurs modernes, les organes d'entrée sont le clavier et la souris et les organes de sortie, l'écran, l'imprimante, le graveur de DVD, etc. Les techniques utilisées pour fabriquer ces machines ont énormément changé depuis les années 1940 et sont devenues une technologie (c’est-à-dire un ensemble industriel organisé autour de techniques) à part entière depuis les années 1970. Beaucoup utilisent encore les concepts définis par John von Neumann, bien que cette architecture soit en régression : les programmes ne se modifient plus guère eux-mêmes (ce qui serait considéré comme une mauvaise pratique de programmation), et le matériel prend en compte cette nouvelle donne en séparant aujourd'hui nettement le stockage des instructions et des données, y compris dans les caches.

L’architecture de von Neumann décomposait l’ordinateur en quatre parties distinctes :

  1. l’unité arithmétique et logique (UAL) ou unité de traitement : son rôle est d’effectuer les opérations de base, un peu comme le ferait une calculatrice ;
  2. l’unité de contrôle. C’est l’équivalent des doigts qui actionneraient la calculatrice ;
  3. la mémoire qui contient à la fois les données et le programme qui dira à l’unité de contrôle quels calculs faire sur ces données. La mémoire se divise entre mémoire vive (programmes et données en cours de fonctionnement) et mémoire permanente (programmes et données de base de la machine) ;
  4. les entrées-sorties : dispositifs qui permettent de communiquer avec le monde extérieur.

UAL et UCmodifier | modifier le code

L’unité arithmétique et logique ou UAL est l’élément qui réalise les opérations élémentaires (additions, soustractions…), les opérateurs logiques (ET, OU, NI, etc.) et les opérations de comparaison (par exemple la comparaison d’égalité entre deux zones de mémoire). C’est l’UAL qui effectue les calculs de l’ordinateur. L’unité de contrôle prend ses instructions dans la mémoire. Celles-ci lui indiquent ce qu’elle doit ordonner à l’UAL et, comment elle devra éventuellement agir selon les résultats que celle-ci lui fournira. Une fois l’opération terminée, l’unité de contrôle passe soit à l’instruction suivante, soit à une autre instruction à laquelle le programme lui ordonne de se brancher.

L'unité de contrôle facilite la communication entre l'unité arithmétique et logique, la mémoire ainsi que les périphériques. Elle gère la plupart des exécutions des instructions dans l'ordinateur.

Mémoiremodifier | modifier le code

Au sein du système, la mémoire peut être décrite comme une suite de cellules numérotées contenant chacune une petite quantité d’informations. Cette information peut servir à indiquer à l’ordinateur ce qu’il doit faire (instructions) ou contenir des données à traiter. Dans la plupart des architectures, c'est la même mémoire qui est utilisée pour les deux fonctions. Dans les calculateurs massivement parallèles, on admet même que des instructions de programmes soient substituées à d’autres en cours d’opération lorsque cela se traduit par une plus grande efficacité. Cette pratique était jadis courante, mais les impératifs de lisibilité du génie logiciel l'ont fait régresser, hormis dans ce cas particulier, depuis plusieurs décennies. Cette mémoire peut être réécrite autant de fois que nécessaire. La taille de chacun des blocs de mémoire ainsi que la technologie utilisée ont varié selon les coûts et les besoins : 8 bits pour les télécommunications, 12 bits pour l’instrumentation (DEC) et 60 bits pour de gros calculateurs scientifiques (Control Data). Un consensus a fini par être trouvé autour de l’octet comme unité adressable et d’instructions sur format de 4 ou 8 octets.

Dans tous les cas de figure, l'octet reste adressable, ce qui simplifie l'écriture des programmes. Les techniques utilisées pour la réalisation des mémoires ont compris des relais électromécaniques, des tubes au mercure au sein desquels étaient générées des ondes acoustiques, des transistors individuels, des tores de ferrite et enfin des circuits intégrés incluant des millions de transistors.

Entrées-Sortiesmodifier | modifier le code

Les dispositifs d’entrée/sortie permettent à l’ordinateur de communiquer avec l’extérieur. Ces dispositifs sont très importants, du clavier à l’écran. La carte réseau permet par exemple de relier les ordinateurs en réseau informatique, dont le plus grand est Internet. Le point commun entre tous les périphériques d’entrée est qu’ils convertissent l’information qu’ils récupèrent de l’extérieur en données compréhensibles par l’ordinateur. À l’inverse, les périphériques de sortie décodent l’information fournie par l’ordinateur afin de la rendre compréhensible par l’utilisateur.

Busmodifier | modifier le code

Ces différentes parties sont reliées par trois bus, le bus d'adresse, le bus de données et le bus de commande. Un bus est un groupement d'un certain nombre de fils électriques réalisant une liaison pour transporter des informations binaires codées sur plusieurs bits. Le bus d'adresse transporte les adresses générées par l'UCT (Unité Centrale de Traitement) pour sélectionner une case mémoire ou un registre interne de l'un des blocs. Le nombre de bits véhiculés par ce bus dépend de la quantité de mémoire qui doit être adressée. Le bus de données transporte les données échangées entre les différents éléments du système. Le bus de contrôle transporte les différents signaux de synchronisation nécessaires au fonctionnement du système : signal de lecture (RD), signal d'écriture (WR), signal de sélection (CS : Chip Select).

Architecturemodifier | modifier le code

La miniaturisation permet d’intégrer l’UAL et l’unité de contrôle au sein d’un même circuit intégré connu sous le nom de microprocesseur. Typiquement, la mémoire est située sur des circuits intégrés proches du processeur, une partie de cette mémoire, la mémoire cache, pouvant être située sur le même circuit intégré que l’UAL.

L’ensemble est, sur la plupart des architectures, complété d’une horloge qui cadence le processeur. Bien sûr, on souhaite qu'elle soit le plus rapide possible, mais on ne peut pas augmenter sans limites sa vitesse pour deux raisons :

  • plus l’horloge est rapide et plus le processeur dégage de la chaleur (selon le carré de la fréquence). Une trop grande température peut détériorer le processeur ;
  • il existe une cadence où le processeur devient instable ; il génère des erreurs qui mènent le plus souvent à un plantage.

La tendance a été à partir de 2004 de regrouper plusieurs UAL dans le même processeur, voire plusieurs processeurs dans la même puce. En effet, la miniaturisation progressive (voir Loi de Moore) le permet sans grand changement de coût. Une autre tendance, depuis 2006 chez ARM, est aux microprocesseurs sans horloge : la moitié de la dissipation thermique est en effet due aux signaux d'horloge quand le microprocesseur fonctionne ; de plus, un microprocesseur sans horloge a une consommation presque nulle quand il ne fonctionne pas : le seul signal d'horloge nécessaire est alors celui destiné au rafraîchissement des mémoires. Cet atout est important pour les modèles portables.

Le principal écart fonctionnel aujourd’hui par rapport au modèle de Von Neumann est la présence sur certaines architectures de deux antémémoires différentes : une pour les instructions et une pour les données (alors que le modèle de Von Neumann spécifiait une mémoire commune pour les deux). La raison de cet écart est que la modification par un programme de ses propres instructions est aujourd’hui considérée (sauf sur les machines hautement parallèles) comme une pratique à proscrire. Dès lors, si le contenu du cache de données doit être récrit en mémoire principale quand il est modifié, on sait que celui du cache d’instructions n’aura jamais à l’être, d’où simplification des circuits et gain de performance.

Instructionsmodifier | modifier le code

Les instructions que l’ordinateur peut comprendre ne sont pas celles du langage humain. Le matériel sait juste exécuter un nombre limité d’instructions bien définies. Des instructions typiques comprises par un ordinateur sont « copier le contenu de la cellule 123 et le placer dans la cellule 456 », « ajouter le contenu de la cellule 321 à celui de la cellule 654 et placer le résultat dans la cellule 777 » et « si le contenu de la cellule 999 vaut 0, exécuter l’instruction à la cellule 345 ». Mais la plupart des instructions se composent de deux zones : l’une indiquant quoi faire, nommée code opération, et l’autre indiquant où le faire, nommée opérande.

Au sein de l’ordinateur, les instructions correspondent à des codes - le code pour une copie étant par exemple 001. L’ensemble d’instructions qu’un ordinateur supporte se nomme son langage machine, langage qui est une succession de chiffres binaires, car les instructions et données qui sont comprises par le processeur (CPU) sont constituées uniquement de 0 (zéro) et de 1 (un). 0 = Le courant électrique ne passe pas. 1 = Le courant électrique passe. En général, les programmeurs n’utilisent plus ce type de langage, mais passent par ce que l’on appelle un langage de haut niveau qui est ensuite transformé en langage binaire par un programme spécial (interpréteur ou compilateur selon les besoins). Les programmes ainsi obtenus sont des programmes compilés compréhensibles par l'ordinateur dans son langage natif. Certains langages de programmation, comme l’assembleur sont dits langages de bas niveau car les instructions qu’ils utilisent sont très proches de celles de l’ordinateur. Les programmes écrits dans ces langages sont ainsi très dépendants de la plate-forme pour laquelle ils ont été développés. Le langage C, beaucoup plus facile à relire que l’assembleur, permet donc aux programmeurs d’être plus productifs. Pour cette raison, on l’a vu de plus en plus utilisé à mesure que les coûts du matériel diminuaient et que les salaires horaires des programmeurs augmentaient.

Logicielsmodifier | modifier le code

Les logiciels informatiques sont de longues listes d’instructions exécutables par un ordinateur. De nombreux programmes contiennent des millions d’instructions, effectuées pour certaines de manière répétitive. De nos jours, un ordinateur personnel exécute plusieurs milliards d’instructions par seconde. Depuis le milieu des années 1960, des ordinateurs exécutent plusieurs programmes simultanément. Cette possibilité est appelée multitâche. C’est le cas de tous les ordinateurs aujourd’hui[Quand ?]. En réalité, chaque cœur de processeur n’exécute qu’un programme à la fois, passant d’un programme à l’autre chaque fois que nécessaire. Si la rapidité du processeur est suffisamment grande par rapport au nombre de tâches à exécuter, l’utilisateur aura l’impression d’une exécution simultanée des programmes. Les priorités associées aux différents programmes sont, en général, gérées par le système d'exploitation.

Le système d’exploitation est le programme central qui contient les programmes de base nécessaires au bon fonctionnement des applications de l’ordinateur. Le système d’exploitation alloue les ressources physiques de l’ordinateur (temps processeur, mémoire…) aux différents programmes en cours d’exécution. Il fournit aussi des outils aux logiciels (comme les pilotes) afin de leur faciliter l’utilisation des différents périphériques sans avoir à en connaître les détails physiques.

Typesmodifier | modifier le code

Cliquez sur une vignette pour l’agrandir

Par domaine d'applicationmodifier | modifier le code

Par taillemodifier | modifier le code

Par architecturemodifier | modifier le code

Notes et référencesmodifier | modifier le code

  1. « La machine d'arithmétique fait des effets qui approchent plus de la pensée que tout ce que font les animaux ; mais elle ne fait rien qui puisse faire dire qu'elle a de la volonté, comme les animaux. », Blaise Pascal, Pensées, Pensées disponible sur Gallica
  2. «…in less than two years he had sketched out many of the salient features of the modern computer. A crucial step was the adoption of a punched card system derived from the Jacquard loom », Anthony Hyman, Charles Babbage, pioneer of the computer, 1982
  3. « From Analytical Engine to Electronic Digital Computer: The Contributions of Ludgate, Torres, and Bush » (consulté le )
  4. Cité dans :Brian Randell, p. 187, 1973
  5. Brian Randell, « ordinateur », sur jargonf.org (consulté le )
  6. a et b Pierre Guiraud, Problèmes et méthodes de la statistique linguistique, Springer - 1959,(ISBN 9789027700254)
  7. Napoléon Landais, Dictionnaire général et grammatical des dictionnaires français, Didier - 1849
  8. « Étymologie du mot ORDINATEUR : ordinateur (ancien français) », sur presse-francophone.org (consulté le )
  9. « Histoire de la création du mot Ordinateur : la lettre in extenso de J. Perret et son contexte expliqué par Gilles Zemor ENST », sur news://loria.general,‎ (consulté le )
  10. The Most Famous Image in the Early History of Computing From cave paintings to the internet HistoryofScience.com
  11. See: Anthony Hyman, ed., Science and Reform: Selected Works of Charles Babbage (Cambridge, England: Cambridge University Press, 1989), page 298. Une copie de ce tableau est dans la collection du Science Museum de Londres. (Delve (2007), page 99.)
  12. Bernard Cohen, p. 297 (2000) Traduit de l’américain: "Historians of technology and computer scientists interested in history have adopted a number of qualifications that define a computer. As a result, the question of whether Mark I was or was not a computer depends not on a general consensus but rather on the particular definition that is adopted. Often, some primary defining characteristics of a computer are that it must (1) be electronic, (2) be digital (rather than analog), (3) be programmed, (4) be able to perform the four elementary operations (addition, subtraction, multiplication, and division) and -often- extract roots or obtain information from built-in tables, and (5) incorporate the principle of the stored program. A machine does not generally qualify as a computer unless it has some further properties, for example the ability to perform certain specified operations automatically in a controlled and predetermined sequence. For some historians and computer scientists, a machine must also have been actually constructed and then become fully operational."
  13. (en) "The introduction of punched cards into the new engine was important not only as a more convenient form of control than the drums, or because programs could now be of unlimited extent, and could be stored and repeated without the danger of introducing errors in setting the machine by hand; it was important also because it served to crystalize Babbage's feeling that he had invented something really new, something much more than a sophisticated calculating machine." Bruce Collier, 1970
  14. Robert Ligonnière, p. 109 (1987)
  15. (en) fragment of Babbage's first difference engine (page consultée le 18-10-2013)
  16. a et b Bernard Cohen, p. 66 (2000)
  17. Bernard Cohen, p. 44 (2000)
  18. "…mais ces machines semblent être restées des appareils de démonstration." Louis Couffignal, p. 53 (1933)
  19. "…sa machine est aujourd'hui en voie de construction..", cité dans la préface par Maurice d'Ocagne, page VII (1933)
  20. l'Altair 8800 qui eut Bill Gates et Paul Allen comme premiers programmeurs
  21. Jim Turley, The essential guide to semiconductors, Prentice Hall, New Jersey, 2003, p. 123
  22. (en) Alan Turing, « On Computable Numbers, with an Application to the Entscheidungsproblem », Proc. London Math. Soc., 2e série, vol. 42,‎ 1937, p. 230-265 (DOI 10.1112/plms/s2-42.1.230) et « idem : A Correction », Proc. London Math. Soc., 2e série, vol. 43,‎ 1938, p. 544-546 (DOI 10.1112/plms/s2-43.6.544, lire en ligne)
  23. Bernard Cohen, p. 66-67 (2000): "Carmello Lanza…couldn't see why in the world I (Howard Aiken) wanted to do anything like this in the Physics laboratory, because we already had such a machine and nobody used it… Lanza led him up into the attic… There, sure enough… were the wheels that Aiken later put on display in the lobby of the Computer Laboratory. With them was a letter from Henry Prevost Babbage describing these wheels as part of his father's proposed calculating engine. This was the first time Aiken ever heard of Babbage he said, and it was this experience that led him to look up Babbage in the library and to come across his autobiography."
  24. Andrew Hodges p. 298 (1983): (en) Without conditional branching, the ability to mechanize the word IF, the grandest calculator would be no more than a glorified adding machine. It might be thought of as assembly line, everything being laid down from start to finish, and there being no possibility of interference in the process once started.
  25. Andrew Hodges p. 302 (1983) : (en) Both ENIAC and Colossus were like kits out of which many slightly different machines could be made. Neither sought to embody the true universality of Babbage's conception, in which the machinery would be entirely unchanged, and only the instruction cards rewritten.
  26. (en) [PDF] First Draft of a Report on the EDVAC, sur le site archive.org
  27. Andrew S Tanenbaum page 5-13 (1987). Le livre utilise 1945 mais l'ENIAC fut inauguré en février 1946
  28. Encyclopedia of Computer Science p. 541 (1976)
  29. Encyclopedia of Computer Science p.541 (1976). Traduit de "the ENIAC established the fact that the basic principles of electronic engineering are sound. It was indeed inevitable that future computing machines of this type would be improved through the knowledge and experience gained on this first one."
  30. a et b plaque commémorant la première commercialisation d'un ordinateur pour le BINAC et pour l'UNIVAC I (dans ce cas première commercialisation en vente libre).
  31. (en) interview avec Isaac Auerbach à propos du BINAC et de l'UNIVAC
  32. (en) The BINAC: A case study in the history of technology, IEEE
  33. Une deuxième machine, dont la commande par l'établissement de recherche atomique d'Harwell fut annulée au milieu de sa construction, ne fut jamais finie par Ferranti.
  34. Voir tableau récapitulatif dans l'article: (en) UNIVAC installations, 1951–1954
  35. (en) Andrew S Tanenbaum page 6 (1987) "The introduction of the transistor in the mid-1950s changed the picture radically. Computers became reliable enough that they could be sold to paying customers with the expectation that they would continue to function long enough to get some useful work done"
  36. Andrew S Tanenbaum page 11 (1987)
  37. (en) How the Altair 8800 started the PC revolution (Part 1) consulté le 12-05-2013
  38. (en) Bill Gates talks about Microsoft and the Altair 8800 (1994) consulté le 12-05-2013

Sourcesmodifier | modifier le code

  • Robert Ligonnière, Préhistoire et Histoire des ordinateurs, Paris, Robert Laffont,‎ 1987 (ISBN 9-782221-052617)
  • Louis Couffignal, Les machines à calculer : leurs principes, leur évolution, Paris, Gauthier-Villars,‎ 1933
  • (en) Bernard Cohen, Howard Aiken : Portrait of a computer pioneer, Cambridge, Massachusetts, The MIT press,‎ 2000 (ISBN 978-0-2625317-9-5)
  • (en) Bruce Collier, The little engine that could've : The calculating machines of Charles Babbage, Garland Publishing Inc,‎ 1970 (ISBN =0-8240-0043-9, lire en ligne)
  • (en) Andrew Hodges, Alan Turing: the enigma, London, Burnett books,‎ 1983 (ISBN =0-8240-0043-9, lire en ligne)
  • (en) Brian Randell, The origins of Digital computers, Selected Papers, New York, Springer-Verlag,‎ 1973 (ISBN =3-540-06169-X)
  • (en) Andrew S. Tanenbaum, Operating Systems, Design and implementation, Amsterdam, The Netherlands, Prentice-Hall International Editions,‎ 1987 (ISBN =0-13-637331-3)
  • (en) Ralston & Chester-Editors, Encyclopedia of Computer Science, New York, Petrocelli/Charter,‎ 1976 (ISBN =0-88405-321-0)
  • (en) Nancy Stern, « The BINAC:A case study in the history of technology », Annals of the History of Computing, IEEE, vol. 1, no 1,‎ juillet 1979, p. 9–20 (ISSN 1058-6180)
  • (en) Nancy Stern, « An Interview with ISAAC L. AUERBACH », Charles Babbage Institute,‎ avril 1978 (lire en ligne)

Annexesmodifier | modifier le code

Sur les autres projets Wikimedia :

Articles connexesmodifier | modifier le code








Creative Commons License