Université de Bretagne Occidentale - UFR Sciences - Département d’Informatique
Licence 1ère année (S1), Parcours 1
Introduction à l’Informatique
TD n°2
Architecture
L’objectif de ce TD est l’étude d’une architecture à jeu d’instructions réduit (RISC) simplifiée.
L’architecture est décrite en fin d’énoncé de TD
Exercice 1 *
A l’aide de la description de l’architecture RISC que vous trouverez en fin de sujet, donner, pour chaque
notation de constante uimm4, uimm5, simm5, uimm11, l’intervalle de valeurs que peuvent prendre ses
constantes.
Exercice 2 *
On considère les deux instructions en assembleur :
• addi rd, rs, simm5 qui additionne une constante sur 5 bits (simm5) à un registre source (rs)
et place le résultat dans un registre destination (rd). Nous supposerons que les registres sont sur
16 bits.
• add rd, rs1, rs2 qui additionne les valeurs des registres sources (rs1) et (rs2) et place le
résultat dans un registre destination (rd). Nous supposerons que les registres sont sur 16 bits.
a) Sachant que les registres sont sur 16 bits, decrire ce que l’ordinateur doit faire au moment de
l’éxécution de : addi rd, rs, simm5.
b) On suppose initialement que le registre r1 est à : 0000000000100011 et que le registre r3 est a :
0000010000111100. On exécute alors les deux instructions ci-dessous l’une après l’autre.
addi r2, r1, 15 (étape 1)
add r2, r3, r2 (étape 2)
Une fois l’étape 1 effectuée, quel est le contenu de r2 (écrit sur 16 bits) ? Quelle est la valeur de
r2 en base 10 ?
c) Une fois les étapes 1 et 2 effectuées, quel est le contenu de r2 (écrit sur 16 bits) ?
Exercice 3 *
On suppose les instructions suivantes chargées en mémoire (à partir de l’adresse mémoire 0) :
0) addi r1, r0, 0
1) addi r2, r0, 0
2) st (r2 + 15), r1
3) addi r2, r2, 1
4) add r1, r1, r2
5) addi. r3, r2, -6
6) bne -5
7) st (r2 + 15), r1
Décrire l’exécution de ce programme, en détaillant chaque étape de chaque instruction et en donnant les
valeurs de chaque registre.