Ecrivez-nous

Accueil
Informatique et Télécommunication
Annales
Livres
Logiciels
ordinateur
1 PRÉSENTATION

ordinateur, dispositif électronique programmable de traitement de l'information.

Le développement de l'informatique représente un atout majeur pour les progrès de la science. En particulier, il a permis de perfectionner les techniques utilisées en automatisation ainsi que les systèmes de communications (voir télécommunications). Aujourd'hui, les ordinateurs sont partout : selon leur puissance de calcul et leur capacité de stockage, on les utilise aussi bien pour gérer les données des gigantesques fichiers gouvernementaux, que pour mener à bien des programmes de recherche nécessitant de très grandes puissances de calcul, ou encore, plus modestement, pour tenir la comptabilité d'un ménage. Ce sont des outils essentiels dans presque tous les domaines de la recherche et de la technologie appliquée, de la cosmologie à la météorologie. Cependant, le délit informatique est devenu l'une des contreparties des bénéfices issus de la technologie moderne. En effet, des techniques de plus en plus sophistiquées sont mises au point pour pouvoir pénétrer illégalement dans des systèmes informatiques dont l'accès est interdit (voir sécurité informatique).

2 TYPES D'ORDINATEURS

Il existe deux types d'ordinateurs, l'analogique et le numérique, bien que le terme ordinateur soit souvent employé pour désigner uniquement le type numérique. Les ordinateurs analogiques utilisent des circuits électroniques et hydrauliques (composants fluidiques) pour simuler un problème physique. Les ordinateurs numériques sont conçus pour résoudre des problèmes au moyen d'algorithmes.

Les équipements mêlant des dispositifs analogiques et numériques sont appelés calculateurs hybrides. On les utilise généralement pour traiter des problèmes comprenant un grand nombre d'équations complexes à résoudre. Des données de format analogique peuvent également être traitées par un ordinateur numérique, par l'intermédiaire d'un convertisseur analogique-numérique, et vice versa.

2.1 Ordinateurs analogiques

Un ordinateur analogique est un dispositif électronique ou hydraulique conçu pour gérer des données qui s'expriment au moyen de grandeurs physiques (par exemple, des intensités, des tensions ou des pressions hydrauliques). Le système de calcul analogique le plus simple est la règle à calcul, qui utilise des échelles spécialement calibrées pour faciliter les multiplications, les divisions et autres fonctions. Dans un ordinateur analogique typique, les entrées sont converties en tensions, qui peuvent être alors additionnées ou multipliées en utilisant des éléments de circuits appropriés. Les réponses sont générées en continu en vue d'un affichage ou d'une conversion en un autre format.

2.2 Ordinateurs numériques

Un ordinateur numérique traite l'information sous forme codée : il convertit les données décimales en données binaires grâce à une série de commutateurs appelés aussi bascules, qui peuvent prendre seulement deux positions correspondant au 0 et au 1. Les opérations arithmétiques élémentaires s'effectuent au moyen de circuits logiques. La vitesse d'un ordinateur numérique se mesure en mégahertz (MHz), c'est-à-dire en millions de cycles par seconde. Un ordinateur dont la vitesse est de 10 MHz est donc capable d'exécuter au moins 10 millions d'opérations par seconde. Les micro-ordinateurs de bureau peuvent effectuer plusieurs dizaines de millions d'opérations par seconde, tandis que les supercalculateurs, utilisés notamment en météorologie, ont des vitesses pouvant atteindre plusieurs milliards de mégahertz.

La vitesse et la puissance de calcul des ordinateurs numériques sont encore accrues par le nombre d'opérations effectuées durant chaque cycle. Si un ordinateur ne gère qu'une seule bascule à la fois, il ne reconnaît que deux commandes (ON = activé et OFF = désactivé). En revanche, s'il contrôle différents jeux de bascules regroupées en registres, l'ordinateur augmente alors le nombre d'opérations qu'il peut effectuer durant chaque cycle. Par exemple, un ordinateur qui contrôle simultanément deux commutateurs peut exécuter jusqu'à quatre commandes pendant chaque cycle. En effet, un registre de deux bascules peut présenter quatre configurations : OFF-OFF, OFF-ON, ON-OFF, ou ON-ON.

