Vous êtes sur la page 1sur 71

Introduction au

microprocesseur
Du data-flot
au
micro-programm
(microprocesseur)
1

Solutions numriques
1- Dfinition du problme
2- Conception dune solution
VHDL
Schma ?
Autres :

3456-

Ralisation
Vrification
etc.
etc.
2

Logique cble
Toute ralisation dun circuit
spcifique une fonction
Circuit intgr spcifique
Circuit programmable
Etc.
=> logique cble
hardwired
Cble en dur

Calcul data flot en logique cble

Fonction

PC Linux i7

ARM 11

FPGA

FPGA effectif

Matching 3D
partir de 2
images HD

34 s

246 s

32 ms

192 ms

Limites de la logique cble


Modification fonction =>
recommencer conception-ralisation
Fonctions ne peut tre modifie
instantanment

Rutilisation de ressources
Peu, sinon conception trop complique
Extension en surface silicium
Nest pas infinie !

Rutiliser la logique
Entity
end
Architecture
Begin
S1 = a and b;
S2 = c and d;

End titi;

2 and en VHDL => 2


portes et ralises
Comment rutiliser les
ressources ?

a
b

s1

c
d

s2

Rutilisation de Ressources

Raliser un
additionneur
n bits
Bien
loptimiser

Additionneur

s
8

a+b
a

b
B

Positionner
les entres
A et B fil par
fil !
Recueillir
Sortie S

Additionneur

s
9

a+b+c?
a

a+b+c?

b
B

Soit utiliser
un deuxime
additionneur

Additionneur
s

Additionneur
s

10

a + b + c ?!

A et B, et
rcuprer S,
puis appliquer C
et s, et rcuprer
S finale

Soit utiliser un seul


additionneur, et
appliquer
successivement :

Mais il faut
mmoriser S
entre temps

Additionneur

11

a + b + c ?!

A et B, et
rcuprer S,
puis appliquer c
et s, et rcuprer
s finale

Soit utiliser un seul


additionneur, et
appliquer
successivement :

Mais il faut
mmoriser s
entre temps

Additionneur

CK3
OE3

R3

12

Squence
1ere tape
2e tape

A + B et S dans un
registre
S dans R3

3e tape

Additionneur

R3 sur R2

S dans R3

5e tape

4e tape
CK3
OE3

R3

Fin calcul
13

Diagramme dtats

Additionneur

CK3
OE3

R3

14

Machine tats
Modlisation en
VHDL
Ralisation directe
en silicium
Pas de composants
programmables

15

Rutilisation de ressources
B

On a donc rutilis
ladditionneur

Additionneur

CK3
OE3

R3

16

Comparaison 2 solutions
B

Additionneur
Additionneur

s
s

CK3
OE3

R3

Additionneur
s

Cot en portes logiques pour chacune ?


17

Cot de rutilisation de ressources


La rutilisation de ressources
Trs efficace mais
Peut avoir un cot supplmentaire
ressources de synchronisation
Ressources de stockage temporaire

Ressources mesures en
quivalent portes logiques deux
entres
Exemple additionneur complet 1 bit
4 portes
18

Multiplication (*)
Difficile concevoir
Surtout pour 16 bits * 16 bits = 32 bits !
Ou 32 * 32 = 64 bits !

2 solutions :
1- Table de vrit gante
16 bits * 16 bits
2^16 * 2^16 lignes dans la table !!

2- a * b = a + a, b fois
6*4=6+6+6+6
*remarque TP multiplieur
19

Ralisation dune multiplication


Intgrer

Multiplieur

Former une
nouvelle unit
Unit
Arithmtique

Additionneur
squentiel
Multiplieur
squentiel

CK3
OE3

R3

20

Ralisation dune multiplication


R1 : Nombre
dadditions

Multiplieur

CK3
OE3

R3

21

Rutilisation de ressources
On a donc rutilis
ladditionneur
Mais on doit
fournir :
Mul = 1, Signal qui
dmarre la
squence
a et b

On appellera ces
lments
une instruction
22

Terminologie
Micro-squence
La machine
tats qui ralise
linstruction

Les oprandes
A et B
Instruction
MUL = 1

23

Bloc arithmtique multifonction


Non seulement
additionneur
B

Unit Arithmtique
Et Logique
s

Mais
additionneur,
soustracteur,
dcalage, etc. Fonction
Slection de la
fonction par des
CK3
lignes de
OE3
fonction

R3

24

Unit Arithmtique et Logique

Fonctions
+-/

Symbole exacte
dune UAL

UAL
S
25

Cur (noyau) du Microprocesseur


B

A
Fonctions
+-/

UAL
S

Noyau
Du
Microprocesseur

26

Rsumons
On a ralis le cur dun processeur,
comprenant
un multiplieur a*b
base dun seul additionneur

Un additionneur a + b
base du mme additionneur

Les machines tats et compteurs


