Série n°3
Soit le chemin de données monocycle d’un microprocesseur donné en annexe.
Ce chemin de données implémente les instructions suivantes :
Instruction
RTL
Lw_add rd , (rs) , rt
Addi_st (rs), rs , imm
Sll_add rd , rs , rt , imm
R[rd]=Memory [R[rs]]+R[rt]
Memory [R[rs]]=R[rs]+Ext(imm)
R[rd]=(R[rs] << Ext(imm))+ R[rt]
Rq: l’opérateur << désigne un décalage logique à gauche.
Toutes les instructions possèdent le même format présenté ci-dessous. Une instruction peut
Publicité
ne pas utiliser tous les champs.
Champ
Bits
op
31-26
rs
25-21
rt
20-16
rd
15-11
imm
10-0
Publicité
1- Pour chacune des instructions suivantes, spécifier les valeurs des signaux de contrôle.
La valeur ALUOp peut etre 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_add
Addi_st
Sll_add
2- 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. Expliquer.
Unité Fonctionnelle
Mémoire
Publicité
ALU
Banc de registres
Latence
3 ns
4 ns
2 ns
Inst
Temps
Explication
Lw_add ……… ………………………………………………………………
………………………………………………….
Addi_st ……… ………………………………………………………………
………………………………………………….
Publicité
Sll_add ……… ………………………………………………………………
3- Donner la valeur de CPI et le temps approximatif du cycle de l’horloge.
………………………………………………….
CPI=…………………………..
T=…………………………….
1
Série n°3
Annexe :
2