3 HISTORIQUE
3.1 Premiers calculateurs

Les tous premiers calculateurs, ancêtres de l'ordinateur numérique, sont imaginés et réalisés au XVIIe siècle, en particulier par Wilhelm Schickard, Blaise Pascal et Leibniz. La machine de Pascal comporte une série de roues à dix crans, chaque cran représentant un chiffre de 0 à 9. Les additions et les soustractions s'effectuent en tournant les roues dentées d'un certain nombre de crans. Leibniz améliore par la suite cette machine en rajoutant un chariot mobile et une manivelle permettant d’accélérer et d’automatiser l’exécution des additions et des soustractions répétitives exigées par les multiplications et les divisions.

Au début du XIXe siècle, Joseph-Marie Jacquard conçoit un métier à tisser automatique en utilisant de fines plaques en bois perforées qui contrôlent le tissage de motifs compliqués. Puis, dans les années 1880, le statisticien américain Hermann Hollerith a l'idée d'utiliser des cartes perforées, similaires à celles de Jacquard, pour traiter des données. En utilisant un système où les cartes perforées passent sur des contacts électriques, il parvient à compiler des informations statistiques pour le recensement de la population des États-Unis en 1890. En 1896, il fonde la Tabulating Machine Corporation, qui deviendra, par la suite, la société IBM.

3.2 Machines différentielle et analytique

Au XIXe siècle, le mathématicien et inventeur britannique Charles Babbage découvre les principes de l'ordinateur numérique moderne, en faisant le rapprochement entre les machines à calculer et les systèmes de commande automatique de Jacquard. Il crée différentes machines, en particulier la machine différentielle et la machine analytique. Il entreprend tout d’abord, en 1822, la construction de la machine différentielle, destinée à résoudre des problèmes mathématiques avec une précision de vingt décimales. Mais après dix années de travail acharné, les subventions de l’État et de la Royal Society sont suspendues et Babagge doit abandonner son projet. En 1833, Babbage se lance alors dans un nouveau projet : la machine analytique, dont une partie seulement sera réalisée. Véritable précurseur de l’ordinateur moderne, cette machine aurait été capable de stocker des instructions, d'exécuter des opérations mathématiques et d'utiliser des cartes perforées comme support de mémoire. La plupart des historiens considèrent Babbage comme le véritable inventeur de l'ordinateur numérique moderne, même si la technologie peu avancée de l'époque l'a empêché de réaliser concrètement ses idées.

3.3 Premiers ordinateurs

Les premiers ordinateurs analogiques sont fabriqués au début du XXe siècle. Ils effectuent leurs calculs grâce à un système d'axes et d'engrenages. Ce type de machine permet de fournir des approximations numériques d'équations difficiles à résoudre autrement. Pendant les deux guerres mondiales, des systèmes analogiques mécaniques, puis électriques, sont notamment utilisés comme pointeurs de torpille dans les sous-marins et comme contrôleurs de visée dans les bombardiers.

3.4 Ordinateurs électroniques

Dès 1939, un prototype de machine électronique est fabriqué aux États-Unis par John Atanasoff et Clifford Berry à l'Iowa State College. Ce prototype, discrètement développé, est éclipsé par la présentation en 1945 de l'ENIAC (Electronic Numerical Integrator And Computer), machine programmable, numérique, basée sur le système décimal, et entièrement électronique, conçu par Eckert et Mauchly. L'ENIAC contient 18 000 tubes à vide, pèse environ 30 t, et peut effectuer plusieurs centaines de calculs par minute. Son programme est connecté au processeur, mais il doit être modifié manuellement. Pour cette raison et en dépit de ses qualités indéniables, l’ENIAC n’est pas considéré comme le premier ordinateur, au sens actuel du terme.

Parallèlement, à Londres, pendant la Seconde Guerre mondiale, est mis au point Colossus, un ordinateur numérique entièrement électronique, basé sur le concept de la machine « intelligente » proposée en 1936 par le logicien visionnaire Alan Turing. Élaboré par une équipe de physiciens et de mathématiciens dirigée par Turing, Colossus est opérationnel en décembre 1943. Comportant 1 500 tubes à vide, il est utilisé pour déchiffrer les messages radio codés des Allemands (voir cryptographie).

