les registres 3 mar mdr pc mbr sp lv cpp tos opc h addr alu jm 4 to 16 decoder high bit c b...
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