Vous êtes sur la page 1sur 8

Chapitre 4: Conception d ’un processeur Multi-Cycle

Introduction: Vue Simplifiée du processeur Mono-Cycle


Introduction
Par définition, dans un modèle à cycle unique, le cycle d’horloge
doit avoir la même durée pour toutes les instructions. Le cycle
d’horloge est défini par le chemin le plus long dans la machine.
Par conséquences :
1- Les performances d’une mise en oeuvre à cycle unique ne sont pas bonnes, car
certains types d’instruction pourraient être effectués en un cycle d’horloge plus
court.
2- De plus, chaque unité fonctionnelle ne peut être utilisée qu’une fois par cycle ;
par conséquent, certaines unités doivent être dupliquées, ce qui augmente le coût de
la mise en oeuvre.
Nous allons éviter ces problèmes en utilisant une nouvelle
architecture qui a un cycle de base plus court et qui requièrent
plusieurs cycles d’horloge par instruction. Cette technique est
appelée multicycle.
1 2

Longueur requise par chaque type d’instruction Ce qu’il faut redire d’un cycle
pour Monocycle
On suppose que le temps d’opérations pour les principales unités unique
fonctionnelles vaut :
Unités mémoire : 10ns Temps des chemins critiques
UAL et additionneurs : 10 ns
Banc de registres (lecture ou écriture) : 5ns
10
25

30
35
Inactivité
40 Cycle d’horloge

3 4
Ce qu’il faut redire d’un cycle
unique Mise en oeuvre multicycle
Temps des chemins critiques Nous allons éviter la perte :
Au niveau de temps
25
10 Au niveau de matériel
30 En utilisant une technique de mise en oeuvre qui
35 a un cycle de base plus court et qui requièrent
40
plusieurs cycles d’horloge par instruction.
Cette mise en oeuvre est appelée mise en oeuvre
multicycle.
5 6

Les caractéristiques d’une oeuvre Multicycle Datapath

multicycle
Chaque étape de l’exécution prendra un cycle
d’horloge
Les exécutions seront donc exécutées en des nombres
de cycles différents.
Avec une telle mise en oeuvre, une unité fonctionnelle
peut être utilisée plusieurs fois par instruction, tant
qu’il s’agit de cycles d’horloge différents. Ceci réduit la
quantité de matériel nécessaire.
7 8
Transferts Physique des Registres
Action Register Transfers RTs Physique
Recherche d’instruction
1 Fetch
IR ← Memory[PC] IR = Memory[PC];
PC ← PC + 4
PC = PC + 4;
A ← Reg[Rs] B ← Reg[Rt]
2 Decode

R-Type ORI LW SW Beq & cond Jump

PC = PC +
3 Execute
ALUOut= A op
ALUOut
ALUOut = A+sign- ALUOut= A+sign-
sign- PC = PC [31-
=A+zero- extend(IR[ 28] II
B extend(IR[15-0]) extend(IR[15-0])
extend(IR[15-0]) 15-0]) << (IR[25-0]<<2)
2

Write
R [Rd] ← MDR ←
memory/ Memory[ALUout] ← B
4 Banc
ALUout R[Rt]←ALUout Memory[ALUout]

registre

Chargem
ent dans R[Rt] ← MDR
5 le
BancReg

10
9

Décodage d’Instruction Instruction Type -R : ADD


A = Reg[IR[25-21]]; (A = Reg[rs]) Execution :ALUOut = A op B
B = Reg[IR[20-15]]; (B = Reg[rt])

11 12
Instruction Type -R : ADD Instruction Type -I : ORI
Ecriture dnas le BancReg : R [Rd] ← ALUout Exécution: ALUOut = A + zero-extend(IR[15-0])

13 14

Instruction Type -I :
ORI Instruction Type -I : Lw
Ecriture dans le BancReg: R [Rt] ← ALUout Exécution : ALUOut = A + sign-extend(IR[15-0])

15 16
Instruction Type -I : Lw Instruction Type -I : Lw
Accès à la memoire: MDR ← Memory[ALUout] Ecriture dans le le BancReg: R[Rt] ← MDR

17 18

Instruction Type-I : Sw Instruction Type-I : Sw


Exécution: ALUOut = A + sign-extend(IR[15-0]) Acces à la Memoire: Memory[ALUout] ← B

19 20
Instruction Saut Conditionnel : Instruction Saut Non
Beq Conditionnel :Jump
BEQ: if (A == B) PC = PC + sign-extend(IR[15-0]) << 2 JUMP: PC = PC [31-28] II (IR[25-0]<<2)

21 22

Modèle de contrôle Modèle de contrôle:


implémentation
PCWriteCond PCSource
PCWrite ALUOp
IorD Outputs
ALUSrcB
MemRead
Control ALUSrcA
MemWrite
RegWrite
MemtoReg
Op RegDst
IRWrite [5– 0]
0
M
Jump 1 u
Instruction [25– 0] 26 28 address [31-0] x
Shift
2
left 2
Instruction
[31-26] PC [31-28]
PC 0 0
M Instruction Read
[25– 21] register 1 M
u Address u
x Read x
Instruction Read A Zero
1 Memory
[20– 16] register 2 data 1 1
MemData 0 ALU ALU ALUOut
Registers
Instruction M Write Read result
[15– 0] register data 2 B
Instruction u 0
Write Instruction [15– 11] x 4 1 M
data Write
register 1 data u
2 x
Instruction 0 3
[15– 0] M
u
x
Memory 1
data 16 32 ALU
Sign Shift
register control
extend left 2

Instruction [5– 0]

23
Modèle de contrôle Diagramme du contrôle
Un état spécifiant les points de contrôle pour les Transferts de Registres.
Transfert prend place au moment ou on quitte l ’état (front descendant).

Conditions (op, Cond=)

Logique état Etat X


suivant
Transferts de registres
Points de contrôle
Etat Courant
Dépend des entrées

Logique Sorties

Points de contrôle

25

Table de Vérité des Signaux de Contrôle Contrôleur Machine Traditionnel


Machine traditionnel
Etat op Cond= Etat Points Contrôle
Suiv.

Table Vérité
Etat Points Contrôle
11 Suiv.
Cond=ZF 0011

Etat
4 0010 courant control signals

op
28 Chem. Donn. 000000
Spécification détaillée du contrôle: Machine Traditionnel Evaluation de Performances
CPI Moyen?
Diagramme des états donne CPI pour chaque instruction
Fréquence d ’utilisation de chaque instruction

Type CPIi Fréquence CPIi x freqIi


Arith/Logic 4 40% 1.6
Chargement 5 30% 1.5
Rangement 4 10% 0.4
Saut Cond. 3 20% 0.6
Moyenne CPI:4.1

29 30

Vous aimerez peut-être aussi