Vous êtes sur la page 1sur 5

EXAMEN

Département TI Date 06/01/20


Matière ARCHITECTURE DES ORDINATEURS Durée 01h30
Enseignantes A.GHACHEM, I. KAROUIA et R. BELLAZREG Doc. Autorisés NON
Calculat. Autorisée NON
Classes TI 101, 102, 103, 104, 105, 106, 107 Nombre de pages 5 + annexe

Il vous est demandé de remplir intégralement l’entête de votre copie et de soigner la présentation

Exercice 1 8 Pts

Soit un microprocesseur ayant une fréquence de 1400 MHz, doté de 12 registres numérotés de
R1 à R12.

Le jeu d’instructions du microprocesseur dénombre plusieurs instructions telles que MOV,


ADD, SUB, MUL, BEQ….

Les instructions utilisées dans cet exercice sont présentées par le tableau suivant :

Mnémonique Rôle Explication


MOV Affectation MOV $R1,$R2
ADD Addition ADD $R1, $R2, $R3 =>R1 R1+ R2+R3
SUB soustraction SUB $R1, $R2, $R3 =>R1  R2 -R3
MUL multiplication MUL $R1, $R2, $R3 =>R1  R2*R3
BEQ Effectuer un branchement BEQ $R1, $R2, adr =>Si R1et R2 sont
égaux saute à l’adresse adr

Le microprocesseur est pipeliné. Il décompose les instructions en 4 phases différentes IF, RF,
ALU et WB :

 L’étape IF effectue la lecture de l’instruction.


 L’étape RF décode l’instruction et prend les décisions de branchement.
 L’étape ALU exécute les calculs arithmétiques et logiques.
 L’étape WB effectue l’écriture du résultat en mémoire ou dans le banc de registre.

Le schéma d’exécution d’une instruction est présenté par la figure suivante :

A.U. 2019/2020 – Sem. 1 Page 1/5


1) Quel est le nombre de cycles par instruction ?
2) Calculer le MIPS de ce microprocesseur.
3) Par combien d’étages est formé ce pipeline ?

Soit le script script 1 suivant :

SUB $R1,$R4,$R3
ADD $R2,$R5,$R6
MUL $R11,$R12,$R8

4) Tracer le diagramme d’évolution du pipeline relatif à l’exécution de script1.


5) Donner le nombre de cycles machine nécessaires pour l’exécution de script1.
6) Dans le cas d’une exécution séquentielle classique, combien de cycles machine seront
nécessaires pour l’exécution de ces 3 instructions ?
7) Calculer le gain de ce pipeline.

On souhaite exécuter le script 2, et script 3 ci-dessous, en utilisant le parallélisme (le


pipelining):

Script 2 Script 3
MOV $R6,3 ADD $R9,$R4,$R3
MOV $R12,3 MUL $R2,$R5,$R6
ADD $R2,$R3,$R1 SUB $R10,$R2,$R8
BEQ $R6,$R12,100
SUB $R8,$R9,$R10

8) Quels types d’aléas (problèmes) sont rencontrés pour ce pipeline ? expliquer.

Exercice 2 12 Pts
Soit une machine dotée de :

 Un microprocesseur ayant un format et une longueur fixes d’instruction où la taille


d’une instruction est 32 bits.
 Une mémoire décrite par la figure ci-après.
 La taille d’un mot mémoire est égale à 1 octet.

A.U. 2019/2020 – Sem. 1 Page 2/5


Instructions
Adresse mémoire
en Hexadécimal …
A3B2 1100 0001
A3B3 1110 0101
1000 1000 I1
A3B4
33 0111 0000
0000 0000
0000 1100
1001 1100
I2
1000 0000
0000 0000
0000 0000
1000 1101 I3
0011 0000

I4

I5

I6

….
Données
C1E5 00101000
C1E6 01010010
C1E7 00111100
….

Figure: Contenu de la mémoire

On considère que le microprocesseur est muni d’un ensemble de registres de 32 bits, de 4


modes d’adressage : direct, indirect, immédiat et registre et d’un jeu d’instructions décrits en
annexe. Le contenu des différents registres avant l’exécution des différentes instructions est
présentée dans le tableau1.

A.U. 2019/2020 – Sem. 1 Page 3/5


Registre Contenu

XX 0000 0000 0000 0000 0000 0000 0001 0001

EE 0000 0000 0000 0000 1100 0001 1110 0110

FF 0000 0000 0000 0000 0000 0000 0001 1111

GG 0100 0000 0000 0000 0000 0000 0000 0000

HH 0000 0000 0000 0000 0000 0000 0011 0111

MM 0000 0000 0000 0000 0000 1100 0001 0101

Tableau 1 : Contenu des différents registres

Travail demandé :
Toutes les réponses doivent être justifiées.

Partie 1 :

1) Sur combien de mots mémoire s’écrit une instruction ?


2) Quelle est la taille du code instruction ?
3) Quelle est la taille du code opérande ?
4) Par combien d’instructions est formé le jeu d’instructions ?
5) Est-ce que ce microprocesseur a une architecture CISC ou RISC ? Pourquoi ?
6) Faut-il un ou plusieurs cycles machines pour exécuter une instruction ? Pourquoi ?

Partie 2 :

Nous sommes actuellement à la phase d’exécution de l’instruction I1 dont le code est, comme
le montre la figure ci-dessus : 1000 1000 0111 0000 1100 0001 1110 0101

1) De quelle opération s’agit-il (donner la mnémonique correspondante) ?


2) Quel est le mode d’adressage de l’instruction I1 ?
3) Donner l’équivalent de l’instruction I1 en langage assembleur du microprocesseur tel
que défini.
4) Quel est le contenu du registre d’adresse en hexadécimal ?
5) Quel est le contenu du registre d’instruction ?
6) Quel est le contenu du compteur ordinal en hexadécimal ?

A.U. 2019/2020 – Sem. 1 Page 4/5


Partie 3 :

Le décodeur décode l’instruction I2 (voir figure ci-dessus) ayant pour code :

1001 1100 1000 0000 0000 0000 0000 1100

1) De quelle opération s’agit-il (donner la mnémonique correspondante) ?


2) Quel est le mode d’adressage de l’instruction I2?
3) Donner l’équivalent de l’instruction I2 en langage assembleur du microprocesseur tel
que défini dans l’annexe.
4) Quel est le contenu du registre d’instruction ?
5) Quel est le contenu du registre de données ?
6) Quel est le contenu de l’accumulateur en binaire ?

Partie 4:

Nous sommes actuellement à la phase de recherche de l’instruction I3

1000 1101 0011 0000 0000 0000 0000 0000

1) Quel est le mode d’adressage de l’instruction I3?


2) Donner l’équivalent de l’instruction I3 en langage assembleur du microprocesseur tel
que défini

On considère que l’exécution de l’instruction I3 est terminée.

3) Quel est le contenu des différents registres (EE, FF, GG, HH, MM, XX ) tenant
compte de l’exécution des instructions I1, I2 et I3?

Partie 5 :

1) En vous basant sur le format d’instruction présenté en annexe, remplir le tableau


suivant :

Instruction Mode d’adressage Instruction en binaire

I4 MUL FF, 10

I5 MOV GG, [EE]

I6 OR XX, HH

2) Donner l’adresse en mémoire de chacune des instructions I4, I5 et I6.

A.U. 2019/2020 – Sem. 1 Page 5/5

Vous aimerez peut-être aussi