Vous êtes sur la page 1sur 5

République Tunisienne

Ministère de l’Enseignement Supérieur


et de la Recherche Scientifique

EXAMEN SESSION 2022


Section Epreuve Pages Durée Date

LEEA2 MCP 5 1H30 Mai 2022

Documents autorisés : Oui Non Calculatrice autorisée : Oui Non

A remettre les documents de réponse 1 et 2 avec la feuille d’examen

Exercice : (6 points)

1/

Nous envisageons ajouter l’instruction suivante à MIPS :

Instruction RTL
movz rd, rs, rt Si (R[rs] = = 0) alors R[rd] <= R[rt]

Le chemin de données monocycle ci-dessous manque les bonnes implémentations pour les
blocs pointillés (a), (b),et (c) afin d’implémenter movz

1/ Pour implémenter movz, vous n'avez pas besoin d'utiliser tous les signaux fournis à chaque
boîtier, et le signal de contrôle MOVZ vaut 1 si et seulement si l'instruction est movz.

Dr Dhafer MEZGHANI Page 1


Pour bloc (a), encercler le numéro de la bonne implémentation

Pour bloc (b), encercler le numéro de donner la bonne implémentation

Pour bloc (c), encercler le numéro de donner la bonne implémentation

2/ Sachant que les valeurs ALUCtr pour chaque opération de l'ALU sont :

Générez les signaux de contrôle pour movz. Les valeurs doivent être des termes 0, 1 ou X

Problème (14 points)

Sur le chemin de données à 32 bits ci-dessous, nous souhaitons exécuter le programme suivant
constitué de QUATRE instructions successives.

400 : SUB $8, $2, $1

Dr Dhafer MEZGHANI Page 2


404 : OR $5, $2,$1

408 : LW $6,3($8)

412 : SW $5,4($8)

Ce programme une fois compilé et assemblé, il sera stocker dans la mémoire d’instructions à partir
de l’adresse en décimale PC = 400, Pour ces instructions, la mise à jour de la valeur PC sera
toujours PC+4

La mémoire d’instructions, une fois elle reçoit l’adresse de l’instruction en cours d’exécution, elle
génère les numéros de rs, rt et rd au banc de registres ainsi que la valeur immédiate imm16 = offset
sur 16 bits pour le calcul d’adresse.

Nous rappelons aussi que pour :

Les instructions arithmétiques et logiques, la destination est le registre rd et la valeur imm16 n’est
pas importante ainsi que le contenu de la mémoire de données

Pour les instructions de chargement LW la destination est le registre rt et la valeur imm16 = offset

Pour les instructions de rangement SW, la destination est la mémoire de données et la valeur
imm16 =offset

La mémoire de donnée est seulement accessible pour les deux instructions Load et Store, sinon elle
est déconnectée pour le reste des instructions

1/ (7.5 pts) Dans le tableau ci-dessous, vous devez fournir des valeurs des signaux de A à N pour
exécuter les 4 instructions suivantes, ces valeurs sont marqués par le symbole « ? » dans le
diagramme,

Vous devriez:
• mentionner les valeurs décimales.
• Supposons que le registre $i (rs ou rt) contient initialement le nombre 100+i sauf $0 qui
contient toujours 0.
•Si une valeur ne peut pas être déterminée, marquez-la comme «X».
•Initialement toutes les données de mémoire de données sont de valeurs 99.
•Il est recommandé de suivre les modifications des registres par la colonne mise à jour

Dr Dhafer MEZGHANI Page 3


NE RIEN ECRIR ICI
Document réponse 1

instr A=rs B=rt C= D=rd E=imm16 F G=R[rs] H= I J=result K L M=PC N=PC+4 Mise à
destination R[rt] jour
SUB 2 1 8 8 X X 102 101 101 102-101 X 1 400 404 R[$8]=1
$8, $2, =1
$1
OR $5, 2 1 5 5 X X 102 101 101 102 OR X 103 404 408 R[$5]=103
$2,$1 101= 103
LW 8 6 6 X 3 3 1 106 3 1+3=4 99 99 408 412 R[$6]=99
$6,3($8
)
SW 8 5 X X 4 4 1 103 4 1+4=5 X X 412 416 M[5]=103
$5,4($8
)

Dr Dhafer MEZGHANI Page 4


NE RIEN ECRIR ICI
Document réponse 2

2/ (5 pts) Compléter les signaux de contrôle permettant d’implémenter chaque instruction

Instruction Regdst Regwrite ALUScr ALUCtr MemRead MemWrite MemtoReg


SUB 1 0/1 0 Sub 0 0 0
OR 1 0/1 0 Or 0 0 0
LW 0 0/1 1 ADD 1 0 1
SW X 0 1 ADD 0 1 X

3/ (1.5 pts) sachant que les latences sont : Mémoire 400 ps, Banc de registres 100ps, UAL :50ps, Le reste est negligeable

Donner les latences de chaque instruction

Instruction Temps demandé pour exécution


SUB MI(400)+BR(100)+UAL(50)+BR(100)=650ps
OR MI(400)+BR(100)+UAL(50)+BR(100)=650ps
LW MI(400)+BR(100)+UAL(50)+MD(400) + BR(100)=1050ps
SW MI(400)+BR(100)+UAL(50)+MD(400) =950ps

Déduire la période 1050 ps

Donner le temps d’exécution de ce programme 4*1*1050 = 4200 ps

Dr Dhafer MEZGHANI Page 5

Vous aimerez peut-être aussi