Découvrir

L’ordinateur, objet du siècle

« Machine à tout faire », l’ordinateur fait désormais partie de notre quotidien. En à peine soixante ans, il est devenu incontournable. À la fois outil et objet d’étude, il est soutenu par une véritable science, l’informatique.

L'Eniac (Electronic Numerical Integrator Analyser and Computer).
© US Army photo

Écrire et calculer. Ces deux activités, aujourd’hui encore considérées comme des piliers de l’éducation, sont unies par des liens qui remontent à leur apparition même. En effet, c’est bien la conception progressive d’une écriture des nombres fondée sur la position de leurs chiffres associée à des algorithmes tirant parti de cette notation pour les additionner et les multiplier efficacement, qui a permis le prodigieux développement du calcul. Mais tant que les opérations sur les nombres étaient manuelles, elles restaient fastidieuses et sujettes à de fréquentes erreurs.

Sept mille ans avant notre ère : des petits cailloux, qui seront appelés calculi en latin, sont utilisés pour effectuer et mémoriser des comptes élémentaires lors des transactions.

Année 2008 de notre ère : une calculette électronique de quelques euros, qui ne doit sa taille qu’à celles imposées du clavier et de l’écran, est capable de réaliser instantanément toutes les opérations élémentaires, et moins élémentaires, y compris sur des grands nombres.

L’homme et la machine : un travail d'équipe

Abaque de Michel Rous (France, 1869).
Collection IBM Europe / Amisa © INRIA

Entre-temps, l’ingéniosité humaine, sous la pression d’une même motivation – calculer plus vite et sans erreurs – a produit des dispositifs d’une grande diversité. Après les bouliers, apparus trois mille ans avant notre ère et encore largement utilisés aujourd’hui, et leur version romaine, les abaques, ou les quipus incas, l’histoire s’accélère au XVIIe siècle avec les compas de proportion chers à Galilée et les bâtons de Neper. Les premières calculatrices mécaniques voient le jour, le dispositif de W. Schickard, puis la fameuse Pascaline en 1641 et, cinquante ans plus tard, la machine de Leibniz, moins connue quoique plus puissante. Elles deviennent électromécaniques à la fin du XIXe siècle, puis électroniques au XXe, siècle qui verra aussi le succès de la carte perforée. Simultanément, les capacités de calcul ainsi disponibles motivent et favorisent la conception de méthodes, c’est-à-dire d’algorithmes, permettant par exemple de calculer des racines, ne serait-ce que carrées, ou de résoudre des équations algébriques, puis différentielles.

Mais des calculi à la calculette, l’enchaînement des opérations reste le fait de l’utilisateur : la calculette, aussi puissante soit-elle, n’est pas un ordinateur. En effet, c’est l’enregistrement, dans une mémoire de la machine, de la séquence des opérations à effectuer – le programme –, avec les données sur lesquelles elles portent, qui distingue un ordinateur d’un dispositif de calcul, quelles que soient la maniabilité et la rapidité de ce dernier. On fait alors la différence entre le matériel, c’est-à-dire l’ordinateur et ses circuits, et le logiciel, les programmes qui peuvent s’exécuter sur l’ordinateur. De ce point de vue, l’apparition de l’ordinateur est récente. Même si Charles Babbage et Ada Lovelace peuvent être crédités d’avoir anticipé, dès les années 1830, la distinction entre le matériel et le logiciel, ce n’est que cent ans plus tard que les premiers ordinateurs ont été construits. Si la motivation est la même qu’au début – calculer vite et sans erreurs –, les priorités de l’époque sont différentes : il s’agit d’effectuer des calculs longs et répétitifs requis par la résolution d’équations en physique et en particulier les calculs des tables de tir et de bombardement.

Des tonnes de calculs