Vers la fin de l’année quarante-cinq, le mathématicien américain John von Neumann, qui avait été consultant sur le projet ENIAC, propose la construction de l’EDVAC, machine qui préfigure les caractéristiques de l’ordinateur moderne. En effet, la machine de von Neumann est la première à utiliser un programme mémorisé. Les instructions sont stockées dans une mémoire, évitant à l'ordinateur d'être soumis à la vitesse limitée du lecteur de bande-papier pendant l'exécution du programme. Ce dispositif de stockage supprime également la réinstallation contraignante de l'ordinateur à chaque nouveau programme.

À la fin des années cinquante sont conçus des ordinateurs dits de deuxième génération, dans lesquels les tubes à vide sont remplacés par des transistors. Ces derniers, plus durables et plus économiques, permettent de développer des éléments logiques plus petits, plus rapides, plus souples et dont le coût de fabrication est moins élevé.

3.5 Circuits intégrés

À la fin des années soixante, l'utilisation des circuits intégrés permet de graver un nombre important de transistors sur un seul substrat de silicium, reliés par des fils d'interconnexion blindés. Puis, au milieu des années soixante-dix, apparaît le processeur miniaturisé ou microprocesseur, grâce à l'élaboration des circuits intégrés à grande échelle (LSI), puis des circuits intégrés à très grande échelle (VLSI). Un microprocesseur est un processeur constitué d'un seul circuit intégré, sur lequel sont gravés plusieurs milliers de transistors interconnectés.

Les ordinateurs des années soixante-dix sont généralement capables de gérer simultanément 8 commutateurs. Ils peuvent donc reconnaître 8 chiffres binaires, ou bits de données, pendant chaque cycle. Un registre de 8 bits est appelé octet, et celui-ci peut donc adopter 256 configurations différentes de ON (activé) et de OFF (désactivé) (soit de 1 et de 0). Chaque configuration correspond à une instruction, à une partie d'instruction, ou à un type particulier de donnée : un nombre, un caractère ou un symbole graphique.

Puis, au fil des ans sont mis au point des microprocesseurs capables de gérer simultanément 16, 32, puis 64 bits de données, ce qui permet d'augmenter la rapidité et la puissance des ordinateurs. Aujourd'hui, le développement des ordinateurs s'effectue globalement dans deux directions : une taille toujours plus réduite et une puissance toujours plus grande.

4 MATÉRIEL

Tous les ordinateurs numériques modernes sont de conception similaire ; néanmoins, on peut les classer en différentes catégories suivant leur prix et leurs performances. Un ordinateur personnel, ou micro-ordinateur, est une machine relativement peu onéreuse, généralement conçue pour un bureau ou portable. Une station de travail est un micro-ordinateur disposant d'outils graphiques et de communication avancés, qui en font l'outil idéal pour accomplir des tâches nécessitant à la fois de bonnes capacités de stockage et de puissance de calcul. Enfin, un supercalculateur est une machine capable de répondre aux besoins de grandes entreprises commerciales, des différentes institutions gouvernementales ou militaires et des établissements de recherche scientifique.

La structure de base d'un ordinateur, ou architecture, peut être de deux types : ouverte ou fermée. Un ordinateur présentant une architecture ouverte possède des spécifications accessibles à tous, ce qui permet aux entreprises partenaires de développer des équipements complémentaires. En revanche, les spécifications d'un ordinateur ayant une architecture fermée ne sont pas publiées, ce qui rend très difficile la construction de dispositifs périphériques compatibles par des sociétés tierces.

Un ordinateur numérique est constitué de plusieurs cartes, plaques porteuses de puces reliées entre elles par des circuits conducteurs. La carte principale d'un ordinateur, appelée carte mère, contient les composants essentiels du système. Les autres cartes (carte son, graphique, et autres cartes spécialisées) augmentent la fonctionnalité de l'ordinateur : elles peuvent par exemple porter de la mémoire additionnelle ou encore les connexions vers les divers systèmes du réseau. On peut décomposer un ordinateur en cinq éléments fondamentaux : une unité centrale de traitement, des unités d'entrée, des unités de stockage, des unités de sortie et un ensemble de connexions appelées bus, qui véhicule l'information entre les composants du système informatique.

