Post on 03-Apr-2015
Contrôle 1
Mise en place du contrôle
Chemin de données
Mémoire
EntréesContrôle
Sorties
Contrôle 2
Mise en place du contrôle
En fonction du code-op il faut :
1. Contrôler l’UAL, en envoyant les signaux de bits de contrôle qui correspondent à l’opération à réaliser.
2. Contrôler les multiplexeurs et éléments de mémorisation du chemin de données pour piloter les transferts de données.
Contrôle 3
Contrôle de l'UAL
Fonction
000 Et
001 Ou
010 Addition
110 Soustraction
111 Positionner si inférieur
Entrée de contrôle de l'UAL
Entrée de contrôle
de l'UAL
Contrôle 4
Contrôle de l'UAL
Code-op
instruction
UALOp
Contrôle
Opération de
l'instruction
Code
fonction
Actions UAL
désirées
Entrée
contrôle UAL
LW 00 XXXXXX addition 010
SW 00 XXXXXX addition 010
BEQ 01 Branc. si = XXXXXX soustraction 110
type R 10 addition 100000 addition 010
type R 10 soustraction 100010 soustraction 110
type R 10 ET 100100 et 000
type R 10 OU 100101 ou 001
type R 10 Positionne si < 101010 posit.si < 111
Rang. mot
Charg. mot
Remarque : Utilisation d’outils de CAO pour réaliser la fonction est nécessaire.
Contrôle 5
Contrôle de l'UAL
PLAPLA
Champ Fonct
Contrôle Code-op
UALOp
Entrée de contrôle
de l'UAL
Contrôle 6
Le bloc de contrôle de l'UAL
opération2
opération1
opération0
F3
F2
F1
F0
UALOp0
UALOp1
Champ Fonct
Contrôle Code-op
UALOp
Entrée de contrôle
de l'UAL
Contrôle 7
Mise en place du contrôle du chemin de données
Il faut maintenant introduire des signaux de contrôle pour pouvoir piloter les différents multiplexeurs
Contrôle 8
Les lignes de contrôle
Mémoired'instructions
adresse à lire
Registres
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à Ecrire
0
1
0
1
0
1
1
0
Ins 31-0
Ins 26-21
Ins 20-16
Ins 15-11
Ins 15-0
Ins 5-0
16 32S C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest LireMem
MemversReg
ALUop
EcriMemALUSrcEcrireReg
CPSrc
Contrôle 9
Le chemin de données avec le contrôle
Mémoired'instructions
adresse à lire
Registres
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr. 0
1
0
1
0
1
0
1
Ins 31-0
Ins 31-26
Ins 26-21
Ins 20-16
Ins 15-11
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDestBranchementLireMemMemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
Mémoirede données
Contrôle 10
Détermination des signaux de contrôle
Pour déterminer les signaux de contrôle, on va décomposer étape par étape une instruction :
de type Rde chargement…
Contrôle 11
Résumé des étapes suivies pour les divers types
Nom de l’étape
Extraction del’instruction
Décodage de l’instruction,extraction des regis
Exécution,
Accès mémoire outerminaison d’une instructionde type R
Ecriture arrière
Action pour les types R
SortieUAL = A op B
Reg[RI[15-11]] = SortieUAL
RI = Mem[CP]CP=CP+4
A=Reg[RI[25-21]]B= Reg[RI[20-16]]
Contrôle 12
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à lire
0
1
0
1
0
1
1
Ins 31-0
Ins 31-26
Ins 26-21
Ins 20-16
Ins 15-11
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
Exécution d’un type R $1=$2+$3
31-26 25-21 20-16 15-11 10-6 5-0decval fonct1320
Contrôle 13
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à lire
0
1
0
1
0
1
1
Ins 31-0
Ins 31-26
Ins 26-21
Ins 20-16
Ins 15-11
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
4
C
CP+4
31-26 25-21 20-16 15-11 10-6 5-0decval fonct1320
Contrôle 14
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à lire
0
1
0
1
0
1
1
Ins 31-0
Ins 31-26
Ins 26-21
Ins 20-16
Ins 15-11
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
4
C
31-26 25-21 20-16 15-11 10-6 5-0decval fonct1320
Contrôle 15
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à lire
0
1
0
1
0
1
1
Ins 31-0
Ins 31-26
Ins 25-21
Ins 20-16
Ins 15-11
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
4
C
31-26 25-21 20-16 15-11 10-6 5-0decval fonct1320
Contrôle 16
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.0
1
0
1
0
1
1
Ins 31-0
Ins 15-11
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
C
Décodage
Don.à Ecrire
Code_op
2
3
1
32
$2
$3
32 31-26 25-21 20-16 15-11 10-6 5-0
decval fonct1320
Contrôle 17
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à lire
0
1
0
1
0
1
1
Ins 31-0
Ins 31-26
Ins 26-21
Ins 20-16
Ins 15-11
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
C
$2+$3
31-26 25-21 20-16 15-11 10-6 5-0decval fonct1320
Contrôle 18
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.0
1
0
1
0
1
1
0
Ins 31-0
Ins 31-26
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
C
Don.à Ecrire
$2+$3
1
31-26 25-21 20-16 15-11 10-6 5-0decval fonct1320
Contrôle 19
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.0
1
0
1
0
1
1
0
Ins 31-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
Récapitulatif : En un seul cycle
C
Don.à Ecrire
0
2
3
1
32
$2
$3
$2+$3
$2+$3
$2+$3
CP+4
31-26 25-21 20-16 15-11 10-6 5-0decval fonct1320
Contrôle 20
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.0
1
0
1
0
1
1
0
Ins 31-0
SC.ALU
0
Don.à ecr.
Ad. ecr.Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
Récapitulatif : En un seul cycle
C
Don.à Ecrire
0
2
3
1
32$2+$3
$2+$3
$2+$3
CP+4
Contrôle 21
La fonction contrôle
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
OP5
OP4
Op3
Op2
Op1
Op0
RegDst
UALSrc
MemversReg
EcrireReg
LireMem
EcrireMem
Branchement
UALOp1
UALOp0
Entrées
SortiesFor
mat
R
Contrôle 22
Résumé des étapes suivies pour les divers types
Nom de l’étape
Extraction del’instruction
Décodage de l’instruction,extraction des regis
calculd’adresses ou branchement
Accès mémoire outerminaison d’une Instruction de type R
Ecriture arrière
Action pour lesREF mémoire
RI = Mem[CP]CP=CP+4
A=Reg[RI[25-21]]B= Reg[RI[20-16]]Dest=CP+(ext-signe(RI[15-0])<<2)
SortieUAL=A+ext-sig([15-0])
donnée-mémoire=Mem[SortieUAL] ouMem[sortieUAL] =B
Reg[RI[20-16]]=donnée-mém
Contrôle 23
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à lire
0
1
0
1
0
1
Ins 31-0
Ins 31-26
Ins 25-21
Ins 20-16
Ins 15-11
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
1
Instruction de Chargement lw $1,100($2)
1001235
31 2625 21 20 16 15 0
Contrôle 24
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à lire
0
1
0
1
0
1
Ins 31-0
Ins 31-26
Ins 26-21
Ins 20-16
Ins 15-11
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
4
C
CP+4
Contrôle 25
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à lire
0
1
0
1
0
1
Ins 31-0
Ins 31-26
Ins 26-21
Ins 20-16
Ins 15-11
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
4
C
Contrôle 26
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.0
1
0
1
0
1
Ins 31-0
Ins 15-11
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
C
Don.à Ecrire
35
2
1
100
$2
100(32)
1001235
31 2625 21 20 16 15 0
Contrôle 27
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à lire
0
1
1
0
1
Ins 31-0
Ins 31-26
Ins 26-21
Ins 20-16
Ins 15-11
Ins 15-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
0
1
C
$2+100
Ad. lec. V
Contrôle 28
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
1
1
0
1
Ins 31-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
C
Don.à Ecrire V1
V
Contrôle 29
Récapitulatif : en un seul cycle
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à Ecrire
0
1
1
0
1
Ins 31-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
C35
2
1
100
V
$2
100
$2+100
V
Contrôle 30
Les signaux non sélectionnés
Mémoired'instructions
adresse à lire
Reg.lect.1
R.D.1
R.D.2
Reg.lect.2
Reg.Ecr.
Don.à Ecrire
0
1
1
0
1
Ins 31-0
Ins 5-0
16 32S
C.ALU
0
Don.à ecr.
Ad. ecr.
Ad. lec.
Don. lue
ADD
ALU
DADD
CP
RegDest
Branchement
LireMem
MemversReg
ALUop
EcriMem
ALUSrc
EcrireReg
C35
2
1
100
V
$2
100
$2+100
V
Contrôle 31
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
OP5
OP4
Op3
Op2
Op1
Op0
RegDst
UALSrc
MemversReg
EcrireReg
LireMem
EcrireMem
Branchement
UALOp1
UALOp0
Entrées
SortiesFor
mat
RLW
Contrôle 32
Résumé des étapes suivies pour les divers types
Nom de l’étape
Extraction del’instruction
Décodage de l’instruction,extraction des regis
Exécution, calculd’adresses ou branchement
Accès mémoire outerminaison d’une instructionde type R
Ecriture arrière
Action pour les types R
SortieUAL = A op B
Reg[RI[15-11]] = SortieUAL
Action pour lesREF mémoire
RI = Mem[CP]CP=CP+4
A=Reg[RI[25-21]]B= Reg[RI[20-16]]Dest=CP+(ext-signe(RI[15-0])<<2)
SortieUAL=A+ext-sig([15-0])
donnée-mémoire=Mem[SortieUAL] ouMem[sortieUAL] =B
Reg[RI[20-16]]=donnée-mém
Action pour lesbranchements
if(A=B) thenCP = Dest
Contrôle 33
La fonction de contrôle
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
0
0
1
0
1
0
1
1
x
1
x
0
0
1
0
0
0
0
0
0
1
0
0
x
0
x
0
0
0
1
0
1
1
OP5
OP4
Op3
Op2
Op1
Op0
RegDst
UALSrc
MemversReg
EcrireReg
LireMem
EcrireMem
Branchement
UALOp1
UALOp0
Entrées
Sorties
Form
at R
LW SW Beq
Elle est complètement définie par la table de vérité
Contrôle 34
Mise en oeuvre du contrôle
Sorties
RegDstUALSrcMemversRegEcrireReg
LireMemEcrireMemBranchementUALOp1UALOp0
format R lw sw beq
EntréesOp5
Op4Op3
Op2Op1
Op0