Information Technology Reference
In-Depth Information
Le langage machine définit les instructions machines exécutables par un micro-
processeur et caractérise complètement une machine dans le sens où il permet de
décrire un problème comme une suite d'instructions exécutables par le matériel
( hardware ). Le langage machine est donc caractéristique d'un matériel spécifique et
l'expression d'un problème dans un langage machine n'est valide que pour un maté-
riel (une machine spécifique : un programme machine n'est exécutable que sur une
machine spécifique reconnaissant ce langage). Le matériel qui exécute les instruc-
tions machine est le microprocesseur . Il existe donc autant de langages machines
qu'il y a de type de microprocesseurs. Un programme qui doit être exécuté par un
microprocesseur Intel devra être écrit dans le langage machine de ce microprocesseur.
Il ne sera exécutable que par lui et donc ne sera pas exécuté par un microprocesseur
d'un autre constructeur (par exemple Motorola ou PowerPC).
Bien que tous les langages machines soient différents, les instructions machines
répondent à la même structure :
- un champ code opération . Il définit la nature de l'opération à exécuter;
- un champ opérande qui référence le ou les opérandes sur lesquels l'opération doit
s'effectuer. Ce champ peut être considéré comme étant composé de deux parties,
une partie mode d'adressage qui définit la manière dont on va accéder à l'opérande
et une information complémentaire, dont le sens est défini en fonction du mode
d'adressage. Dans le cas d'un adressage dit « immédiat », l'information complé-
mentaire représente la valeur de l'opérande. Dans le cas d'un adressage dit « direct »,
l'information complémentaire représente l'adresse mémoire de l'opérande.
Il existe plusieurs types d'architectures de microprocesseurs et à chacun de ces
types correspond un langage machine de nature différente. On trouve ainsi :
- les langages de type registre/mémoire : les instructions arithmétiques ont un
opérande situé en mémoire centrale, l'autre opérande est dans un registre de l'unité
centrale (microprocesseur), enfin le résultat est placé dans un registre de l'unité
centrale. Ce sont des instructions à 1,5 opérandes, le registre intervenant pour
0,5 opérande. Ce type d'instructions est celui le plus couramment rencontré dans
les machines CISC ( Complex instruction set computer ). Dans un tel contexte
résoudre l'équation Z
Y qui signifie additionner X et Y puis placer le
résultat dans Z, demande 3 instructions machines :
load D, R, @X (placer le contenu de l'adresse
mémoire X dans le registre R)
add D, R, @Y (additionner le contenu de l'adresse
mémoire Y au contenu du registre R et
placer le résultat dans le registre R)
store D, R, @Z (placer le contenu du registre R
à l'adresse mémoire Z)
- les langages mémoire/mémoire : l'instruction porte sur des opérandes placés en
mémoire centrale, le résultat étant lui aussi placé en mémoire. Ce type d'instruc-
tions se trouve dans les machines CISC. Dans un tel contexte l'équation Z
=
X
+
=
X
+
Y
donne lieu à une seule instruction.
Search WWH ::




Custom Search