Les premiers ordinateurs utilisent la technologie des lampes (appelées aussi « tubes à vide »). Ils sont, de ce fait, extrêmement encombrants, coûteux, très lents par rapport aux standards actuels et tombent fréquemment en panne. Achevé en 1946, l’Eniac (Electronic Numerical Integrator Analyser and Computer), un des premiers ordinateurs opérationnels, pesait 27 tonnes, occupait 63 m2 au sol et effectuait 5 000 opérations par seconde. Les progrès technologiques des décennies suivantes permettent d’augmenter leur fiabilité, en particulier par la substitution des semi-conducteurs aux tubes à vide, de réduire leur taille, grâce à la miniaturisation des composants électroniques, d’en diminuer le coût grâce à des procédés de fabrication automatisés, et enfin d’en accroître considérablement la puissance, tant en termes de calcul que de capacité de stockage. Comparez Eniac à votre ordinateur personnel – quelques kilos (voire moins) posés sur votre bureau capables d’effectuer plusieurs centaines de millions d’opérations par seconde.

L'architecture de Von Neumann.
© France Telecom / DocSciences

Au-delà de ces immenses progrès technologiques, force est de constater que ces premiers ordinateurs reposent déjà sur les mêmes principes que les ordinateurs actuels et en possèdent fondamentalement la même organisation, ladite « architecture de Von Neumann », du nom de ce brillant mathématicien d’origine hongroise qui fit par ailleurs des contributions majeures en physique et en économie.

Très vite, une représentation binaire des nombres, une séquence de 0 et de 1, appelés « bits », est retenue. Cette représentation est quasiment imposée par la physique : il est en effet beaucoup plus simple de créer des dispositifs qui possèdent seulement deux états stables, à la manière d’un interrupteur qui ne peut être qu’ouvert ou fermé.

Les circuits de l’ordinateur effectuent séquentiellement chacune des instructions qui composent un programme. Certaines de ces instructions consistent à additionner ou à multiplier des nombres, d’autres à comparer des valeurs, d’autres encore, dites de contrôle, permettent de rompre cette séquentialité d’exécution et d’effectuer alors des boucles jusqu’à atteindre une certaine condition, ou encore d’aller exécuter un sous-programme spécialisé, par exemple dans le calcul de fonctions trigonométriques.

Donc, une fois un programme lancé, l’ordinateur enchaîne seul les instructions, contrairement à la calculatrice, et à tous les dispositifs de calcul qui ont précédé l’ordinateur, où cet enchaînement est le fait de l’utilisateur.

Ainsi, un nouveau métier apparaît : programmeur. Il s’agit de concevoir la séquence des instructions que l’ordinateur exécutera pour résoudre un problème donné. Par exemple : déterminer si deux nombres sont premiers entre eux, c’est-à-dire si leur plus grand commun diviseur (PGCD) est 1. Pour résoudre ce problème, il faut tout d’abord élaborer un algorithme, c’est-à-dire une démarche systématique qui conduira au résultat. En l’occurrence, dès le IVe siècle avant notre ère, le mathématicien grec Euclide propose un algorithme pour calculer le PGCD de deux entiers naturels. Il est ensuite nécessaire d’écrire cette démarche dans un langage interprétable par l’ordinateur : c’est la phase de programmation. Quand le programme a été suffisamment vérifié, voire prouvé, il est possible de l’appliquer avec une certaine confiance sur des nombres quelconques. Ou presque… Car certains algorithmes, pourtant courts à décrire, peuvent prendre beaucoup de temps à s’exécuter, même sur des ordinateurs puissants.

Un programme sur mesure

Le programme est accessible à l’unité arithmétique et logique dès que les instructions élémentaires qui le composent sont rangées dans la mémoire de l’ordinateur. Initialement capables de stocker quelques mots seulement – chaque mot rassemblant typiquement 32 bits, soit 4 octets de 8 bits chacun –, les mémoires ont elles aussi bénéficié d’énormes avancées technologiques. Un ordinateur personnel possède ainsi une mémoire dont la capacité se mesure dorénavant en millions d’octets ou en mégaoctets, si on utilise les préfixes chers aux informaticiens.

Notons ici que le kilo de l’informaticien vaut plus que le kilo du physicien. En effet, 1 kilo (d’)octets ou 1 ko correspond à 210 octets, soit 1 024 octets. De même, 1 mégaoctet ou 1 Mo = 220 octets, 1 gigaoctet ou 1 Go = 230 octets, et ainsi de suite, qu’il s’agisse d’octets, de bits ou d’opérations sur des nombres réels, dits « flottants ». Ainsi, la performance des ordinateurs les plus rapides s’exprime-t-elle en petaflops, soit 250 opérations par seconde (ou approximativement 1015), autrement dit un million de milliards d’opérations par seconde !

