Vous êtes sur la page 1sur 5

Institut Supérieur d’Informatique

Matière : Architecture avancée des processeurs TD 1 : Jeux d’instructions


Enseignant : H. Ben Fradj et Z. Ben AZouz et architecture du
processeur MIPS
Classe : 1 Ing

AU : 2020/2021

Exercice 1 : Architecture & jeux d'instructions MIPS


On propose d’étudier un processeur qui implémente un sous ensemble du jeu d’instruction MIPS.
Le processeur contient 32 registres de 32 bits (le registre R0=0). Toutes les instructions sont codées sur 32
bits selon l'un des trois formats suivants :
Format \bits 31 - 26 25 - 21 20 – 16 15 – 11 10 - 6 5-0
RR op Rs Rt Rd decval func
RI op Rs Rt imm16
J op imm26
Avec :
– op: Code opération de l’instruction
– rs, rt, rd: Les registres sources et destination.
– Decval: Valeur de décalage.
– func: code complémentaire pour définir les opérations arithmétiques logiques.
– imm16 : Valeur immédiate sur 16 bits.
– imm26 : Valeur immédiate sur 26 bits.

Tableau 1: Un Sous-ensemble d’instructions MIPS

1
Institut Supérieur d’Informatique

Tableau 2 : Programme en code machine


Adresse mémoire Contenu en hexadécimal
00000000 8C
00000001 C5
00000002 00
00000003 64
00000004 10
00000005 65
00000006 00
00000007 02
00000008 00
00000009 27
0000000A 40
0000000B 24
0000000C 30
0000000D 85
0000000E 00
0000000F 3A
00000010 AD
00000011 25
00000012 00
00000013 1E

1. De quel type est le jeu d’instruction MIPS ? Justifier votre réponse ?


2. On suppose que la mémoire est adressable par octet et qu’elle est gros-boutiste (Big endian). En
utilisant le tableau 1, déduire les instructions correspondantes au contenu de la mémoire donné
par le tableau 2.

2
Institut Supérieur d’Informatique

Exercice2 : Jeu d’instructions MIPS

On propose d’étudier l’exécution du programme donné par la figure 1 sur un processeur MIPS.
On suppose que la première instruction du programme commence à l’adresse 0.

add $6, $0, $0


addi $3, $6, 12
addi $5, $6, 0

loop lw $7, 0xA4 ($6)


add $5, $5, $7
addi $6, $6, 4
bne $3, $6, loop
sw $5, 0xF8($0)

Figure 1 : séquence d’instructions MIPS

3. En utilisant le tableau 1, déterminer le contenu en hexadecimal de la mémoire programme à partir


de l’adresse 0x0C.

4. En utilisant le contenu de la mémoire de données présentée sur le tableau 3, déduire le résultat


obtenu après l’exécution de chaque instruction du programme.

Tableau 3: Contenu de la mémoire de données

Adresse mémoire Contenu


A4 00
A5 00
A6 00
A7 7F
A8 00
A9 5E
AA 00
AB 00
AC 00
AD B7
AE 00
AF 00

3
Institut Supérieur d’Informatique

Exercice 3
1. A partir de la microarchitecture de l'UAL présentée sur la figure 2, déterminer les différentes
opérations qui peuvent être exécutées et la valeur du signal ALUCtrl correspondant à chacune.
2.

Figure 2: Architecture interne de l'UAL

3. Donner tous les signaux de contrôle nécessaires à l’exécution des instructions suivantes (à
l’exception du signal ALUOp) sur l’architecture de la figure 3 :

LW $5, 0x96BF($0)
ADD $5, $6, $7
ORI $6, $7, 0x8A07
slt $9, $4, $5
J label
beq $2, $5, label

4
Institut Supérieur d’Informatique

Figure 3: Chemin de données MIPS


5

Vous aimerez peut-être aussi