4.1 Unité centrale de traitement

Appelée également CPU (Central Processing Unit), cette unité est composée d'une ou plusieurs puces (groupe de circuits intégrés contenant un microprocesseur), qui effectuent les calculs arithmétiques et logiques, et qui régulent et contrôlent les opérations des autres éléments du système.

Les puces de traitement et les microprocesseurs sont généralement composés de quatre unités fonctionnelles : une unité arithmétique et logique, des registres, une unité de contrôle et un bus interne.

L'unité arithmétique et logique permet d'effectuer les opérations arithmétiques, comparatives et logiques. Les registres sont des zones de stockage temporaires qui conservent les données, sauvegardent les instructions et gèrent les adresses (valeurs représentant des zones définies de mémoire), ainsi que les résultats des opérations. L'unité de contrôle remplit trois tâches principales : elle réglemente toutes les opérations du système informatique ; elle lit et traduit les configurations des données ; enfin, elle indique l'ordre dans lequel les opérations individuelles sont traitées, et calcule le temps que chacune d'entre elles requiert à l'unité de traitement. Enfin, le bus interne est un ensemble de circuits chargé d'assurer l'acheminement des données et des signaux de contrôle entre le microprocesseur, ses circuits annexes et la mémoire. Ce bus est généralement divisé en trois régions : le bus de contrôle qui transporte les signaux de contrôle garantissant le bon fonctionnement du microprocesseur, le bus d'adresse qui véhicule les adresses mémoire et le bus de données, autoroute bidirectionnelle qui assure le transport des données.

4.2 Unités d'entrée

Ces unités permettent à l'utilisateur d'entrer des données, des commandes et des programmes qui seront gérés par l'unité de traitement. Ces données, quelle que soit leur forme, sont traduites en configurations identifiables par l'ordinateur. L'unité d'entrée la plus courante est le clavier. Il en existe cependant d'autres, telles que les crayons optiques ou photostyles, qui transfèrent les informations graphiques depuis des capteurs électroniques vers l'ordinateur (voir pointage, dispositifs de) ; les manettes de jeu ou joysticks et les souris, qui traduisent les déplacements physiques en mouvements sur un écran vidéo d'ordinateur ; les scanners, qui permettent de visualiser mots et symboles graphiques sur des supports plans ; les caméras numériques, ainsi que les modules de reconnaissance vocale, qui enregistrent les mots prononcés et les traduisent. Des unités de stockage peuvent être également utilisées pour entrer des données dans l'unité de traitement.

4.3 Unités de stockage

