1 IV- Comment fonctionne un ordinateur ? L’ordinateur est une alliance du hardw

1 IV- Comment fonctionne un ordinateur ? L’ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu’à présent, nous avons surtout vu l’aspect « matériel », avec les interactions entre le processeur et la mémoire principale. C’est ce qui se passe au plus bas niveau de la machine. Mais lorsque l’utilisateur donne un ordre à l’ordinateur pour réaliser une action, on est à un tout autre niveau, et de nombreuses médiations, pour ne pas dire des pérégrinations, doivent se produire avant d’arriver à l’exécution finale, avec des signaux électriques 0 et 1 qui sont aiguillés à travers le réseau électronique dans les unités de traitement. Et ce n’est pas fini pour autant, car souvent les résultats vont devoir remonter sur l’écran. C’est là qu’entre en ligne de compte l’aspect « logiciel », notamment ce que l’on appelle le système d’exploitation de la machine. Tout commence au démarrage de l’ordinateur. 1) Le démarrage de l’ordinateur, du BIOS au système d’exploitation Lorsque l’on allume l’ordinateur, le BIOS (basic input output system) prend en charge le démarrage - le boot. Installé de façon permanente dans la mémoire ROM 1, ce programme d’amorçage enclenche les premières instructions. Celles-ci sont installées en mémoire à partir de l’adresse 0. Le processeur a aussi cette adresse 0 dans son registre d’instruction, et il est en mesure d’exécuter ce programme initial. Celui-ci assure notamment la gestion minimale des périphériques comme le clavier et l’écran. Si l’ordinateur est partitionné suivant deux systèmes d’exploitation, par exemple Windows et Linux, cela apparaît sur l’écran et l’utilisateur peut faire son choix en utilisant le clavier. Le BIOS lance alors le système d’exploitation concerné, en chargeant notamment son noyau (kernel) dans la mémoire principale. Le système d’exploitation, jusque-là seulement installé sur le disque dur, prend le relais et va désormais contrôler toutes les opérations. Il est constitué de programmes appelés « fichiers système ». Ceux-ci sont inaccessibles à l’utilisateur humain, sauf par des moyens très spéciaux. C’est le système d’exploitation qui va notamment assurer la gestion globale des périphériques, par le biais de drivers (gestionnaires de périphériques). C’est grâce à lui aussi que l’utilisateur a l’impression que l’ordinateur réalise plusieurs tâches en même temps. Si l’une se produit sous ses yeux, d’autres ont lieu en arrière-plan. En fait il n’en est rien, puisque tout est séquentiel, mais le système d’exploitation gère successivement des bouts de tâches suivant certaines priorités, donnant l’impression d’une certaine simultanéité, grâce à la vitesse de traitement de l’ordinateur. Par exemple, s’il reçoit un ordre de lecture sur le disque dur, il le prend en compte, organisant notamment le mouvement du bras du disque dur, mais considérant que cela demande un certain temps (quelques millisecondes), il lance en attendant d’autres bouts de programme qui eux ne demandent que quelques centaines de nanosecondes. 2 Même chose pour l’écriture sur le disque dur, avec le système d’exploitation qui commence par chercher de la place libre sur le disque. 1 Le BIOS a été « flashé » au préalable dans cette mémoire morte. 2 Le passage momentané d’un programme à un autre s’appelle une interruption. Cet évènement fait que le processeur arrête momentanément l’exécution d’un programme pour en exécuter au plus vite un autre. L’ancien programme sera ensuite repris là où il avait été stoppé. Lorsqu’un périphérique souhaite intervenir, 2 2) Le cheminement des données et instructions d’un programme A ce stade nous voyons qu’il existe plusieurs sortes de programmes moulinés par l’ordinateur : • ceux qui sont préétablis dans le système d’exploitation. • ceux qui sont intégrés aux divers logiciels ajoutés par l’utilisateur, comme un traitement de texte par exemple. Des fichiers de textes, qui n’ont rien à voir avec des fichiers programmes, peuvent alors être affichés sur l’écran, par le biais d’un programme de lecture et d’écriture. • ceux qui sont créés par l’utilisateur, grâce à l’utilisation d’un langage de programmation, comme le langage C. On dit qu’il s’agit d’un langage de haut niveau, car il est proche du langage humain, les subtilités en moins. Pour devenir compréhensible par la machine, il passe dans un compilateur qui le traduit en langage machine, soit finalement une suite de 0 et de 1. Si différents soient-ils, tous ces programmes sont réduits à une succession de chiffres binaires et subissent le même destin. Dès qu’ils sont appelés, ils sont envoyés du disque dur vers la mémoire principale qui est en liaison directe avec le processeur. Lorsque l’utilisateur clique sur une icône ou sur un nom de fichier présents sur l’écran, l’ordinateur va chercher sur le disque dur le programme correspondant et les données associées, par le biais du système d’exploitation, et il l’envoie vers la mémoire principale - la mémoire vive. Tout passe par là. On dit que le programme est chargé en mémoire. Le processeur se charge de le lire et d’exécuter ses instructions l’une après l’autre. A chaque instant de nombreux programmes s’accumulent ainsi dans la mémoire vive. Si celle-ci tend à déborder, le processeur envoie le trop plein vers le disque dur, qui fonctionne à son tour comme mémoire vive, mais beaucoup plus lentement, On appelle swap cette opération d’échange entre la mémoire principale et le disque dur. Cette combinaison de mémoires, elle aussi gérée par le système d’exploitation, forme ce que l’on appelle la mémoire virtuelle, bien plus vaste que le strict contenu de la mémoire principale. Prenons un exemple simple pour voir comment circule un ordre donné par l’utilisateur sur un périphérique. L’ordinateur étant allumé et prêt à l’emploi, tapons sur une touche du clavier, par exemple celle de la lettre a. Rien ne se passe. Mais maintenant appelons notre logiciel de traitement de texte ou tout simplement un éditeur de texte intégré au système d’exploitation, - c’est une forme rudimentaire de traitement de texte, comme Notepad sous Windows. Celui-ci ouvre une page blanche qui apparaît sur l’écran. Si nous tapons sur la lettre a, celle-ci surgit aussitôt sur l’écran. Heureusement pourrait-on dire, car l’ordinateur se comporte comme une machine à écrire.3 Mais une machine à écrire est simple à comprendre : en appuyant sur la touche marquée a, une tige rigide qui lui est associée et au bout de laquelle se trouve gravée la lettre vient frapper un ruban encreur, et cela inscrit la lettre a sur une feuille de papier. Puis le chariot où se trouve le papier se décale légèrement en attendant la lettre suivante. Dans l’ordinateur, c’est beaucoup plus compliqué. Pour chaque touche frappée, le système d’exploitation lance un programme de lecture-écriture, et le clavier peut transmettre son code binaire ASCII bit par bit sur le lien série qui le relie à il envoie une demande d’interruption au processeur. Un système de contrôle privilégie le programme qui a la plus grande priorité. 3 Un avantage essentiel d’un traitement de texte sur ordinateur par rapport à une machine à écrire au fonctionnement purement mécanique est le passage à la ligne automatique. Avec une machine à écrire, il fallait faire manuellement le retour du chariot en actionnant un levier. 3 l’ordinateur. Le contrôleur de clavier signale la présence de ce caractère au processeur. En général le contrôleur possède deux registres : l’un indique qu’un caractère est disponible, donnant ainsi un ordre d’interruption, l’autre contient le caractère. Cela évite de passer par la mémoire principale. Sinon le caractère serait envoyé dans la mémoire principale à une adresse spécifique associée au clavier. Le processeur est alors en mesure de lire le caractère. Puis le trajet se fait en sens inverse, via le contrôleur de l’écran, et le caractère se trouve finalement affiché. Supposons maintenant que l’on clique sur une icône associée à un fichier. Cela correspond à une demande de lecture, et le système d’exploitation est censé connaître l’adresse du premier secteur de ce fichier, ainsi que le nombre de secteurs contigus occupés par le fichier. En fait ces adresses sont converties au niveau matériel en trois composantes : le numéro du plateau concerné sur le disque dur, puis la piste concernée, et enfin le secteur concerné sur cette piste. Le contrôleur du disque dur est alors en mesure de positionner la tête de lecture sur les blocs correspondant au fichier, et il signale au processeur qu’il peut les lire l’un après l’autre, via la mémoire principale qui les réceptionne. Au plus bas niveau de la machine, tout se ramène à un métabolisme entre le processeur et la mémoire principale (ou un registre spécifique) pour convertir les instructions élémentaires en une circulation d’impulsions électriques dans les circuits intégrés, aboutissant à l’exécution des instructions. Nous avions déjà entrevu dans le chapitre précédent comment s’effectuait chaque cycle correspondant à une instruction. Nous allons le préciser maintenant. 3) Le cycle d’une instruction, ou le travail élémentaire de l’ordinateur Cela se fait essentiellement en trois étapes : • Recherche de l’instruction Initialement on a un bout de programme placé dans la mémoire principale et qui commence à l’adresse 100 par exemple. Imaginons par exemple qu’il s’agisse tout simplement d’additionner deux nombres. Plus précisément l’instruction en binaire exprime qu’il faut uploads/Litterature/ 4-commentcamarche.pdf

  • 48
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager