- Ordinateurs
-
Ordinateur - Wikipédia Ordinateur
Un ordinateur est une machine dotée d'une unité de traitement lui permettant d'exécuter des programmes enregistrés. C'est un ensemble de circuits électroniques permettant de manipuler des données sous forme binaire, ou bits. Cette machine permet de traiter automatiquement les données, ou informations, selon des séquences d'instructions prédéfinies appelées aussi programmes.
Elle interagit avec l'environnement grâce à des périphériques comme le moniteur, le clavier, le modem, le lecteur de CD, la carte graphique (liste non-exhaustive). Les ordinateurs peuvent être classés selon plusieurs critères[1] (domaine d'application, taille ou architecture).
Sommaire
Historique
Article détaillé : Histoire de l'informatique.En 1936, la publication de l'article fondateur de la science informatique (en)On Computable Numbers with an Application to the Entscheidungsproblem par Alan Mathison Turing allait donner le coup d'envoi à la création de l'ordinateur programmable. Il y présente sa machine de Turing, le premier calculateur universel programmable, et invente les concepts de programmation et de programme.
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.
Le premier ordinateur fonctionnant en langage binaire fut le Colossus, conçu lors de la 2e guerre mondiale, il n'était pas Turing-complet bien qu'Alan Turing ait travaillé au projet. À la fin de la guerre, il fut démonté et caché à cause de son importance stratégique. L'ENIAC, mis en service en 1946, est le premier ordinateur entièrement électronique construit pour être Turing-complet.
Le mot ordinateur fut introduit par IBM France en 1955. 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, afin de lui demander de proposer un mot caractérisant le mieux possible ce que l'on appelait vulgairement un calculateur (traduction littérale du mot anglais « computer »). Ce dernier proposa « ordinateur », un mot tombé en désuétude désignant anciennement un ordonnateur, voire la notion d'ordre ecclésiastique dans l'église catholique (ordinant)[2],[3]. 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 mot.[4],[5]
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 : 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, etc.) - 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 pourraient être sensibles aux bombes IEM.
Fonctionnement 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. Organe de sortie
Chez l'homme 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 :
- 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 calculette.
- L’unité de contrôle. C’est l’équivalent des doigts qui actionneraient la calculette.
- 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, etc.), 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. Il gère la plupart de l'exécution 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.
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 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'U.C.T. (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 reste 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 il chauffe toutes choses égales par ailleurs, comme le carré de sa fréquence. Une trop grande température peut le détériorer ;
- il existe une cadence où le processeur devient instable; son comportement devient erratique ce qui amène le plus souvent à des plantages.
- 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 « 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, qu’on nomme le code opération, et l’autre indiquant où le faire, qu’on nomme 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 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 dédié (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.
Logiciels
Article détaillé : Logiciel.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. En 2009, 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.
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.
Système d’exploitation
Article détaillé : 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, etc.) 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
Par domaine d'application
- Les moyens systèmes (midrange) (exemple : IBM AS/400-ISeries, RS/6000, etc.)
- Ordinateur personnel
- Serveur
- Système embarqué
Par taille
- Ordinateur de poche : Assistant personnel
- Ordinateur portable : Ultraportable, Tablette PC, Ordinateur portable
- Ordinateur de bureau : Mini PC, ordinateur de bureau, Station de travail
- Ordinateur géant : Mainframe, Superordinateur
Par architecture
Références
- ↑ Jargon fr - ordinateur sur http://jargonf.org/wiki/Accueil. Consulté le 1er avril 2008
- ↑ XMLittré - Ordinateur, trice sur http://francois.gannaz.free.fr/Littre/accueil.php. Consulté le 1er avril 2008
- ↑ Étymologie du mot ORDINATEUR : ordinateur (ancien français) sur http://www.presse-francophone.org/apfa/. Consulté le 22 février 2008
- ↑ Ordinateur : la (première page) de lettre manuscrite de J.Perret sur http://www.les-infostrateges.com/. Mis en ligne le 16 mai 2005, consulté le 22 février 2008
- ↑ 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. Mis en ligne le 23 août 1996, consulté le 12 mars 2008
Voir aussi
- Portail de l’informatique
Catégories : Matériel informatique | Machine à calculer
Wikimedia Foundation. 2010.