ncessaires pour les micro-squences
Les registres temporaires ncessaires

27

Micro-squence en Machine tats

CK
D

UAL

A
Fonctions
+-/

CK
Q

CK

28

Format instruction
Code binaire
11001001001001001001010 = $4E1F ?
Adresse
Microsquence

Registres

Mnmonique
MUL R1,R2

(R1 * R2 -> R2)

R1 : source, R2 : destination

MUL #12,R1

(12* R1 -> R1)

12 source = valeur directe, R1 destination

29

Squence dclenche par une instruction


Synonymes
Micro-code
Micro-squence
Micro-programme

La squence est :
Cble
machine tats en logique (bascule D,
logique transitions, logiques sorties)

30

Rsumons
Le noyau du microprocesseur est
:
B

A
Fonctions
+-/

UAL
S
31

Comment prsenter les instructions

A
Fonctions
+-/

UAL

32

Comment prsenter les instructions


Elles seront stockes en mmoire
RAM externe
1 0 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0 0
B

A
Fonctions
+-/

UAL

33

Rajouter compteur dadresse dinstruction

UAL

Compteur
Dadresse
dinstruction

A
Fonctions
+-/

34

Rajouter registre instruction

Fonctions
+-/

UAL

Compteur
Dadresse
dinstruction

R
E
G
I
S
T
R
E

35

Rajouter dcodeur dinstructions

Fonctions
+-/

UAL

Compteur
Dadresse
dinstruction

D
E
C
O
D
A
G
E

I
N
S
T
R
U
C
T
I
O
N
S

R
E
G
I
S
T
R
E

36

Interface externe

D
E
C
O
D
A
G
E

I
N
S
T
R
U
C
T
I
O
N
S

Bus de donnes
D7 D0

R
E
G
I
S
T
R
E

Fonctions UAL
+-/

Bus dadresse
A9 A0

Compteur
Dadresse
dinstruction

37

Interface mmoire processeur


D7

D0

D
E
C
O
D
A
G
E

I
N
S
T
R
U
C
T
I
O
N
S

R
E
G
I
S
T
R
E

Fonctions UAL
+-/

Compteur
Dadresse
dinstruction

A9

A0
38

Animation cycle processeur


http://www.youtube.com/watch?v=te
5Xe3TgPC4

39

Interface mmoire processeur


D7

D0

D
E
C
O
D
A
G
E

I
N
S
T
R
U
C
T
I
O
N
S

R
E
G
I
S
T
R
E

Fonctions UAL
+-/

Compteur
Dadresse
dinstruction

A9

A0
/MR
/MW

40

Rajouter logique de contrle

Logique
de
contrle

Fonctions
+-/

UAL

Compteur
Dadresse
dinstruction

D
E
C
O
D
A
G
E

I
N
S
T
R
U
C
T
I
O
N
S

R
E
G
I
S
T
R
E

41

Rajouter registres internes


Registre interne
Registre interne
B

D
E
C
O
D
A
G
E

I
N
S
T
R
U
C
T
I
O
N
S

R
E
G
I
S
T
R
E

Registre interne
Registre interne

Fonctions
+-/

UAL

Compteur
Dadresse
dinstruction
Logique
de
contrle

42

Rajouter registres temporaires


Registre temporaire
Registre temporaire
B

Registre temporaire
Registre temporaire
Registre interne
Registre interne
Registre interne
Registre interne

Fonctions
+-/

UAL

Compteur
Dadresse
dinstruction

D
E
C
O
D
A
G
E

I
N
S
T
R
U
C
T
I
O
N
S

R
E
G
I
S
T
R
E

Logique
de
contrle

43

Un microprocesseur !

Registre temporaire
B

D
E
C
O
D
A
G
E

I
N
S
T
R
U
C
T
I
O
N
S

R
E
G
I
S
T
R
E

Registre temporaire

Registre temporaire

Registre temporaire

Fonctions
+-/

UAL

Registre interne

Compteur
Dadresse
dinstruction

Registre interne
Registre interne
Registre interne

Logique
de
contrle

44

Modle Von Neuman

Registre temporaire
B

D
E
C
O
D
A
G
E

I
N
S
T
R
U
C
T
I
O
N
S

R
E
G
I
S
T
R
E

Registre temporaire

Registre temporaire

Registre temporaire

Fonctions
+-/

UAL

Registre interne

Compteur
Dadresse
dinstruction

Mmoire dinstructions
et de donnes

Registre interne
Registre interne
Registre interne

Logique
de
contrle

45

Solutions numriques
Solutions
numriques

Solutions
cbles

Circuit
spcifique

Circuit
programmable

Solutions
programmes

microprocesseur

Modlisation
VHDL

Programmation
Assembleur,
langage info

Synthse

Compilation

microcontrleur

46

Famille x86
Introduction

47

Interface mmoire processeur


RAM, ROM, etc.

Architecture x86
Format instruction
Exemple dinstruction

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71