Académique Documents
Professionnel Documents
Culture Documents
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
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
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
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
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
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).
Logique Sorties
Points de contrôle
25
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
29 30