Chaque instruction est représentée par une séquence de bits, découpée en champs. Il y a différents formats d'instruction selon le nombre de parties réservées aux opérandes. En général, un jeu d'instructions inclue plusieurs formats d'instruction différents.
Durant l'exécution d'une instruction, celle-ci est chargée dans le registre d'instruction (IR) de la CPU, qui doit en extraire les différents champs.
Cette séquence de bit admet une représentation symbolique, où l'opcode est représenté par une abbréviation appelée mnémonique. Chaque opcode admet une représentation binaire fixe. Par exemple ADD R, Y signifie ajouter la valeur contenue à l'adresse Y au contenu du registre R.
Il est donc possible de programmer en employant un tel langage, appelé langage machine. Aujourd'hui, la programmation ne se fait plus qu'avec des langages de haut niveau (ou au pire avec des langage d'assemblage, qui sont une légère abstraction des langages machine). Les langages machines reste cependant un bon moyen de décrire les jeux d'instruction.
! Le jeu d'instruction doit être suffisament
expressif pour coder toute instruction d'un langage de
haut niveau.
Ainsi, une instruction d'un langage de haut niveau correspond
en fait à plusieurs instructions du langage machine.
? Soit l'instruction en langage de haut niveau X = X + Y.
Comment est elle traduite en langage machine ?