Les systèmes informatiques peuvent stocker des données de manière temporaire ou permanente. La mémoire vive (RAM) sert de stockage temporaire au microprocesseur pour les programmes, le travail en cours et différentes informations internes de contrôle des tâches. La mémoire morte (ROM) est au contraire un support permanent et non effaçable pour la conservation d'informations utiles, notamment les informations de démarrage et les procédures d'entrée / sortie. Voir mémoire (informatique). Un ordinateur possède également d'autres types de stockage qui conservent l'information de manière quasi permanente comme les disquettes, les disques durs, ou encore les bandes magnétiques. Ces unités, qui stockent les données sur un support magnétique sensible, peuvent contenir de plusieurs centaines de milliers à plus d'un million d'octets de données pour les disquettes, et de plusieurs millions à des centaines de millions d'octets pour les disques durs. Il existe également des supports de stockage non magnétiques comme les disques compacts (CD-ROM), dont la lecture est assurée grâce à un faisceau laser. Ces derniers disposent d'une capacité de stockage de plusieurs gigaoctets (milliards d'octets) de données.

4.4 Unités de sortie

Ces unités permettent à l'utilisateur de visualiser les résultats des calculs ou des manipulations de données effectués par l'ordinateur. La plus courante des unités de sortie est le terminal à écran vidéo, composé d'un adaptateur vidéo, d'un clavier et d'un moniteur (écran de visualisation). Il est généralement équipé d'un tube cathodique, comme un téléviseur, mais les ordinateurs portables utilisent maintenant des écrans à cristaux liquides (LCD) ou électroluminescents. Ce terminal, qui n'effectue que peu ou pas de traitement indépendant, est relié à l'ordinateur par un câble. Les entrées du clavier sont transmises du terminal vers l'ordinateur, tandis que la sortie vidéo est transmise de l'ordinateur vers le terminal. Il existe d'autres unités de sortie courantes comme les imprimantes ou encore les modems, qui permettent à un ordinateur de transmettre des données sur une ligne téléphonique.

4.5 Bus

Le bus est un ensemble de conducteurs parallèles servant au transfert d'informations entre les composants d'un ordinateur. Il peut être comparé à une autoroute reliant les différentes parties du système informatique qui se la partagent pour échanger des données. En général supervisé par le microprocesseur, un bus est souvent spécialisé dans le type d'information qu'il transfère. Ainsi, un groupe de circuits transporte les données, un autre transporte les adresses, un autre encore véhicule les informations de contrôle qui assurent que chaque partie du système utilise bien la partie d'autoroute qui lui est réservée. Les bus se distinguent également par le nombre de bits qu'ils transportent en parallèle. Un bus 8-bits véhicule 8 bits (soit 1 octet) d'informations à la fois, donc un bus 16-bits transporte 2 octets. Le bus est partie intégrante de l'ordinateur, mais comme certains dispositifs additionnels ont besoin d'accéder directement au système, il est prévu des broches d'extension directement connectées au bus.

5 PROGRAMMATION

Un programme, souvent appelé logiciel (software), est une séquence d'instructions qui indique au matériel informatique (hardware) les opérations qu'il doit effectuer sur les données. Les programmes peuvent être intégrés au hardware, comme sur les micro-ordinateurs que l'on trouve dans les calculatrices, les montres, les moteurs automobiles ou les fours à micro-ondes. Sur un ordinateur classique coexistent deux types de logiciel, selon le type de tâche qu'ils exécutent. Les logiciels d'application prennent en charge la multitude des tâches pour lesquelles sont utilisés les ordinateurs : traitement de texte, gestion de bases de données, etc. Les logiciels système, qui sont souvent invisibles à l'utilisateur, contrôlent le fonctionnement de l'ordinateur : on les appelle systèmes d'exploitation.

5.1 Systèmes d'exploitation

Les systèmes d'exploitation gèrent l'allocation et l'utilisation des ressources matérielles de l'ordinateur, telles que la mémoire, l'unité centrale de traitement, l'espace du disque dur et les périphériques (imprimante, manette de jeu, modem, etc.). Ce sont des logiciels stockés de façon permanente dans la mémoire, qui interprètent les commandes de l'utilisateur suivant le service qu'il désire : afficher, imprimer ou copier des fichiers de données, lister tous les fichiers d'un répertoire, ou encore exécuter un programme particulier.

5.2 Langages

Les instructions sont transmises à l'ordinateur par le biais d'un langage de programmation, c'est-à-dire une configuration particulière d'informations binaires numériques. Aujourd'hui, il existe un grand nombre de langages informatiques, certains d'entre eux étant très ciblés tandis que d'autres sont plus universels et d'utilisation plus souple. Nous sommes bien loin de la programmation des premiers ordinateurs, tâche difficile et laborieuse, car les commutateurs ON-OFF des tubes à vides devaient être réglés manuellement. Ainsi la programmation de certaines tâches simples, comme la sortie d'une liste de noms, demandait souvent plusieurs jours de travail.

5.2.1 Langage machine

Le langage de l'ordinateur, ou langage machine, qui utilise le système binaire, est difficilement utilisable par les non professionnels. Dans ce langage, le programmeur doit entrer chaque commande et toutes les données sous forme binaire. Ainsi, une opération de base telle que la comparaison du contenu d'un registre avec les données d'un emplacement de puce-mémoire pourrait ressembler à : 11001010 00010111 11110101 00101011.

5.2.2 Langage assembleur

Pour alléger et simplifier la programmation en langage machine, on peut avoir recours au langage assembleur. Ce langage assigne un court code mnémonique (généralement composé de trois lettres) à chaque instruction exprimée en langage machine. Le programmeur écrit donc ses programmes en langage assembleur (code source) ; ceux-ci sont ensuite transcrits par un logiciel en langage machine (code objet), puis exécutés par l'ordinateur. Voir code (informatique). Ce langage permet de programmer beaucoup plus rapidement qu'en langage machine ; en outre, il évite les éventuelles erreurs logiques et de données, appelées bugs (en anglais, bugs signifie cafards, lesquels, en quête de chaleur, pénétraient dans les circuits des ordinateurs, y provoquant des dysfonctionnements ; depuis, le terme s'applique à tout dysfonctionnement informatique).

Cependant, un langage assembleur demeure spécifique à chaque type de puce de traitement ou de microprocesseur, si bien que les programmeurs devaient apprendre un nouveau style de programmation chaque fois qu'ils travaillaient sur une machine de type différent. Il était donc nécessaire de concevoir un langage où une seule instruction symbolique pourrait représenter une séquence de plusieurs instructions en langage machine, et qui puisse fonctionner sur différents types de machines. Ces besoins ont entraîné le développement de langages évolués.

5.2.3 Langages évolués

Les langages évolués utilisent souvent des mots empruntés à l'anglais pour désigner des commandes, par exemple, list, print, open, etc. Celles-ci peuvent remplacer une séquence de dizaines ou de centaines d'instructions en langage machine. Les commandes sont entrées à l'aide du clavier, à partir d'un programme en mémoire, ou sur une unité de stockage. Elles sont ensuite interceptées par un programme, qui les traduit en langage machine.

Il existe deux types de programmes de traduction : les interpréteurs et les compilateurs. Un interpréteur est un programme qui décode et exécute chaque instruction l'une après l'autre. Ainsi, si le programme à traduire comporte plusieurs fois la même instruction, l'interpréteur la décode puis l'exécute chaque fois qu'elle apparaît. Les programmes interprétés fonctionnent donc plus lentement que les programmes en langage machine. En revanche, les compilateurs traduisent le programme en langage machine avant l'exécution, si bien que ces programmes fonctionnent ensuite comme s'ils étaient directement écrits en langage machine.

6 ÉVOLUTION DES ORDINATEURS

Aujourd'hui, les ingénieurs orientent leurs recherches vers une miniaturisation des ordinateurs : ils essaient de graver le maximum de circuits dans des puces de plus en plus réduites. Les chercheurs tentent également de fabriquer des ordinateurs encore plus rapides en utilisant au niveau des circuits la supraconductivité, phénomène électrique observé à très basse température.

Beaucoup d'informaticiens rêvent aussi de concevoir des ordinateurs qui reproduiraient les mécanismes de la pensée (voir intelligence artificielle), et étudient dans ce but les ordinateurs à traitement parallèle, qui utilisent plusieurs puces pour effectuer simultanément des tâches différentes. En effet, le traitement parallèle permet, à un certain degré, d'approcher et d'évaluer les fonctions de la pensée humaine (voir réseau neuronal). Une autre tendance actuelle est le développement des réseaux informatiques, capables de transmettre des données entre différents ordinateurs par le biais de lignes téléphoniques et de satellites. De nombreux travaux portent également sur l'ordinateur « optique », qui ne répondrait pas aux impulsions électriques, mais aux impulsions lumineuses, beaucoup plus rapides.

Enfin, une nouveau concept fait actuellement l’objet d’importantes recherches, notamment aux État-Unis : l’ordinateur quantique. Il s’agit dans ce dernier cas de sortir du modèle de la machine de Turing, en utilisant les propriétés quantiques des particules, qui sont capables de mémoriser des superpositions de plusieurs états, au lieu de mémoriser uniquement 0 ou 1. Cela permettrait d’obtenir des puissances de calcul bien supérieures à celles que l’on atteint avec des ordinateurs classiques. En particulier, cela aurait des conséquences considérables sur la théorie de la complexité et sur la sécurité des algorithmes cryptographiques. Néanmoins, les spécialistes de la mécanique quantique restent partagés sur la possibilité pratique de réaliser de telles machines.

Professeur : Tél.: (237) 22 11 58 25  Ecrivez-nous