La mémoire centrale de l’ordinateur est secondée par des mémoires, dites « secondaires », encore plus vastes, et qui, de plus, ne sont pas volatiles : elles conservent les informations qui y sont rangées même lorsque l’ordinateur est éteint. Par contre, l’accès à ces informations y est plus lent. Un ordinateur personnel contient ainsi un disque dur capable de stocker des gigaoctets d’informations.

Les ordinateurs actuels bénéficient souvent de plusieurs unités arithmétiques et logiques, qu’on appelle désormais « processeurs », ce qui augmente leur puissance puisque les calculs peuvent y être répartis et effectués en parallèle. Ils possèdent également des circuits spécialisés, par exemple pour l’affichage graphique.

Représentation des vingt-six lettres de l'alphabet en code binaire.
Image : Vivian Fayard

En effet, il est vite apparu qu’une suite de 0 et de 1 peut représenter d’autres entités que des nombres et tout d’abord des caractères. Ainsi, le fameux code ASCII (American Standard Code for Information Interchange), créé au début des années 1960, établit-il une correspondance biunivoque entre les 256 séquences de 8 chiffres binaires et une liste de caractères.

0 et 1, le couple fondateur

Ce codage approprié permet donc à l’ordinateur de faire du calcul sur des caractères, de les mémoriser et de les restituer sur une imprimante, et plus tard sur un écran. Il ouvre la voie au traitement de textes, à la traduction assistée et… à la compilation, c’est-à-dire la traduction de programmes écrits en langages de haut niveau, tels que C ou Java, vers le langage, beaucoup plus élémentaire, interprété directement par le processeur. Au-delà des textes, le codage binaire s’applique également à des signaux de nature continue, par exemple ceux issus d’un microphone, à condition de les discrétiser, c’est-à-dire de les découper en petits segments et de coder chacun de ces segments par une séquence de bits. De la même manière, les images peuvent être décomposées en pixels (contraction de picture element) dont on codera, outre la position, l’intensité et la couleur. Une telle image numérique peut faire l’objet de traitements informatiques qui s’appliquent sur chacun des pixels qui la composent.

Des informations de nature apparemment très différente peuvent ainsi être représentées sous la forme d’une suite de chaînes de bits : elles sont numérisées. Cette forme permet, on l’a vu, d’y appliquer des algorithmes. Mais elle est aussi extrêmement bien adaptée à la transmission à distance, bien plus que les signaux continus d’origine. La raison, là encore, en est la stabilité du codage binaire et la possibilité de concevoir des codes qui permettent de vérifier que la transmission s’est effectuée sans erreur.

Mais garantir la transmission correcte d’un message est une chose, assurer sa confidentialité en est une autre. S’appuyant sur l’arithmétique, une branche des mathématiques considérée jusque là comme peu susceptible d’applications pratiques, les techniques de cryptographie sont désormais d’une utilisation courante, en particulier pour la sécurisation des paiements en ligne. La numérisation de l’information a ainsi conduit à l’association des ordinateurs et des télécommunications. Les matérialisations de cette association fructueuse sont omniprésentes. Qui ne connaît ainsi le réseau Internet qui permet l’échange de messages, mais aussi la consultation de sites au sein du web, cette gigantesque toile de connaissances ?

Cette association est au cœur d’un domaine scientifique dont l’autonomie n’est aujourd’hui plus contestée : les sciences et technologies de l’information et de la communication.

Pour aller plus loin, nous vous proposons quelques références bibliographiques.

Cet article est paru dans la revue DocSciences n°5 Les clés de la révolution numérique, éditée par le CRDP de l'Académie de Versailles en partenariat avec l'INRIA.

Niveau de lecture

Aidez-nous à évaluer le niveau de lecture de ce document.

Il vous semble :

Si vous souhaitez expliquer votre choix, vous pouvez ajouter un commentaire (qui ne sera pas publié).