Académique Documents
Professionnel Documents
Culture Documents
TD 1 : Jeux d’instructions
Exercice 1
Soit le processeur DLX. Tous les registres ont 32 bits. Le processeur a 32 registres entiers,
de R0 à R31. Le registre R0 est câblé à 0 (R0=0). On peut lire son contenu, mais
l’écriture dans R0 ne produit aucun résultat. R31 contient l’adresse de retour des
procédures. Les instructions sont de longueur fixe (32 bits). Le jeu d’instructions est
donné dans la table 1. La mémoire est adressable par octets.
NB : Les instructions de comparaison S__ positionnent le registre destination à 1 si la
condition est vraie, et 0 si la condition est fausse.
Ex : SNE R4, R5, R6 met R4 à 1 si R5R6
1
c) Multiplier par 18 le contenu du registre R5
2
Exercice2 : Exemples MIPS et ARM pour les instructions arithmétiques
Multiplication par des constantes
L’instruction de multiplication sur des entiers prend plus d’une dizaine de cycles
d’horloge sur la plupart des processeurs. Les instructions logiques, l’addition et la
soustraction prennent généralement un seul cycle d’horloge. Il est donc plus efficace
d’implanter la multiplication du contenu d’un registre par une constante en utilisant des
opérations comme l’addition, la soustraction et les décalages. En utilisant les instructions
ci-dessous pour le MIPS et pour l’ARM, donner la suite d’instructions MIPS et la suite
d’instructions ARM pour effectuer la multiplication du contenu du registre R1 par les
constantes : 33,31et 37.
Instructions MIPS
où IMM16 est une constante sur 16 bits et SIMM16 est la constante 32 bits obtenue par
extension de signe.
ARM
Format des instructions arithmétiques et logiques :
3
n : numéro du registre opérande 1
11 10 9 8 7 6 5 4 3 2 1 0
#shift Sh 0 Rm
11 10 9 8 7 6 5 4 3 2 1 0
Rs 0 Sh 1 Rm
11 10 9 8 7 6 5 4 3 2 1 0
K value
4
Exercice 3 : On considère une architecture comportant 16 registres 16 bits. Le jeu
d'instructions est le suivant :
Questions
1. Calculer le nombre total N d'instructions distinctes,