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 coeur 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 der-
niè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.
Les modifications d’adresse
Pour tenir compte d’impératifs dus à la programmation, le contenu d’une zone-adresse n’est généralement pas directement l’adresse de l’opérande, mais une information permettant de calculer cette adresse. Un ensemble de bits formant la condition d’adressage détermine le traitement précis à lui faire subir. À titre d’exemple, ce peut être l’addition du contenu de la zone-adresse avec le contenu d’un registre appelé registre de base ou d’index suivant sa fonction précise.
L’adressage par base et déplace-
ment permet d’adresser un ensemble contigu de données sans savoir à
l’avance où il sera implanté en mé-
moire : la zone-adresse de l’instruction contient le numéro d’ordre de la donnée dans l’ensemble (ou déplacement), tandis que le registre de base contient l’adresse de la première donnée de l’ensemble. Cela résout notamment le problème du partage de données entre plusieurs programmes.
downloadModeText.vue.download 540 sur 625
La Grande Encyclopédie Larousse - Vol. 14
7983
L’indexation permet d’utiliser une même instruction, sur laquelle on repasse cycliquement pour traiter les différents éléments d’un tableau de données rangés à la suite les uns des autres en mémoire. Il suffit, pour cela, que le contenu du registre d’index, représentant le numéro d’ordre de l’élément, soit augmenté de 1 entre chaque pas-
sage grâce à une instruction spéciale.
Les instructions de rupture de
séquence
Les instructions exécutées au niveau de l’unité d’instruction sont celles qui modifient soit le contenu d’un des registres d’adressage (registre de base en index), soit celui du compteur d’instructions. Dans ce dernier cas, il s’agit d’instructions de branchement.
Ces dernières sont souvent conditionnelles : si la condition, portant géné-
ralement sur le résultat de l’instruction précédente (résultat = 0, > 0, 0, ...
égalité de deux chaînes de caractères alphabétiques, ...) ou encore sur le contenu d’un registre d’index, est réalisée, il y a branchement à l’adresse explicitement mentionnée dans l’instruction, sinon, il y a passage normal en séquence par incrémentation du compteur d’instructions.
L’unité arithmétique et
logique
Elle exécute sur les données des
opérations de type arithmétique ou de type logique (opérations de l’al-gèbre de Boole, décalages, etc.).
Aussi comporte-t-elle les opérateurs correspondants.
Les petites machines possèdent gé-
néralement un seul opérateur, construit autour d’un additionneur qui, selon les aiguillages positionnés par l’unité de commande après analyse de l’instruction, exécute l’une des opérations élémentaires dont il est doté (ET, OU, complémentation, décalage à droite ou à gauche, addition, soustraction). Les opérations plus complexes, multiplications ou divisions, sont réalisées par des sous-programmes fournis dans le logiciel de base. L’opérateur sert également au calcul d’adresse, ce qui éco-nomise un additionneur dans l’unité d’instruction.
Les machines scientifiques plus puissantes possèdent pour le calcul scientifique soit un bloc de calcul plus évolué, soit plusieurs opérateurs spécialisés (opérateur de logique et d’arithmétique
fixe, opérateur d’addition-soustraction en virgule flottante, opérateur de multiplication-division en virgule flottante).
Des registres permettent de conserver au niveau de l’unité centrale des résultats intermédiaires. Généralement, les opérations s’exécutent entre registres ou entre un registre servant d’accumulateur et une cellule-mémoire contenant le deuxième opérande.
Les opérations de gestion (arith-
métique décimale sur des chaînes de chiffres décimaux, comparaison de chaînes de caractères alphanumé-