Grande Encyclopédie Larousse 1971-1976Éd. 1971-1976
O

ordinateur (suite)

Les circuits séquentiels

Les circuits de commandes des ordinateurs sont typiquement des circuits séquentiels, dont l’étude s’apparente à celle des automates finis. Ils comportent des éléments de mémoire, leurs sorties dépendant non seulement des entrées, mais également de leur état interne, défini par le contenu de ces éléments de mémoire.

Actuellement, le concepteur d’organes logiques dispose d’un « Meccano » de circuits intégrés réalisant un certain nombre de fonctions logiques plus ou moins élaborées pouvant aller jusqu’à une petite unité centrale complète sur un seul circuit.


Principe de l’ordinateur à registre

La plupart des ordinateurs actuels fonctionnent selon le principe préconisé par von Neumann, dit de la machine à registre ou encore machine de von Neumann. Cette machine est fondée sur le concept d’opération tel qu’on l’entend en arithmétique, c’est-à-dire admettant deux opérandes et un résultat.


Les informations définissant l’instruction

Chaque instruction décrit une opération, et la machine est un automate qui enchaîne l’exécution de ces opérations. La description complète d’une opération de type arithmétique comporte nécessairement :
— le type de l’opération à effectuer ;
— l’emplacement où chercher le premier opérande ;
— l’emplacement où chercher le deuxième opérande ;
— l’emplacement où ranger le résultat ;
— l’emplacement où chercher l’instruction suivante.

Lorsque les quatre emplacements se trouvent dans la mémoire centrale et sont explicitement désignés dans l’instruction sous forme d’adresses en mémoire, la machine est dite à quatre adresses. En pratique, certaines informations restent stockées au niveau de l’unité centrale dans des mémoires individuelles appelées registres.

Quand les instructions sont rangées séquentiellement en mémoire, ce qui est le cas général, l’unité centrale connaît l’adresse de l’instruction suivante grâce à un registre appelé compteur d’instructions, dont le contenu est automatiquement mis à jour en fin de chaque instruction. Cette solution réduit d’une unité le nombre d’adresses de l’instruction normale, mais implique des instructions spéciales de branchement, contenant explicitement l’adresse de l’instruction suivante, pour les cas où le déroulement purement séquentiel du programme doit être rompu.

Les emplacements des données sont très souvent réduits de 3 à 2, le résultat venant remplacer le premier opérande. Ils peuvent être aussi bien des registres que des cellules-mémoires. Un cas particulier est constitué par la machine à une adresse, dans laquelle le premier opérande, puis le résultat sont toujours rangés dans un registre unique, appelé accumulateur.


Le déroulement de l’instruction

Exécuter une instruction, c’est réaliser une suite de micro-opérations internes à la machine : préparer l’adresse de l’instruction, la chercher en mémoire, l’analyser, aller chercher les opérandes, les traiter selon les indications fournies par l’instruction, ranger le résultat et enfin préparer l’instruction suivante. La machine comporte donc les organes de traitement, de transfert et de mémorisation d’informations nécessaires à la réalisation de ces micro-opérations : ils forment le chemin des données, le mot données étant pris au sens large et désignant aussi bien les instructions et les adresses que les données proprement dites. Le chemin des données n’exécute pas de lui-même les micro-opérations dans l’ordre voulu : il faut le commander. C’est le rôle de l’unité de commande, ou séquenceur, véritable cœur de l’ordinateur, qui distribue avec les temporisations correctes les signaux de commande aux différents organes du chemin des données.

Outre la mémoire centrale, le chemin des données est logiquement découpé, d’une part, en une unité d’instruction, traitant les instructions et les adresses, et, d’autre part, en une unité arithmétique et logique, traitant les données proprement dites.


La mémoire centrale

La mémoire est formée d’un ensemble de cellules capables de contenir chacune une information de quelques digits binaires (le mot-mémoire varie de 6 à 60 bits). Les cellules sont numérotées, ce qui permet d’adresser chaque cellule individuellement. Un décodeur permet de sensibiliser la cellule dont l’adresse se trouve dans le registre de sélection ; l’opération de lecture consiste à transférer le contenu de la cellule adressée dans le registre d’échange d’informations, et l’opération d’écriture à transférer le contenu de ce registre dans la cellule adressée. Par principe, l’ancien contenu d’une cellule-mémoire est perdu lors de l’écriture de la nouvelle information ; mais il n’est pas modifié lors de la lecture. Les signaux de commande de la mémoire peuvent se réduire à une impulsion d’activation et à un signal logique indiquant s’il s’agit d’une lecture ou d’une écriture.


L’unité d’instruction

Elle est chargée de la recherche de l’instruction, de son analyse et de la recherche des opérandes. C’est aussi à son niveau que s’exécutent les instructions liées à l’organisation du programme, notamment, celles, dites de branchement, qui modifient l’enchaînement purement séquentiel des instructions.


La recherche et l’analyse de l’instruction

Le compteur d’instructions contient toujours l’adresse de la nouvelle instruction à exécuter. Son contenu est transféré dans le registre de sélection-mémoire, afin de permettre la recherche de l’instruction. Au cours de cette dernière, il sera mis à jour pour adresser l’instruction d’après. L’unité d’instruction comporte le ou les registres nécessaires au stockage des différentes parties de l’instruction en provenance de la mémoire. La partie qui désigne l’opération à exécuter est décodée, le résultat de ce décodage étant utilisé par l’unité de commande pour commander la suite de l’instruction. La ou les adresses désignées dans l’instruction sont transférées successivement dans le registre de sélection-mémoire pour la recherche des opérandes ou le rangement du résultat.