34
Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entré es Contrôle Sorti es

Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

Embed Size (px)

Citation preview

Page 1: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

Contrôle 1

Mise en place du contrôle

Chemin de données

Mémoire

EntréesContrôle

Sorties

Page 2: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrô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.

Page 3: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 4: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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.

Page 5: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

Contrôle 5

Contrôle de l'UAL

PLAPLA

Champ Fonct

Contrôle Code-op

UALOp

Entrée de contrôle

de l'UAL

Page 6: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 7: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 8: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 9: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 10: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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…

Page 11: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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]]

Page 12: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 13: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 14: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 15: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 16: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 17: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 18: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 19: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 20: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 21: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 22: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 23: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 24: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 25: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 26: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 27: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 28: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 29: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 30: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 31: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 32: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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

Page 33: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

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é

Page 34: Contrôle 1 Mise en place du contrôle Chemin de données Mémoire Entrées Contrôle Sorties

Contrôle 34

Mise en oeuvre du contrôle

Sorties

RegDstUALSrcMemversRegEcrireReg

LireMemEcrireMemBranchementUALOp1UALOp0

format R lw sw beq

EntréesOp5

Op4Op3

Op2Op1

Op0