Vous êtes sur la page 1sur 9

NE RIEN

ECRIRE ICI
Réépublique Tunisienne
Minis
istère de l’Enseignement
Supér
érieur et de la Recherche

SE
ESSION DE : Janvier 2020
Section Epreu
euve Pages Durée Date
MP1ERTA Introduction aux
au Energies 7 1H30 10 Ja
Janvier 2020
renouvelables : Conception
des Proce
cesseurs

Documents autorisés : Oui Non


N Calculatrice autorisée : Oui Non
-----------------------------------------------
-------------------------------------------------------------
---------------------------

/20 N.B. : le nom


mbre de lignes de réponse
n’est pas tou
ujours significatif.
Exercices:
1. Considérons un programme composé
comp argement (LW), 20 3
de 40 instructions de type chargement
instructions de rangement (SW),30
(SW) instructions de type –R, 5 instructions
structions de type pts
branchement conditionnelnel (Beq/Bne)
(Beq et 5 instructions de type bran branchement
inconditionnel (jmp), nous
ous désirons
désiro comparer les temps d’exécution
tion des différents
architectures mono-cycle et multi-cycle
multi

Donner les temps d’exécution


ution du programme
p avec explication pour les deux conceptions
vues dans le cours sachantnt que le temps de cycle pour la conception n multi
multi-cycle est de
2.1ns tandis que celui de monocycle
monocycl est 5 fois celui du multicycle.
Temps Explication
d’exécution
Conception Mono-cycle

Conception Multicycle

2. Soit le chemin de données monoc né comme suit. 3


ocycle d’un microprocesseur de type RISC donné
Ce chemin de données implément
nte l’instruction suivante : pts

Instruction Description
SRLV rd,rs,rt Appliquerr un
u décalage à droite logique sur le contenu de re
registre source
rs par la val
aleur contenu dans le registre de transfert rt le ré
résultat sera
logé dans le registre de destination rd

Donner le niveau RTL et Implé


lémenter cette instruction par une couleur surr le chemin de
données du processeur RISC suiv
ivant :
RTL ……………………………………………………………….

On désire calculer la durée du cycle de l’horloge T pour l’implémentation de l’instruction


SRLV sachant que : Memory: 200ps | Banc de registres (READ/Write): 50ps | ALU et
Adders: 100ps | Portes logiques et multiplexeurs : 2ps | tout le reste est négligeable

T = ……………………………………………………………….

3. Soit Ie chemin de données mono-cycIe d’un microprocesseur donné comme suit 9


pts

Ce chemin de données implémente les instructions suivantes :

Instruction RTL
lw_sub rd, (rs), rt R[rd] = Memory[R[rs]] - R[rt];
subi_st (rs), rs, imm Memory[R[rs]] = R[rs] - imm;
srl_sub rd, rs, rt, imm [rd] = (R[rs] >> imm) - R[rt];
a) Implémenter chaque instruction sur le chemin de données par une couleur
différente :
• Implémentation de lw_sub

• Implémentation de subi_st

• Implémentation de srl_sub
b) Sachant les temps de latences (durée nécessaire à l’exécution) des unités
fonctionnelles suivantes, calculer le temps minimal requis pour exécuter
chacune des instructions. Expliquez.

Unité fonctionnelle Latence


Mémoire 3 ns
ALU 4 ns
Banc de registres 2 ns
Le reste négligeable

Inst Temps ExpIication


…………………………………………………………………
Iw_sub ……………………………
…………………………………………………………………
……………………………
…………………………………………………………………
subi_st ……………………………
…………………………………………………………………
……………………………
…………………………………………………………………
srl_sub ……………………………
…………………………………………………………………
……………………………

Donnez la valeur de CPI et Ie temps approximatif du cycle de l’horloge.


CPI = ………………………..
T = ……………………………
c) Pour chacune des instructions suivantes, spécifier les valeurs des signaux
de contrôle. La valeur de ALUOp peut être ADD, SUB, SLL, PASS_A
ou PASS_B (PASS_X veut dire qu’on passe la valeur de l’opérande X
sans changement).

Inst ALUsrc1 ALUsrc2 ALUsrc3 ALUop1 ALUop2 MemRead MemWrite RegWrite


Lw_sub
subi_st
srl_sub
4. Nous disposons d’un chemin de données Multi-cycle MIPS (implémentant les instructions de
type R, ORI, lw, sw et beq) 5
pts

MIPS est une architecture registre-registre, où la source arithmétique et les destinations


doivent tous les deux, être des registres. Mais, pensant à inclure une instruction d’addition de
mémoire- registre
Instruction RTL
subregmem rd, (rs), rt R[rd] = M[R[rs]] - R[rt]

Cette instruction utilise 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 :


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

A.1. Modifications nécessaires pour prendre en charge subregmem. Essayer de garder votre
diagramme propre
A.2. Machine à état pour l'instruction subregmem par le niveau RTL correspondant.

Abbréviation :
SX : Signextend, MDR : Memory Data Register, IR : Instruction Registre, M: Memory, BR :
banc de register

A.3. les signaux de contrôle correspondants au dernier état pour l’instruction subregmem

Vous aimerez peut-être aussi