Vous êtes sur la page 1sur 6

CYCLE INGENIEUR EN INFORMATIQUE - 4EME ANNEE

EXAMEN ECRIT – SESSION PRINCIPALE

Module Architectures 2 Date Janvier 2022


202
Enseignant Dhafer MEZGHANI Durée 2H
Documents Non autorisés Nbre Pages 6

Nom et Prénom :………………………………………………………………………………


……………………………………………………… Code (Réservé)
CIN : ………………………………………………………………………………………………….

Code

/20
N.B. : Le nombre de lignes n’est toujours significatif
Exercices

EX Considérons un programme composé de 50 instructions de type chargement (LW), 30 5


1. instructions de rangement (SW),40
(SW) instructions de type –R, 10 instructions de type branchement
conditionnel (Beq/Bne) et pas instructions de type branchement inconditionnel (jmp), (jm nous pts
désirons comparer les temps d’exécution des différents architectures multi-cycle
multi cycle et pipeline.

Pour une architecture pipeline cinq étages, nous considérons les hypothèses suivantes :

• Pas
as d’aléas de structure
• Les Aléas de contrôle sont résolus par prédiction dynamique (on suppose un taux de
réussite moyen de 65%).
• Le programme ne contient pas d’autres types d’Aléas.

1/ Donner les temps d’exécution du programme avec explication pour les trois conceptions vues
dans le cours sachant que le temps de cycle pour la conception multi-cycle
cycle est le même que le
pipeline égal à 20ns. Et monocycle est 100 ns

2020/2021 Page 1
NE RIEN ECRIRE ICI

Temps Explication
d’exécution
Conception Monocycle

Conception Multicycle

Conception Pipeline

EX Soit le fragment de code suivant : 5


2.
pts
add $8, $5, $5

sub $2, $5, $8

add $3, $8, $4

sub $2, $2, $3

Le chemin de données en pipeline ci-dessous montre le cinquième cycle d'exécution de ce


fragment, y compris les valeurs de plusieurs étapes.

• Supposons que les registres contiennent initialement leur numéro plus 100: $2 en contient 102,
$8 en contiennent 108, etc.

• Écrivez vos valeurs directement sur le diagramme, mais veuillez écrire clairement.

• Utilisez la notation décimale. Vous pouvez écrire «X» pour toutes les valeurs qui ne peuvent pas

2020/2021 Page 2
être déterminées.

1/Remplissez les vingt-une valeurs restantes, marquées d'un ? dans les étapes ID, EX et MEM.

EX Soit le code écrit en C : 5


3 pts
int count(int *A, int val, int len) {
int count = 0, *end = A + len;
do {
if (*A == val) {
count += 1;
}
A += 1; // pointer arith
} while (A != end)
return count;
}

La boucle interne pour le code C affiché peut être écrite comme suit:

loop: add $a0, $a0, 4


lw $t0, -4($a0)
bne $t0, $a1, skip
add $v0, $v0, 1
skip: bne $a0, $t1, loop

Trouvez les aléas dans cette suite pour la machine pipeline à 5 étages du cours

……………………………………………………………………………………………………………………………………………………………

……………………………………………………………………………………………………………………………………………………………

2020/2021 Page 3
……………………………………………………………………………………………………………………………………………………………

On suppose que tous les aléas (données et contrôles) sont résolus par insertion des bulles (-), de plus,
on suppose que les deux instructions bne sont exécutées successivement et que le nombre de cycles
NC entre le fetch de la première instruction add de itération N et le fetch de la même instruction add de
itération N+1 = 10 itérations

1/ compléter le déroulement d’exécution pour chaque étage de pipeline.

2/ Donner le nombre d’instructions NI exécutées dans l’itération N =………………………..

3/ CPI moyen =NC/NI = …………………………………..

EX MIPS est une architecture registre-registre, où la source arithmétique et les destinations doivent tous les 5
4 deux, être des registres. Mais, pensant à inclure une instruction de soustraction de registre- mémoire pts
Instruction RTL

SUB_MR pc(rt), rt, pc(rt) Mem[R[rt]+PC] = R[rt]- Mem[R[rt]+PC]

Cette instruction utilisera le même format que les instructions de type R, présentée ici à titre de
référence (shamt et func ne sont pas utilisés)

Pour ce que se suit :


A. Apporter la modification nécessaire dans ce chemin pour supporter la nouvelle instruction
(solution optimale)
B. Compléter la machine à état correspondante à cette instruction par le niveau RTL et attribuer
un numéro pour chaque état ajouté.
C. Déterminer les valeurs des signaux de contrôle ajoutés et existants intervenant pour
l’exécution de dernier état de cette instruction.
D. Donner le temps d’exécution de cette instruction

2020/2021 Page 4
A/ modifier le chemin afin d’implémenter SUB_MR. Essayer de garder votre diagramme
propre

2020/2021 Page 5
B/Compléter la machine à état pour l'instruction SUB_MR par les niveaux RTL
correspondants

C/Définir les signaux de contrôle correspondants au dernier état pour l’instruction SUB_MR

D/ donner le temps d’exécution de cette instruction SUB_MR

…………………………………………………………………………………………………..

2020/2021 Page 6

Vous aimerez peut-être aussi