Adloun

Machines, systèmes et réseaux

Cours · NSI (première), chapitre 9 · première, spécialité numérique et sciences informatiques · le début du chapitre, la suite sur Adloun

Un réseau : des routeurs relient deux machines, et les paquets suivent un chemin de routeur en routeur.

Les huit chapitres précédents ont écrit des programmes sans jamais demander qui les exécute. Il est temps de regarder la machine — son architecture, son système d'exploitation, et le réseau qui la relie aux autres. Le programme le formule ainsi : « exprimer un algorithme dans un langage de programmation a pour but de le rendre exécutable par une machine dans un contexte donné ».

9.1 L'architecture de von Neumann

Capacité attendue

« Distinguer les rôles et les caractéristiques des différents constituants d'une machine. »

Définition 9.1Modèle d'architecture séquentielle

Dans le modèle dit de von Neumann, une machine se compose de :

  • une unité de commande, qui lit les instructions une à une et les fait exécuter ;
  • une unité arithmétique et logique (UAL), qui effectue les calculs et les opérations booléennes ;
  • une mémoire, qui contient à la fois les données et le programme ;
  • des dispositifs d'entrée-sortie, qui relient la machine au monde ;
  • des bus, qui transportent les informations entre ces éléments.

L'unité de commande et l'UAL forment le processeur.

Figure : L'architecture de von Neumann. Le trait décisif n'est pas la liste des organes : c'est que la mémoire contient à la fois les données et le programme.
ImportantL'idée décisive : le programme est une donnée

Ce qui distingue ce modèle des machines à calculer antérieures n'est pas la liste des organes, c'est un point précis : le programme est rangé dans la même mémoire que les données. Une machine peut donc charger un programme différent sans être recâblée — et, en principe, produire ou modifier un programme comme n'importe quelle autre donnée.

C'est ce qui rend possibles le compilateur, le système d'exploitation, et l'ordinateur polyvalent que vous utilisez. Sans cela, chaque tâche demanderait une machine.

Repère historique : 1945 : le rapport et son nom

Le modèle porte le nom de John von Neumann, qui l'expose en 1945 dans un rapport préliminaire sur l'EDVAC. Le texte, diffusé sans être achevé, ne portait que sa signature — alors que les idées avaient été élaborées collectivement, notamment avec John Presper Eckert et John Mauchly, les concepteurs de l'ENIAC. La postérité a retenu un nom là où il en aurait fallu plusieurs ; c'est une chose qui arrive souvent en histoire des sciences, et qu'il n'est pas inutile de savoir.

Le programme situe l'époque : « les premiers ordinateurs ont été construits en 1948 et leur puissance a ensuite évolué exponentiellement ».

9.1.1 Dérouler une séquence d'instructions

Capacité attendue

« Dérouler l'exécution d'une séquence d'instructions simples du type langage machine. »

Dérouler un programme, pour un processeur, c'est répéter quatre gestes — toujours les mêmes :

Figure : Le cycle d'exécution. Le compteur ordinal désigne l'instruction à charger ; tout le reste n'est qu'une manière de le faire avancer autrement que d'un cran.

Un processeur ne connaît ni les fonctions ni les boucles : il exécute des instructions élémentaires, chacune agissant sur des registres — de très petites mémoires internes — ou sur la mémoire principale. Voici un jeu d'instructions minimal, suffisant pour comprendre.

InstructionEffet
CHARGE R, adrmet dans le registre R le contenu de la case adr
RANGE R, adrécrit le contenu de R dans la case adr
AJOUTE R1, R2R1 reçoit R1 + R2
SOUSTRAIT R1, R2R1 reçoit R1 - R2
SAUTE etiqpoursuit l'exécution à l'étiquette etiq
SAUTESI R, etiqsaute à etiq si R vaut
Exemple 9.2Une addition, instruction par instruction

Le programme suivant calcule la somme du contenu des cases et , et la range en .


CHARGE  R1, 10
CHARGE  R2, 11
AJOUTE  R1, R2
RANGE   R1, 12

Déroulement, en supposant que la case contient et la case contient :

ÉtapeInstructionR1R2Mémoire
0(état initial)??, ,
1CHARGE R1, 107?inchangée
2CHARGE R2, 1175inchangée
3AJOUTE R1, R2125inchangée
4RANGE R1, 12125

Exercices du chapitre

La suite du cours · Tous les exercices du chapitre