les registres 3 mar mdr pc mbr sp lv cpp tos opc h addr alu jm 4 to 16 decoder high bit c b...

Post on 03-Apr-2015

107 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Les Registres 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

MAR, MDR, PC, MBR, SP, LV, CPP, TOS, OPC,H

sont des registres 32 bits

Les Registres 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

MAR, MDR, PC, MBR permettent l’accès à la mémoire de l’ordinateur

Les Registres 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

MAR (Memory Address Register) Contient une adresse de word

Les Registres 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

MDR (Memory Data Register) Contient une donnée.Les données avant d’arrivées dans ce registre nécessites 1 cycle entier.

Les Registres 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

PC (Program counter)Conteur de programme

Les Registres 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

MBR(Memory Buffer Register)Contient un word (4 bytes)Lecture d’un byte à la foisLes données avant d’arrivées dans ce registre nécessites 1 cycle entier.

D’un langage haut niveaux a un flux de bytes

A=3+1B=4+5C=A+B

Langage de programmation

BIPUSH 3 #A=3+1BIPUSH 1IADDISTORE ABIPUSH 4 #B=4+5BIPUSH 5IADDISTORE BILOAD A #C=A+BILOAD BIADDISTORE C

Jeux d’instructions de la machine Traduction en hexa

0x10 0x03 #A=3+10x10 0x010x600x36 0x010x10 0x04 #B=4+50x10 0x050x600x36 0x020x15 0x01 #C=A+B0x15 0x020x600x36 0x03

Les Registres 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

H unique registre permettantà l’ALU de faire des opérationsBinaires (Ex + ,- )

Les Registres 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Registre qui simule la pile de donnée.

Les Registres 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

SP contient un pointeur du dernier élément empilé

1

41

54

LV

SP

TOS

Les Registres 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

LV contient un pointeur du premier élément empilé

1

41

54

LV

SP

TOS

Les Registres 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

TOS (Top Of Stack)contient la valeur du dernier élément empilé

1

41

54

LV

SP

TOS

ALU 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

F0 F1 ENA ENB INVA INC Function

0 1 1 0 0 0 A

0 1 0 1 0 0 B

0 1 1 0 1 0 /A

1 0 1 1 0 0 /B

1 1 1 1 0 0 A+B

1 1 1 1 0 1 A+B+1

1 1 1 0 0 1 A+1

1 1 0 1 0 1 B+1

1 1 1 1 1 1 B-A

1 1 0 1 1 1 B-1

1 1 1 0 1 1 -A

0 0 1 1 0 0 A and B

0 1 1 1 0 0 A or B

0 1 0 0 0 0 0

0 1 0 0 0 1 1

0 1 0 0 1 0 -1

ALU 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Permet de décaler de deux bits vers la gauche.

Ce qui permet de convertir simplement

des adresses de words en adresses de bytes.

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Le contrôleur est une sorte de policier

qui va réguler la circulation dans

toute cette architecture

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Le contrôler est une sorte de policier qui

va réguler la circulation dans

toute cette architecture

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Le controler décide quelles opérations

doivent être effectuées

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Le controler décide quelles opérations

doivent être effectuées

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Le controler régule cette circulation à

l’aide de « robinets » qui

permette à l’information de

passer ou de ne pas passer

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Le controler régule cette circulation à

l’aide de « robinets » qui

permette à l’information de

passer ou de ne pas passer

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Le controler régule cette circulation à

l’aide de « robinets » qui

permette à l’information de

passer ou de ne pas passer

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Next_Adress : 8 bits indique la prochaine

micro-instruction

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Indique la future micro-

instruction à exécuter

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Détermine de la prochaine micro-instructions

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

ALU / SHIFTER : 8 bits indique l’opération à effectuer

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

BUS C :9 bits indique dans quel(s) registre(s) le Bus C doit écrire

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

MEMOIRE :3 bits indique l’opération de la mémoire Read ,Write,Fetch

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

Opérations mémoireRD : Read (MDR)

WR: WriteFetch :Read (MBR)

Contrôler 3

MAR

MDR

PC

MBR

SP

LV

CPP

TOS

OPC

H

Addr AluJ M

4 to 16 Decoder

High Bit

C B

Controler

MPC

ALU

4

9

8

2

2

6

8

B Bus

C Bus

Memory control signals (rd,wr,fetch)

N

Z

MIRJMPC

JAMN/JAMZ

Shifter

BUS B :4 bits Indique quel registre doit être lu

Controler suite

Next_Adress8 bits

JAM3 bits

ALU8 bits

Bus C9 bits

Mémoire

3 bits

Bus B4 bits

JMPC

JAMN

JAMZ

SLL8

SRA1

F0 F1 ENA

ENB

INVA

INC

H OPS

TOS

CPP

LV

SP

PC

MDR

MAR

WRITE

READ

FETCH

Notation des micro-instructions

• Une simplification– SP=SP+1 ;rd; goto label;

• Les simplifications consistes – Utilisation du symbole égal– Utilisation de label au lieu d’adresse.

• Une micro instructions :

Next_Adress8 bits

JAM3 bits

ALU8 bits

Bus C9 bits

Mémoire

3 bits

Bus B4 bits

JMPC

JAMN

JAMZ

SLL8

SRA1

F0 F1 ENA

ENB

INVA

INC

H OPS

TOS

CPP

LV

SP

PC

MDR

MAR

WRITE

READ

FETCH

0x7A 0 0 0 0 0 1 1 0 1 0 10 0 0 0 0 1 0 0 0 0 1 0 0x06

top related