Vous êtes sur la page 1sur 49

La fonction dexcution

CPU, Mmoire

La couche microarchitecture
Niveau 5

Couche des langages dapplication


Traduction (compilateur)

Niveau 4

Couche du langage dassemblage


Traduction (assembleur)

Niveau 3

Couche du systme dexploitation


Interprtation partielle (systme
dexploitation)

Niveau 2

Couche architecture du jeu dinstructions


(couche ISA)

Interprtation (microprogramme)
ou excution directe

Niveau 1

Couche microarchitecture
Matriel

Niveau 0

Couche logique numrique

La couche microarchitecture
Des fonctions logiques volues sont
interconnectes :

Registres
Contrleur
Unit Arithmtique et logique

Couche suprieures : ISA (jeu


dinstructions)
Couche infrieure : Logique numrique
3

CPU: Structure
Dans les ordinateurs rels, le jeu dinstructions est
encod en binaire et la logique cble remplace le LM

CU (Control Unit) contrle, interprte les instructions, lit le compteur


dinstructions et fait la squence dactions correspondantes au cycle
Fetch/Execute
ALU + CU = CPU (Central Processing Unit)

Little Man Computer

CPU & Registres


Excute les instructions machines places en
mmoire centrale
Est constitu de quatre parties

Lunit arithmtique et logique (UAL)

Les registres

Zones de mmorisation de linformation internes au


microprocesseur

Lunit de commande (CU control unit)

Excution de tous les calculs de microprocesseur

Excute les instructions machines en utilisant les registres et


lUAL

Le bus de communication interne

Registres LMC
Zones de mmorisation de linformation
internes au microprocesseur
Registres spcifiques:
2 registres pour la manipulation des instructions

PC (le compteur ordinal)


IR (le registre dinstruction)

2 registres permettant la communication avec les


autres modules via le bus

MAR (le registre dadresses)


MDR (le registre de donnes)

Registres gnraux

Un seul registre : Acc (accumulateur)

Compteur de programme ( PC )
Cest un registre dadresses.
Contient ladresse de la prochaine instruction
excuter.
Incrment aprs lexcution de chaque instruction.
Peut tre chang lors de lexcution: instruction
jump.
Initialiser zro ou reset au dbut.
8

Le registre dinstruction ( IR )
Cest un registre de donnes. Il contient une
instruction excuter.

Op Code
Type de traitement raliser
ADD 99:

Adresse
Localisation des donnes
1 99
9

Registre dadresses (MAR)


Contient ladresse du mot mmoire. Cette
adresse est place sur le bus dadresses et devient
la valeur dentre du circuit de slection qui va
partir de cette entre slectionner le mot
correspondant.

Registre de donnes (MDR)


Il permet lchange dinformations
(contenu dun mot mmoire) entre la mmoire
centrale et le processeur (registre)
10

Accumulateur

Registre (ou lensemble de registres) utilis pour la


manipulation des donnes.
Dhabitude contient les rsultats des oprations
arithmtiques ou logiques.

11

Opration de la mmoire
Une unit Mmoire consiste en un ensemble
de cellules de stockage possdant une
adresse propre et pouvant stocker une
valeur binaire
MAR registre contenant ladresse de la
mmoire o sera stocke la donne
MDR registre contenant la
donne/Instruction a tre stocke/lu

12

Mmoire et les registres MDR &


MAR
Adresse

Copyright 2010 John Wiley & Sons, Inc.

Donne

7-13
13

Exemple MAR-MDR

Copyright 2010 John Wiley & Sons, Inc.

7-14
14

Analogie visuelle

Copyright 2010 John Wiley & Sons, Inc.

7-15
15

Cellule mmoire

Copyright 2010 John Wiley & Sons, Inc.

7-16
16

Capacit Mmoire
Dtermine par deux facteurs:
1. Nombre de bits dans MAR

LMC = 100 (00 to 99)


Nombre dadresses mmoires pouvant tre
dcodes

2. Taille du champs adresse dans


linstruction

4 bits permet 16 locations


8 bits permet 256 locations
32 bits permet 4,294,967,296 ou 4 GB
17

Lexcution dune instruction


Lexcution dune instruction implique:
Le microprocesseur

Registres
UAL
Unit de commande
Bus interne

Le bus de communication
mmoire/microprocesseur
La mmoire centrale
18

Lexcution dune instruction


Excuter une instruction quivaut
permettre des interactions efficaces
entre ces trois composants
Microprocesseur
Le bus de communication
mmoire/microprocesseur
La mmoire centrale

19

Registres CPU LMC


Compteur de programme ( PC )
Registre dinstruction ( IR )
Registre dadresses ( MAR )

Mmoire

Registre de donnes ( MDR )


Accumulateur ( A or Acc )
kc

20

Little Man vs CPU


Cycle Fetch-Execute
LM lit le compteur
de programme
Aller au tiroir
correspondant
lire linstruction:
STORE
Lire un champ doprande
de linstruction
crire la valeur de l'unit
de calcul sur un papier

PC -> MAR

MDR -> IR

IR[adr] -> MAR

A -> MDR

