Un ordinateur est un système de traitement de l'information programmable tel que défini par Alan Turing et 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. Sa structure physique actuelle fait que toutes les opérations reposent sur la logique binaire et sur des nombres formés à partir de 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 déterminées par une mémoire morte d'amorçage. Des tests et des sauts conditionnels permettent de passer à l'instruction suivante et donc d'agir différemment en fonction des données ou des nécessités du moment ou de l'environnement.
Les données à manipuler sont acquises soit par la lecture de mémoires, soit en provenance de périphériques internes ou externes (déplacement d'une souris, touche appuyée sur un clavier, déplacement d'un stylet sur une tablette, température et autres mesures physiques…). Une fois utilisés, ou manipulés, les résultats sont écrits 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.
L'histoire des ordinateurs remonte au XIXe siècle avec des concepts tels que la machine à différences de Charles Babbage, sans suite directe. Alan Turing formalise mathématiquement la notion d'ordinateur en 1931. Les premières implémentations commencent à émerger au milieu du XXe siècle, notamment grâce aux travaux de von Neumann en 1945, et se développe rapidement avec l'avènement des transistors et des circuits intégrés, ce qui a permis la fabrication de machines plus petites, plus rapides et moins chères. Les années 1970 ont vu l'émergence des ordinateurs personnels, tandis que les années 1990 ont été marquées par l'essor d'Internet et de la communication en réseau.
Étymologie
Le mot « ordinateur » fut introduit par IBM France en 1955[1],[2] 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. Avec Christian de Waldner, alors président d'IBM France, ils demandèrent au professeur Perret de suggérer un « nom français pour sa nouvelle machine électronique destinée 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 »[3].
En 1911, une description de la machine analytique de Babbage utilisait le mot ordonnateur pour en décrire son organe moteur : « Pour aller prendre et reporter les nombres… et pour les soumettre à l’opération demandée, il faut qu'il y ait dans la machine un organe spécial et variable : c'est l'ordonnateur. Cet ordonnateur est constitué simplement par des feuilles de carton ajourées, analogues à celle des métiers Jacquard… »[4].
Le professeur proposa un mot composé centré autour d'ordonnateur : celui qui met en ordre[5] et qui avait aussi la notion d'ordre ecclésiastique dans l'église catholique (ordinant)[6]. Il 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 mot[7].
« 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. »[3]
Histoire
Première apparition de l'ordinateur
Selon Bernard Cohen, auteur de l'ouvrage intitulé Howard Aiken: Portrait of a computer pioneer, « 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 :
- Qu'il soit électronique ;
- Numérique (au lieu d'analogique) ;
- Qu'il soit programmable ;
- 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 ;
- 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 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érationnelle[10]. »
Concept initial et réalisation
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.
En 1834, Charles Babbage commence à développer une machine à calculer programmable, sa machine analytique. Il pense la programmer grâce à un cylindre à picots comme dans les automates de Vaucanson, mais, deux ans plus tard, il remplace ce cylindre par la lecture de cartes Jacquard, et ainsi crée une machine à calculer infiniment programmable[11].
En 1843, Ada Lovelace écrit le premier programme informatique pour calculer les nombres de Bernoulli, pour la machine analytique qui ne sera jamais construite.
Henry Babbage construit une version extrêmement simplifiée de l'unité centrale de la « machine analytique » de son père et l'utilise en 1906, pour calculer et imprimer automatiquement les quarante premiers multiples du nombre Pi avec une précision de vingt-neuf décimales[12], démontrant sans ambiguïté que le principe de la machine analytique était viable et réalisable. En 1886, 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[13]. 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 1937[14]. 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 Company[15] et une fois par l'université Harvard[14]).
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ées[16] 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 1930[17], 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.
Calculatrices
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 1975[18] et qui réside au cœur de tous les ordinateurs actuels quelles que soient 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énagers, de montres, de caméras de surveillance[19]…).
Électromécanique et mécanographie
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[20] 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 Gödel, éclairci par Church, vers le sujet de la mécanisation du calcul (ou calculabilité effective). Dans ce texte de 36 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 1930
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évelopper[21], proposa à IBM de la créer et de la construire ; après une étude de faisabilité, Thomas J. 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é 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 secrets 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.
Évolution
Premier ordinateur (1937-1946)
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 ultérieurement, ne fut décrite comme telle. Ces six précurseurs peuvent être divisées en trois groupes bien spécifiques :
- d'une part, deux machines à calculer. Ces deux machines n'étaient pas programmables, l'une était électromécanique, l'autre électronique :
- 1937 : l'ABC qui pouvait résoudre des équations linéaires et reconnu comme le premier ordinateur numérique,
- 1939 : le Complex Number Calculator de George Stibitz, conçu pour faire des opérations sur des nombres complexes ;
- d'autre part, deux machines électromécaniques programmables, programmées par la lecture de rubans 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 :
- 1941 : le Zuse 3,
- 1944 : l'ASCC/Mark I d'IBM ;
« 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 marche[22]. »
— Andrew Hodges, Alan Turing: the enigma, 1983.
- et enfin, deux machines électroniques spécialisées. Initialement ces machines ne pouvaient faire que cela, et étaient programmées par le changement de fils et d'interrupteurs :
- 1943 : le Colossus, conçu pour déchiffrer des messages secrets allemands,
- 1946 : l'ENIAC[23], conçu pour calculer des trajectoires balistiques.
« 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ées[24]. »
— Andrew Hodges, Alan Turing: the enigma, 1983.
De ces six machines, seulement quatre furent connues de leurs contemporains, les deux autres, le Colossus 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 Neumann[25] 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)
Cette chronologie[26] 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 contient[27].
« 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ère[28]. »
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 BINAC[29], conçu par la Eckert–Mauchly Computer Corporation et livré à la Northrop Corporation en 1949 qui, après sa livraison, ne fut jamais fonctionnel[30],[31]. 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 [32]. Et en dernier, UNIVAC I[29], conçu 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 1954[33].
Générations suivantes (1955-2000)
« 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 travail[34]. » 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.
Les circuits intégrés permettent de concevoir une informatique plus décentralisée les constructeurs souhaitant concurrencer le géant IBM. 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 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 puce[35] 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'. En 1972, une société française développe le Micral, premier micro-ordinateur à être basé sur le microprocesseur 8008. Mais l’ordinateur qui créa l'industrie de l'ordinateur personnel est l'Altair 8800[36],[37] qui fut décrit pour la première fois dans le magazine Radio-Electronics de . Bill Gates, Paul Allen, Steve Wozniak et Steve Jobs (ordre chronologique) firent tous leurs débuts dans la micro-informatique sur ce produit moins de six mois après son introduction.
Généralités
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, du fait de la possibilité quasi infinie de lancer d'autres programmes en fonction du résultat de calculs, ou de capteurs internes ou externes (température, inclinaison, orientation, etc.), ou de toute action de l'opérateur ou de son environnement.
- 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 (exemple : lettres de l’alphabet).
- 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.
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[réf. nécessaire].
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.[réf. nécessaire]
Fonctionnement
Parmi toutes les machines inventées par l'Homme, l'ordinateur est celle qui se rapproche le plus du concept anthropologique suivant : organes d'entrée, organe de traitement de l'information et organes de sortie. Chez l'Homme (et chez de nombreux autres animaux), les organes d'entrée sont les organes sensoriels, l'organe de traitement est le cerveau dont les logiciels sont construits par l'apprentissage (avec des mises à jour constantes en cours de vie), et les organes de sortie sont les muscles. Pour les ordinateurs modernes, les organes d'entrée sont le clavier, la souris et quelques autres (box Internet, notamment), les organes de traitement sont les processeurs (CPU, processeur graphique) et les logiciels (qui sont mis à jour régulièrement tout au long de la vie de l'ordinateur) 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 :
- 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 ;
- l'unité de contrôle. C'est l’équivalent des doigts qui actionneraient la calculatrice ;
- 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) ;
- les entrées-sorties : dispositifs qui permettent de communiquer avec le monde extérieur.
UAL et UC
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émoire
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-Sorties
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.
Bus
Ces différentes parties sont reliées par trois bus, le bus d'adresse, le bus de données et le bus de contrôle. 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).
Architecture
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.
Instructions
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 par exemple :
- 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 ;
- Placer le résultat dans la cellule 777 ;
- Si le contenu de la cellule 999 vaut 0, exécuter l’instruction à la cellule 345.
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, ce type de langage n'est pas utilisé car on lui préfère 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 de produire plus facilement des programmes. 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[réf. nécessaire].
Logiciels
Les logiciels informatiques sont des listes (généralement longues) 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 modernes. 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.
Types d'ordinateurs
-
IBM 370 (1972).
-
HP 2116 (1974).
-
Serveur VAX (1975).
-
IBM PC 5150 en 1983.
-
Superordinateur Columbia de la NASA en 2004.
-
Acer Aspire 8920 (2012).
Par type de phénomène physique
Mécanique
L'ordinateur mécanique se base sur des composants mécaniques pour effectuer les calculs (engrenages, etc.)
Électromécanique
Les ordinateurs électromécaniques utilisent à la fois du courant électrique et des mécanismes mécaniques pour le calcul (relais électromécaniques)
- Zuse 3 et l'ASCC/Mark I d'IBM
Électronique
Les ordinateurs électroniques utilisent des électrons pour réaliser les différentes fonctions de l'architecture d'un ordinateur.
C'est le phénomène physique sous-jacent de nos ordinateurs actuels.
Quantique
Les ordinateurs quantiques utilisent les propriétés quantiques de la matière.
Optique
Les ordinateurs optiques utilisent des photons pour le traitement des informations.
Chimique (ou biologique)
Par type de traitement temporel
Par domaine d'application
- Ordinateur d'entreprise : Mainframe (exemples : IBM 360 et 370, DEC PDP-10, etc.), Mini-ordinateur, (exemples : IBM AS/400-ISeries, RS/6000, HP9000, etc.), Superordinateur (exemples : Riken, Cray, etc.)
- Ordinateur personnel (exemples : PC, Macintosh, etc.)
- Système embarqué
- Ordinateur de bord
Par taille
- Ordinateur de poche : Assistant numérique personnel, Smartphone, Smartwatch
- Ordinateur portable : Ultraportable, Tablette tactile, Ordinateur portable
- Ordinateur de bureau : Mini PC, Ordinateur de bureau, Station de travail
- Ordinateur intermédiaire : Mini-ordinateur
- Ordinateur géant : Mainframe, Superordinateur
Par architecture
- Amiga
- Atari ST
- Compatible PC
- Macintosh
- stations SPARC
- …
Notes et références
- IBM France, 1955 : le terme « Ordinateur » est inventé par Jacques Perret, à la demande d'IBM France, Centenaire d'IBM, 16 avril 2014.
- 16 avril 1955 : "Que diriez-vous d'ordinateur ?", Le Monde, 2005.
- Pierre Guiraud, Problèmes et méthodes de la statistique linguistique, Springer - 1959, (ISBN 9789027700254).
- L. Jacob, p. 189 (1911).
- Napoléon Landais, Dictionnaire général et grammatical des dictionnaires français, Didier - 1849.
- « Étymologie du mot ORDINATEUR : ordinateur (ancien français) », sur presse-francophone.org (consulté le ).
- « Histoire de la création du mot Ordinateur : la lettre in extenso de J. Perret et son contexte expliqué par Gilles Zemor », (consulté le ).
- The Most Famous Image in the Early History of Computing From cave paintings to the internet HistoryofScience.com.
- 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), p. 99).
- 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. ».
- (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.
- Robert Ligonnière, p. 109 (1987).
- (en) fragment of Babbage's first différence engine (page consultée le 18-10-2013).
- Bernard Cohen, p. 66 (2000).
- Bernard Cohen, p. 44 (2000).
- "…mais ces machines semblent être restées des appareils de démonstration." Louis Couffignal, p. 53 (1933).
- "…sa machine est aujourd'hui en voie de construction.", cité dans la préface par Maurice d'Ocagne, page VII (1933).
- l'Altair 8800 qui eut Bill Gates et Paul Allen comme premiers programmeurs.
- (en) Jim Turley, The essential guide to semiconductors, Prentice Hall, New Jersey, 2003, p. 123.
- (en) Alan Turing, On Computable Numbers, with an Application to the Entscheidungsproblem : Proceedings of the London Mathematical Society, London Mathematical Society, (DOI 10.1112/PLMS/S2-42.1.230, lire en ligne) et « [idem] : A Correction », Proc. London Math. Soc., 2e série, vol. 43, , p. 544-546 (DOI 10.1112/plms/s2-43.6.544, lire en ligne).
- 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."
- 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.
- Les premiers ordinateurs, sur online.fr, consulté le 14 octobre 2018.
- 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.
- (en) [PDF] First Draft of a Report on the EDVAC, sur le site archive.org.
- Andrew S Tanenbaum page 5-13 (1987). Le livre utilise 1945 mais l'ENIAC fut inauguré en février 1946.
- Encyclopedia of Computer Science p. 541 (1976).
- 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."
- 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).
- (en) interview avec Isaac Auerbach à propos du BINAC et de l'UNIVAC.
- (en) The BINAC: A case study in the history of technology, IEEE.
- 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.
- Voir le tableau récapitulatif dans l'article : (en) UNIVAC installations, 1951–1954.
- (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."
- Andrew S Tanenbaum page 11 (1987).
- (en) How the Altair 8800 started the PC revolution (Part 1) consulté le 12-05-2013.
- (en) Bill Gates talks about Microsoft and the Altair 8800 (1994) consulté le 12-05-2013.
Voir aussi
Bibliographie
- L. Jacob, Encyclopédie Scientifique, Le Calcul Mécanique, Paris, Octave Doin et fils,
- Robert Ligonnière, Préhistoire et Histoire des ordinateurs, Paris, Robert Laffont, , 356 p. (ISBN 978-2-221-05261-7)
- Louis Couffignal, Les machines à calculer : leurs principes, leur évolution, Paris, Gauthier-Villars,
- (en) Bernard Cohen, Howard Aiken : Portrait of a computer pioneer, Cambridge, Massachusetts, The MIT press, , 329 p. (ISBN 978-0-262-53179-5, lire en ligne)
- (en) Bruce Collier, The little engine that could've : The calculating machines of Charles Babbage, Garland Publishing Inc, , 319 p. (ISBN 0-8240-0043-9, lire en ligne)
- (en) Andrew Hodges, Alan Turing : the enigma, Londres, Burnett books, (ISBN 0-8240-0043-9, lire en ligne)
- (en) Brian Randell, The origins of Digital computers, Selected Papers, New York, Springer-Verlag, , 464 p. (ISBN 3-540-06169-X)
- (en) Andrew S. Tanenbaum, Operating Systems, Design and implementation, Amsterdam, The Netherlands, Prentice-Hall International Editions, (ISBN 0-13-637331-3)
- (en) Ralston & Chester-Editors, Encyclopedia of Computer Science, New York, Petrocelli/Charter, (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, , p. 9–20 (ISSN 1058-6180)
- (en) Nancy Stern, « An Interview with ISAAC L. AUERBACH », Charles Babbage Institute, (lire en ligne [PDF])
- Que diriez-vous d’« ordinateur » ?, lettre de 1955 de J. Perret proposant ce mot, et son analyse 2015 par L. Depecker, en ligne sur BibNum.
Articles connexes
- Liste d'ordinateurs du passé
- Minitel
- Micro-informatique
- Programmation informatique
- Programme informatique
- Intelligence artificielle
- Superordinateur
- Internet
- Intranet
- Débit
- Réseau informatique
- Serveur informatique
- Données informatiques
- Système informatique
- Système d'exploitation
- Système embarqué
- Périphérique informatique
- Informatique
- Histoire de l'informatique
- Histoire des ordinateurs
- Bus de données
- Bus de contrôle
- Ordinateur portable
- Ordinateur quantique
- Ordinateur à ADN
- Ordinateur neuronal
- Ordinateur optique
- Ordinateur de bord
- Ordinateur de bureau
- Ordinateur personnel
- Mini-ordinateur
- Ultraportable
- Mini PC
- Smartphone
- Tablette tactile
- Écran d'ordinateur
- Souris d'ordinateur
- Clavier d'ordinateur
- Pavé numérique
- Logiciel
- Carte mère
- Carte d'extension
- Carte réseau
- Mémoire vive
- Mémoire cache
- Disque dur
- Processeur
- Microprocesseur
- Circuit intégré
- Bug
- Ordinateur hybride
Liens externes
- Ressources relatives à la santé :
- Ressource relative à la littérature :
- Notices dans des dictionnaires ou encyclopédies généralistes :
- « Ordinateur : demandez le programme ! », Eurêka ! , France Culture, 18 août 2022.