Beruflich Dokumente
Kultur Dokumente
Pr requis
1.
2.
3.
4.
5.
6.
Systmes de numration
Codage de linformation
Algbre de Boole
Logique combinatoire
Logique squentielle
Les instructions : le langage de
lordinateur
1. Systmes de numration
A.
B.
C.
D.
E.
Bases de numration
Rgles de conversion
Nombres entiers signs
Nombres rels
Addition
A. Bases de numration
i.
ii.
iii.
iv.
Systme
Systme
Systme
Systme
10 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Poids positionnels : la valeur du nombre dpend de la
position des chiffres
N chiffres codent 10N nombres.
Symbole,
Chiffre,
Digit
103
102
101
100
Poids fort
10-1
10-2
10-3
Nombre dcimal
Bourguiba Riad - ENIT 2006 - Microprocesseurs
Poids faible
A. Bases de numration
i.
ii.
iii.
iv.
Systme
Systme
Systme
Systme
23
22
21
20
2-1
2-2
2-3
Nombre binaire
Bourguiba Riad - ENIT 2006 - Microprocesseurs
A. Bases de numration
i.
ii.
iii.
iv.
Systme
Systme
Systme
Systme
16 symboles : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Utilis par les ingnieurs pour manipuler plus facilement
de longues suites binaires
N chiffres codent 16N nombres
23
22
21
20
9
160
2-1
2-2
2-3
6
16-1
A. Bases de numration
i.
ii.
iii.
iv.
Systme
Systme
Systme
Systme
10
8 symboles : 0,1,2,3,4,5,6,7
Utilis lorsque la nature du problme se prte mieux un
regroupement par trois bits
N chiffres codent 8N nombres
23
22
21
20
81
80
2-1
2-2
2-3
3
8-1
11
1. Systmes de numration
A.
B.
C.
D.
E.
Bases de numration
Rgles de conversion
Nombres entiers signs
Nombres rels
Addition
12
B. Rgles de conversion
i.
ii.
iii.
iv.
v.
13
Binaire
(Base 2)
s
tile
inu
inu
t ile
s
Dcimal
(Base 10)
Hexadcimal
(Base 16)
Octal
(Base 8)
14
B. Rgles de conversion
i.
ii.
iii.
iv.
v.
15
Exemple :
(96,775)10 = (1100000, 1100011...)2
Partie entire
Partie dcimale
16
48 /2 = 24
24 /2 = 12
12 /2 = 6
6 /2 = 3
3 /2 = 1
1 /2 = 0
Condition
darrt
(96)10 = (1100000)2
MSB
0
LSB
17
(0,775)10 = (0,1100011...)2
MSB
0,
LSB
0,775 2 = 1 ,55
0,55 2 = 1 ,1
0,1
2 = 0 ,2
0,2
2 = 0 ,4
0,4
2 = 0 ,8
0,8
2 = 1 ,6
0,6
2 = 1 ,2
Arrt lorsquon atteint zro
ou quon a assez de chiffres aprs la virgule
Bourguiba Riad - ENIT 2006 - Microprocesseurs
18
B. Rgles de conversion
i.
ii.
iii.
iv.
v.
19
Exemple :
(10111,01011)2 =
20
B. Rgles de conversion
i.
ii.
iii.
iv.
v.
21
Table de correspondance
0000
0001
0010
0011
0100
0101
0110
0111
0
1
2
3
4
5
6
7
1000
1001
1010
1011
1100
1101
1110
1111
8
9
A
B
C
D
E
F
22
Exemple :
(1101110)2 =>
0110 1110
6
=> (6E)16
23
B. Rgles de conversion
i.
ii.
iii.
iv.
v.
24
Table de correspondance
Dcimal Binaire
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
Octal
0
1
2
3
4
5
6
7
25
Exemple :
(1101110)2 =>
=> (156)8
26
1. Systmes de numration
A.
B.
C.
D.
E.
Bases de numration
Rgles de conversion
Nombres entiers signs
Nombres rels
Addition
27
Notation signe-grandeur
Notation en complment 1
Notation en complment 2
28
i. Notation signe-grandeur
m
N bits
29
i. Notation signe-grandeur
Avantages :
Inconvnients :
30
Notation signe-grandeur
Notation en complment 1
Notation en complment 2
31
m
N bits
32
001 0111
0.(-27) +0.26+0.25+1.24+0.23+1.22+1.21+1.20 = 23
33
110 1000
34
000 0000
= -127
111 1111
= +127
35
Avantages :
Inconvnients :
36
Notation signe-grandeur
Notation en complment 1
Notation en complment 2
37
38
Algorithme 1 :
Pour calculer loppos dun nombre, on inverse tous les bits,
puis on ajoute 1.
Exemple :
(82)10 = (0101 0010)2 =>
1010 1101
+
1
(1010 1110)2 = (-82)10
Indique le signe
(0 : positif, 1 : ngatif)
Bourguiba Riad - ENIT 2006 - Microprocesseurs
39
Algorithme 2 :
Pour calculer loppos dun nombre, on parcoure le
nombre binaire de la droite vers la gauche. On
recopie tous les bits jusquau premier 1 inclus, puis
on inverse les bits suivants.
Exemple :
(58)10 = (0011 1010)2 => (1100 0110)2 = (-58)10
Bourguiba Riad - ENIT 2006 - Microprocesseurs
40
...
127
...
127
128
...
-128 ...
255
-1
41
1. Systmes de numration
A.
B.
C.
D.
E.
Bases de numration
Rgles de conversion
Nombres entiers signs
Nombres rels
Addition
42
D. Nombres rels
Limitation n1 :
Exemple :
32 bits
[-65536;65535]
43
D. Nombres rels
Limitation n2 :
Exemples :
OK
(0,5)10
=> (0,1)2
!!!
(0,3)10
=> (0,01001...)2
44
D. Nombres rels
45
D. Nombres rels
Elle dfinit
Notation scientifique
Mantisse
Exposant
: 2.415068 108
: 2.415 068
:8
46
D. Nombres rels
8 bits
23 bits
47
D. Nombres rels
S Exposant (E) Mantisse ou Fraction(F)
S : 0 si positif, 1 si ngatif
127
128 ...
255
code utilis
-126 ...
1 ...
128
valeur de lexposant
conomie de 1 bit
48
D. Nombres rels
Signe
Il est zro puisque le nombre est considr positif.
Normalisation
1011010010001 = 1,011010010001 212
Exposant
E=12+127=139 => 10001011
Mantisse
M= 1,011010010001 => 1,011010010001
Rsultat
1000 1011
49
D. Nombres rels
10010001
Nombre =
=
=
=
50
D. Nombres rels
Notation de zro :
X
Notation de + linfini
0
00000000
11111111
Notation de linfini
1
11111111
51
D. Nombres rels
Avantages :
partie entire
une partie dcimale
Inconvnients :
52
1. Systmes de numration
A.
B.
C.
D.
E.
Bases de numration
Rgles de conversion
Nombres entiers signs
Nombres rels
Addition
53
E. Addition
Notation complment 2
4 cas possibles :
Condition de dpassement
Bourguiba Riad - ENIT 2006 - Microprocesseurs
54
E. Addition
7
+ 4
0000 1011
11
55
E. Addition
15
+ -6
1 0000 1001
56
E. Addition
16
+ - 24
1111 1000
-8
57
E. Addition
Retenue
rejeter
1111 1011
+ 1110 0111
-5
+ -9
1 1111 0010
- 14
58
E. Addition
Condition de dpassement
Si lon additionne deux nombres binaires de mme signe,
leur somme peut dpasser le nombre de bits ncessaires
pour coder le rsultat.
59
E. Addition
Exemple : 8 bits
Signe
erron
0111 1101
+ 0011 1010
125
+ 58
1011 0111
183
Grandeur
inexacte
Ce nombre dpasse
lintervalle des nombres
que lon peut coder
en complment 2
sur 8 bits
II. Pr requis
1.
2.
3.
4.
5.
6.
Systmes de numration
Codage de linformation
Algbre de Boole
Logique combinatoire
Logique squentielle
Les instructions : le langage de
lordinateur
61
2. Codage de linformation
A.
B.
C.
Codes numriques
Codes alphanumriques
Dtection des erreurs par parit
62
A. Codes numriques
Binaires simples
Signe-grandeur
Complment 1
Complment 2
Flottants
63
A. Codes numriques
Code Gray
Code conservatif, qui nadmet quun seul changement de bit
chaque transition. Il est trs utile lorsque lon doit compter sans
erreur.
Bourguiba Riad - ENIT 2006 - Microprocesseurs
64
A. Codes numriques
DCB
0
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
65
A. Codes numriques
Exemple 1
Donnez la reprsentation DCB des nombres dcimaux suivants.
35
98
170
2469
Exemple 2
Donnez la reprsentation dcimale des nombres nots en DCB suivants.
(1000 0110)DCB
DCB
DCB
66
A. Codes numriques
Code Gray
Binaire
Gray
Dcimal
Binaire
Gray
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
0000
0001
0011
0010
0110
0111
0101
0100
8
9
10
11
12
13
14
15
1000
1001
1010
1011
1100
1101
1110
1111
1100
1101
1111
1110
1010
1011
1001
1000
67
A. Codes numriques
Code binaire
Code Gray
68
A. Codes numriques
Code Gray
Code Binaire
69
2. Codage de linformation
A.
B.
C.
Codes numriques
Codes alphanumriques
Dtection des erreurs par parit
70
B. Codes alphanumriques
71
B. Codes alphanumriques
Code Baudot :
Utilis pour le tlgraphe (Telex)
Codage des caractres sur 5 bits
2x26 caractres + 6 caractres de contrle
72
B. Codes alphanumriques
Lettres
Chiffres
Code
Lettres
Chiffres
Code
11000
11101
10011
01010
01110
10100
Qui est l?
10010
00001
10000
11100
optionnel
10110
01111
optionnel
01011
11001
optionnel
00101
10111
01100
10101
Sonnerie
11010
10001
11110
Retour chariot
00010
01001
Chgt. de ligne
01000
00111
Mode lettres
11111
00110
Mode chiffres
11011
00011
Espace
00100
01101
Non utilis
00000
73
B. Codes alphanumriques
74
B. Codes alphanumriques
Poids
forts
Poids
faibles
NUL
DLE
SP
SOH
DC1
STX
DC2
"
ETX
DC3
3SYN
EOT
DC4
ENQ
NAK
ACK
SYN
&
BEL
ETB
7EOT
BS
CAN
HT
EM
LF
SUB
VT
ESC
FF
FS
<
CR
GS
SO
RS
>
SI
US
DEL
7
p
75
2. Codage de linformation
A.
B.
C.
Codes numriques
Codes alphanumriques
Dtection des erreurs par parit
76
Erreurs de transmission
Parit (LRC)
Parit croise (LRC/VRC)
77
i. Erreurs de transmission
78
Erreurs de transmission
Parit (LRC)
Parit croise (LRC/VRC)
79
80
Donne mise
1
Donne mise
1
Donne mise
1
81
Erreurs de transmission
Parit (LRC)
Parit croise (LRC/VRC)
82
Parit horizontale
(paire)
Octet 1
Octet 2
Octet 3
Octet 4
Parit verticale
(paire)
0
Parit croise
83
84
Avantages
Inconvnients
II. Pr requis
1.
2.
3.
4.
5.
6.
Systmes de numration
Codage de linformation
Algbre de Boole
Logique combinatoire
Logique squentielle
Les instructions : le langage de
lordinateur
86
3. Algbre de Boole
ET (AND)
non
OU (OR)
et
OU exclusif (XOR)
ou
Ou
ex
Distributivit
a(b+c)=a.b+a.c
Thorme de Morgan
a.b = a+b
a+b.c=(a+b).(a+c)
a+b = a.b
Thormes dabsorption
a+a.b=a
a+a.b=a+b
a.(a+b)=a
a+a.b=a+b
II. Pr requis
1.
2.
3.
4.
5.
6.
Systmes de numration
Codage de linformation
Algbre de Boole
Logique combinatoire
Logique squentielle
Les instructions : le langage de
lordinateur
87
89
4. Logique combinatoire
Exemples
Multiplexeur (N vers 1)
Dmultiplexeur (1 vers N)
Oprateurs arithmtiques simples (additionneur,
soustracteur)
...
90
4. Logique combinatoire
Additionneur 1 bit
cin
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
a
0
1
0
1
0
1
0
1
cout
0
0
0
1
0
1
1
1
s
0
1
1
0
1
0
0
1
=a
cin + a . b . cin
cout
91
4. Logique combinatoire
Additionneur 4 bits
a3
b3
a2
b2
a1
b1
a0
b0
carry
+
s3
s2
s1
s0
0
Bourguiba Riad - ENIT 2006 - Microprocesseurs
92
4. Logique combinatoire
Soustracteur
Calcul de loppos
Commande
Commande
Sortie
Sortie
Commande
Sortie
Commande
Sortie
not (x)
93
4. Logique combinatoire
A(3)
I(3)
A(2)
I(2)
A(1)
I(1)
A(0)
C3(3)
C3(2)
C3(1)
C3(0)
II. Pr requis
1.
2.
3.
4.
5.
6.
Systmes de numration
Codage de linformation
Algbre de Boole
Logique combinatoire
Logique squentielle
Les instructions : le langage de
lordinateur
95
5. Logique squentielle
Exemples
Bascule
Registre
Automate
Mmoire
Oprateurs de calcul complexes (multiplication, division)
...
Bourguiba Riad - ENIT 2006 - Microprocesseurs
96
5. Logique squentielle
Multiplication
a3a2a1a0
b3b2b1b0
(a3a2a1a0).b0
(a3a2a1a0 ).b1
(a3a2a1a0
).b2
(a3a2a1a0
).b3
Version rapide :
cascade dadditionneurs
occupe beaucoup de surface
Version conomique :
accumulateurs avec automate de contrle
rduit la surface mais ncessite plusieurs cycles
p7p6p5p4p3p2p1p0
97
5. Logique squentielle
Division
II. Pr requis
1.
2.
3.
4.
5.
6.
Systmes de numration
Codage de linformation
Algbre de Boole
Logique combinatoire
Logique squentielle
Les instructions : le langage de
lordinateur
6. Les instructions :
le langage de lordinateur
A.
B.
C.
D.
E.
F.
99
Introduction
Les oprations matrielles
Les oprandes matrielles
La reprsentation des instructions
Les types dinstructions
Conclusion
100
A. Introduction
101
A. Introduction
102
A. Introduction
Prsentation du MIPS
Architecture 32 bits
simple et efficace,
6. Les instructions :
le langage de lordinateur
A.
B.
C.
D.
E.
F.
103
Introduction
Les oprations matrielles
Les oprandes matrielles
La reprsentation des instructions
Les types dinstructions
Conclusion
104
Exemple 1 :
code C
a=b+c
Instruction MIPS
add a, b, c
Principe n1
La simplicit favorise la rgularit.
105
Exemple 2 :
code C
a=b+c+d+e;
Exemple 3 :
code C
a=b+c;
d=a-e;
instructions MIPS
add a, b, c
add a, a, d
add a, a, e
instructions MIPS
add a, b, c
sub d, a, e
6. Les instructions :
le langage de lordinateur
A.
B.
C.
D.
E.
F.
Introduction
Les oprations matrielles
Les oprandes matrielles
La reprsentation des instructions
Les types dinstructions
Conclusion
106
107
Les registres
La mmoire
108
i. Les registres
109
i. Les registres
Principe n2
Convention :
$s0, $s1,
$t0, $t1,
Exemple 4 :
110
Les registres
La mmoire
111
ii. La mmoire
Load
Store
: processeur
: processeur
mmoire
mmoire
112
ii. La mmoire
MIPS
lw : load word
sw : store word
230 mots adressables (4Go)
Exemple 5 :
code C
g=h+A[8];
instructions MIPS
lw
$t0, 8($s3)
add
$s1, $s2, $t0
offset
registre de base
113
ii. La mmoire
un octet
un demi-mot
un mot
Octet :
4 possibilits
Demi-mot :
2 possibilits
Mot
1 seule possibilit
2
3
114
ii. La mmoire
(Principe de simplicit)
Bourguiba Riad - ENIT 2006 - Microprocesseurs
115
ii. La mmoire
Exemple 6 :
code C
instructions MIPS
A[12]=h+A[8]; lw
$t0, 32($s3)
add
$t0, $s2, $t0
sw
$t0, 48($s3)
116
ii. La mmoire
117
ii. La mmoire
Le compilateur
118
ii. La mmoire
Oprandes immdiates
Principe n3
Rendre le cas gnral rapide
Bourguiba Riad - ENIT 2006 - Microprocesseurs
119
6. Les instructions :
le langage de lordinateur
A.
B.
C.
D.
E.
F.
Introduction
Les oprations matrielles
Les oprandes matrielles
La reprsentation des instructions
Les types dinstructions
Conclusion
D. La reprsentation des
instructions dans lordinateur
120
N du registre
$s0 $s7
16 23
$t0 $t7
8 15
17
18
$s1
$s2
$t0
inutilis
000000
10001
10010
01000
00000
100000
6 bits
5 bits
5 bits
5 bits
5 bits
6 bits
32
D. La reprsentation des
instructions dans lordinateur
121
D. La reprsentation des
instructions dans lordinateur
R-format
op
rs
rt
rd
shamt
funct
6 bits
5 bits
5 bits
5 bits
5 bits
6 bits
(64 op) (32 reg) (32 reg) (32 reg) (32 val) (64 ver)
op
rs
rt
rd
122
123
D. La reprsentation des
instructions dans lordinateur
I-format
op
rs
rt
constante ou adresse
6 bits
5 bits
5 bits
16 bits
(65536 valeurs)
op
rs
rt
constante immdiate
adresse immdiate
124
D. La reprsentation des
instructions dans lordinateur
Principe n4
Une bonne conception suppose de bons compromis
Instructions dj vues :
Instruction
Format
op
rs
rt
rd
shamt
funct
add
reg
reg
reg
32
sub
reg
reg
reg
34
addi
reg
reg
const
lw
35
reg
reg
adr
sw
43
reg
reg
adr
constante
adresse
125
D. La reprsentation des
instructions dans lordinateur
Exemple 8 :
code C
langage assembleur
A[300]=h+A[300]; lw
$t0, 1200($t1)
add $t0, $s2, $t0
sw
$t0, 1200($t1)
langage machine
op
rs
rt
35
18
43
rd
shamt
funct
1200
8
32
1200
6. Les instructions :
le langage de lordinateur
A.
B.
C.
D.
E.
F.
Introduction
Les oprations matrielles
Les oprandes matrielles
La reprsentation des instructions
Les types dinstructions
Conclusion
126
127
arithmtiques
accs mmoire
contrle de squence
Lecture, criture,
logiques
gestion de la pile
sauvegarde/restauration du contexte
6. Les instructions :
le langage de lordinateur
A.
B.
C.
D.
E.
F.
Introduction
Les oprations matrielles
Les oprandes matrielles
La reprsentation des instructions
Les types dinstructions
Conclusion
128
129
F. Conclusion
nombre dinstructions
nombre de cycles dhorloge pour excuter une instruction
vitesse de lhorloge