Mettre le papier dans


le tiroir
Incrmenter (faire +1) le
compteur de programme.

PC +1-> PC

21

Cycle dinstruction: Fetch-Execute

06

LDA 15
515

A M[15]

22

Fetch
Cest la phase de recherche et de
chargement de linstruction, pointe par
le compteur de programme PC dans le
registre instruction IR
Le contenu du PC est plac dans le
registre dadresses MAR

Laccs mmoire

Placer le contenu du registre MDR dans le


registre IR
23

PC -> MAR
99

PC:

06

IR: (prcdant)
MAR: 06

15:

10

06:
0

515

MDR: (prcdant)
A:

(prcdant)

kc

24

Laccs mmoire ladresse 06


99

PC:

06

IR:

(prcdant)

MAR: 06

15:

10

06:

515

MDR: (prcdant)
A:

(prcdant)

kc

25

Le contenu M[06] dans MDR:


99

PC:

06

IR:

(prcdant)

MAR: 06

15:

10

06:

515

MDR: 515
A:

(prcdant)

kc

26

MDR -> IR
99

PC:

06

IR:

515

MAR: 06

15:

10

06:

515

MDR: 515
A:

(prcdant)

0
27

Execute
Analyse de linstruction
Lunit de commande dclenche la
squence de micro-instructions
ncessaires la ralisation de
linstruction
Incrmenter le compteur de programme
Dpend de linstruction
On continue lexemple : LDA 15
28

IR [ partie adresse ] -> MAR


99

PC:

06

IR:

515

MAR: 15

15:

10

06:

515

MDR: 515
A:

(prcdant)

0
29

LOAD =>M[15] = 10 =>MDR


99

PC:

06

IR:

515

MAR: 015

15:

10

06:

515

MDR: 515
A:

(prcdant)

0
30

MDR = 10
99

PC:

06

IR:

515

MAR: 015

15:

10

06:

515

MDR: 10
A:

(prcdant)

0
31

IR [op code] sexcute: MDR -> A


99

PC:

06

IR:

515

MAR: 15

15:

10

06:

515

MDR: 10
A:

10

0
32

PC + 1 -> PC
99

PC:

07

IR:

515

MAR: 15

15:

10

06:

515

MDR: 10
A:

10

0
33

Fin !
99

PC:

07

IR:

515

MAR: 15

15:

10

06:

515

MDR: 10
A:

10

0
34

Fetch-Execute Cycle de linstruction Load

PC -> MAR

MDR -> IR

IR(adresse) -> MAR

MDR -> A

PC + 1 -> PC

35

Fetch-Execute Cycle de linstruction ADD

Maintenant:
07 ADD 18
M[18] = 71, le reste est le mme

36

PC -> MAR
99

PC:

07

IR:

515

MAR: 07
MDR: 10
A:

10

18: 71
15: 10

07: 118
06: 515
0
37

MAR accde ladresse 7


99

PC:

IR:

515

MAR: 7
MDR: 10
A:

10

18: 71
15: 10

07: 118
06: 515
0
38

Contenu de M[7] -> MDR


99

PC:

IR:

515

MAR: 7
MDR: 118
A:

10

18: 71
15: 10

07: 118
06: 515
0
39

MDR -> IR
99

PC:

IR:

118

MAR: 7
MDR: 118
A:

10

18: 71
15: 10

07: 118
06: 515
0
40

IR [adresse] -> MAR


99

PC:

IR:

118

MAR: 18
MDR: 118
A:

10

18: 71
15: 10

07: 118
06: 515
0
41

M[MAR] accd
99

PC:

IR:

118

MAR: 18
MDR: 118
A:

10

18: 71
15: 10

07: 118
06: 515
0
42

M [18] -> MDR


99

PC:

IR:

118

MAR: 18
MDR: 71
A:

10

18: 71
15: 10

07: 118
06: 515
0
43

IR [opcode] excut: A = A + MDR


99

PC:

IR:

118

MAR: 18
MDR: 71
A:

81

18: 71
15: 10

07: 118
06: 515
0
44

PC = PC + 1
99

PC:

IR:

118

MAR: 18
MDR: 71
A:

81

18: 71
15: 10

07: 118
06: 515
0
45

Fetch-Execute Cycle de linstruction ADD

PC -> MAR

MDR -> IR

IR(address) -> MAR

A + MDR -> A

PC + 1 -> PC

46

Fetch-Execute Cycle de linstruction STORE

PC -> MAR

MDR -> IR

IR(address) -> MAR


A -> MDR
PC + 1 -> PC

47

LMC Fetch/Execute
SUB

IN

OUT

HLT

PC MAR

PC MAR

PC MAR

PC MAR

MDR IR

MDR IR

MDR IR

MDR IR

IR[adr] MAR

IOR A

A IOR

A MDR A

PC + 1 PC

PC + 1 PC

PC + 1 PC
BR

Branchement conditionnel

PC MAR

PC MAR

MDR IR

MDR IR

IR[adr] PC

Si la condition est faux: PC + 1 PC


Si la condition est vrai: IR[adr] PC
48

LMC, la couche microarchitecture

49