Vous êtes sur la page 1sur 4

Architectures Architectures

TD Conception Monocycle Recopier ce tableau dans votre feuille d’examen et compléter les valeurs des signaux de commande
pour cette instruction
Exercice 1 :
Supposons que nous souhaitons exécuter l’instruction d’addition immédiate suivante dans le chemin RegDst RegWrite ALUSrc ALUCtr MemWrite MemRead MemToReg PCSr
de données à cycle unique: c

ADDI $29, $29 ,16

1/ Le diagramme de chemin de données à cycle unique ci-dessous montre l'exécution de cette


instruction.. Vous devez fournir des valeurs des signaux de A à M sauf B restants dans le diagramme, Exercice 2
qui sont marqués par le symbole « ? » et ce en recopiant et complétant le tableau ci-dessous dans votre
feuille d’examen Nous disposons d’un chemin de données monocycle MIPS (implémentant les instructions de type R,
ORI, lw, sw et beq)
Vous devriez:
• mentionner les valeurs décimales.
• Supposons que le registre $29 contient initialement le nombre 129.
• Si une valeur ne peut pas être déterminée, marquez-la comme «X».

1/ Etant donnée les latences d’exécution suivantes, donner le CPI et la période T qui correspond au
temps d’exécution de l’instruction LW sachant que :

Mémoires de données et d’instructions: 400ps | Banc de registres (READ/Write): 50ps | ALU et


Add: 200ps | Portes logiques et multiplexeurs : 2ps | tout le reste est négligeable.

3/ Nous allons implémenter l’instruction SwPlus rt, rs, (rs), imm dans une architecture monocycle,
cette instruction permet d’effectuer deux opérations en parallèle:

A B C D E F G H I J K L M Opération 1 : elle permet de ranger un mot qui est le contenu de registre de transfert rt dans la
16 mémoire dont l’adresse est donnée seulement par le contenu de registre source rs

Opération 2 : elle ajoute la valeur immédiate du contenu de registre source rs et le résultat sera
2/ Sachant que les valeurs ALUCtr pour chaque opération de l'ALU sont: transférer au banc de registres dont la destination est le registre source rs.

Instruction RTL
M[R[rs]] = R[rt]
SwPlus rt, rs, (rs), imm R[rs] = R[rs] + imm

Dr Dhafer MEZGHANI Page 1 Dr Dhafer MEZGHANI Page 2


Architectures Architectures

1/ Modifier le chemin de données pour implémenter l’instruction SWPlus

Dans le chemin de données, le composant nommée GALU (Greater ALU) joue le rôle de
l’ALU mais possède de plus une sortie « Great » qui est égale à 1 si R[rs]-R[rt]>0 et 0 si
R[rs]=< R[rt]. Comme le cas de zéro, Great est un indicateur vers l’unité de
contrôle. C’est un indicateur de comparaison entre le contenu de deux registres
source et transfert.

2/ justifier brièvement vos choix 1/ Etant donnée les latences d’exécution suivantes, donner le CPI et la durée du cycle de

3/ Recopier et compléter la table des signaux de contrôle qui permettent d’implémenter cette l’horloge T1 pour l’implémentation de l’instruction lw sachant que :
instruction SwPlus :
Memory: 300ps | Banc de registres (READ/Write): 50ps | GALU et Adders: 100ps |
RegDst RegWrite ALUSrc MemWrite MemRead AddrSrc MemtoReg PCSrc
Portes logiques et multiplexeurs : 2ps | tout le reste est négligeable.

CPI =

Exercice 3 T1 =
A/ Nous disposons d’un chemin de données monocycle MIPS (implémentant les
B/ Les concepteurs MIPS ont identifié des instructions supplémentaires que peut
instructions de type R, ORI, lw, sw et beq) réaliser le processeur MIPS (vu dans le cours). Ces instructions sont :

Instructions Description
cs $rd, $rs, $rt Le registre de destination rd reçoit le max (le
plus grand) suite à une comparaison entre le
contenu de rs et celui de rt
cslw $rd, $rs, $rt Le registre de destination rd reçoit la donnée de
la mémoire de données dont son adresse est le
max suite à une comparaison entre le contenu
de rs et celui de rt
cslwcs $rd, $rs, $rt Le registre de destination rd reçoit le max suite
à une comparaison entre le contenu de rs et la
donnée générée par la mémoire de données

Dr Dhafer MEZGHANI Page 3 Dr Dhafer MEZGHANI Page 4


Architectures Architectures

dont son adresse est déterminée aussi par le


maximum entre le contenu de rs et celui de rt
Il est alors clair que les abréviations cs et lw dans les mnémoniques ci-dessus Nouvelle durée du cycle de l’horloge :………………………………………
signifient : compare_select et load word
b-2 éme pseudo-instruction : cslw $rd, $rs, $rt
1/ A partir de la description ci-dessus, donner le niveau RTL des différentes instructions

Instructions RTL
cs $rd, $rs, $rt
cslw $rd, $rs, $rt
cslwcs $rd, $rs, $rt

2/ Nous nous proposons d’apporter des modifications au chemin de donnée et aux


signaux de contrôle, en suivant les consignes suivantes :
- Il est recommandé de minimiser le nombre de matériel à ajouter.
- En ajoutant une nouvelle instruction, il ne faut pas altérer le fonctionnement des
instructions de base.
- Eviter d’ajouter des registres ou des mémoires au chemin de données.
- Il est possible d’ajouter des multiplexeurs, GALU.
Pour chacune des nouvelles instructions mentionnées, nous demandons la modification
du chemin de données, les valeurs des signaux de contrôle ajoutés et existants et la
nouvelle valeur du cycle d’horloge. Il sera tenu compte de l’optimalité de la solution.
a-1 ère pseudo-instruction : cs $rd, $rs, $rt

Points de contrôle :

Nouvelle durée du cycle de l’horloge :………………………………………

Points de contrôle : c-3 éme pseudo-instruction : cslwcs $rd, $rs, $rt

Dr Dhafer MEZGHANI Page 5 Dr Dhafer MEZGHANI Page 6


Architectures

Points de contrôle :

Nouvelle durée du cycle de l’horloge :………………………………………

Dr Dhafer MEZGHANI Page 7

Vous aimerez peut-être aussi