Professional Documents
Culture Documents
Connatre et comprendre
Circuits Logiques
ELE1300
tre capable de
JP David
9 mars 2016
[ an1
[ an1
partie fractionnaire
m chiffres
an 2 L a1 a0 , a1 a2 L a m ] (b )
b n 1 b n 2 L b1 b 0
an 2 L a1 a0 , a1 a2 L a m ] (b )
partie entire
n chiffres
b 1 b 2 L b m
Valeur :
base
an 1 b n1 + an 2 b n 2 + L + a1 b + a0
+ a-1 b-1 + a-2 b -2 + L + a- m b- m
9 mars 2016
9 mars 2016
BASE
CHIFFRES
BINAIRE
ai {0,1}
OCTAL
DCIMAL
10
HEXADCIMAL
16
Exemples :
1011,101( 2) = 1( 2 ) 103( 2) + 0( 2) 10(22 ) + 1( 2) 101( 2) + 1( 2 ) 10(02) + 1( 2 ) 10(21) + 0( 2) 10(22) + 1( 2) 10(23)
45,36(8) = 4( 8) 101( 8) + 5( 8) 10(08) + 3( 8) 10(81) + 6(8) 10(82)
243,6(10) = 2(10) 10(210 ) + 4(10 ) 101(10) + 3(10) 10(010 ) + 6(10) 10(101 )
BINAIRE
OCTAL
DCIMAL
HEXADCIMAL
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
10000
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
12A, 4(16) = 1(16) 10(216 ) + 2(16 ) 101(16) + A(16) 10(016) + 4(16 ) 10(161 )
9 mars 2016
9 mars 2016
Compter en base
(voir cours 1 )
9 mars 2016
9 mars 2016
49 = 4 paquets de 10 + 9
La base 2
9 mars 2016
9 mars 2016
La base 2 (suite)
10
La base 2 (suite)
autos
9 mars 2016
11
9 mars 2016
12
La base 2 (suite)
La base 2 (suite)
autos
9 mars 2016
13
9 mars 2016
La base 2 (suite)
14
La base 2 (suite)
Paquet de 8
autos
9 mars 2016
15
9 mars 2016
16
La base 2 (suite)
La base 2 (suite)
Paquet de 16
autos
9 mars 2016
17
9 mars 2016
La base 2 (suite)
18
La base 2 (suite)
Paquet de 32
autos
=2x
=2x
16
=2x
32
2
110001
9 mars 2016
19
9 mars 2016
20
9 mars 2016
9 mars 2016
= ?(10)
= ?(10)
= ?(10)
= ?(10)
Circuits logiques - JP David
22
E = an 1 b n 1 + L + a2 b 2 + a1 b1 + a0 b 0
F = a1 b1 + a2 b 2 + a3 b 3 + L + a m b m
E = ((((0 + an 1 ) b + an 2 ) b + L + a2 ) b + a1 ) b + a0
F = ((((0 + a m ) b 1 + a ( m 1 ) ) b 1 + L + a2 ) b 1 + a1 ) b1
9 mars 2016
23
9 mars 2016
24
[ an1
an 2 L a1 a0 , a1 a2 L a m ] (b )
partie entire
n chiffres
partie fractionnaire
m chiffres
E
b
base
E = an 1 b n 1 + L + a2 b 2 + a1 b1 + a0 b 0
= an 1 b n 2 + L + a2 b1 + a1 b 0 +
a0
b
= Q1 +
Q1
b
= an 1 b n 3 + L + a2 b 0 +
a1
b
= Q2 +
a1
b
Q2
b
= an 1 b n 4 + L + a3 b0 +
a2
b
= Q3 +
a2
b
a0
b
= Q1 reste a0
= Q2 reste a1
= Q3 reste a2
9 mars 2016
25
do 57(10) = 111001(2)
9 mars 2016
318 reste
159 reste
79 reste
39 reste
19 reste
9 reste
4 reste
2 reste
1 reste
0 reste
1
0
1
1
1
1
1
0
0
1
Partie fractionnaire F1
bF1 = a2 b0 + a3 b 1 + a4 b 2 + L + a m b m + 2
Partie entire
do 637(10) = 1001111101(2)
Circuits logiques - JP David
26
9 mars 2016
Partie fractionnaire F2
9 mars 2016
28
0,6875
0,375
0,75
0,5
2=
2=
2=
2=
1,375
0,75
1,5
1,0
partie
partie
partie
partie
entire
entire
entire
entire
=1
=0
=1
=1
do 0,6875(10) = 0,1011(2)
Exemple : 0,8125(10) = ?(2)
0,8125
0,625
0,25
0,5
2=
2=
2=
2=
1,625
1,25
0,5
1,0
partie
partie
partie
partie
entire
entire
entire
entire
=1
=1
=0
=1
29
REPRSENTATION EN COMPLMENT 2
(2)
30
REPRSENTATION EN COMPLMENT 2
Reprenons lcriture en binaire.
Nous disposons de 8 bits (256 valeurs) partags en 128 valeurs positives
(0 127) et 128 valeurs ngatives (-128 -1).
000
001
002
003
004
...
123
124
125
126
127
= 11111101(2)
= 10000000(2)
=0
=0
=1
=0
9 mars 2016
entire
entire
entire
entire
9 mars 2016
partie
partie
partie
partie
RPTITION
do 0,8125(10) = 0,1101(2)
9 mars 2016
2/7 0,2857
4/7 0,5714
8/7 1,1428
2/7 0,2857
31
9 mars 2016
0000
0000
0000
0000
0000
...
0111
0111
0111
0111
0111
0000
0001
0010
0011
0100
1011
1100
1101
1110
1111
32
REPRSENTATION EN COMPLMENT 2
REPRSENTATION EN COMPLMENT 2
9 mars 2016
1111
1111
1111
1111
1111
1111
...
1000
1000
1000
1000
1000
1000
1000
Conclusions:
Le bit le plus significatif (le plus gauche, not MSB) est un bit de signe
1111
1110
1101
1100
1011
1010
Si le MSB vaut 0, le nombre est positif (sa valeur est la valeur binaire directe)
Exemples:
001
0000 0001
050
0011 0010
100
0110 0100
127
0111 1111
Si le MSB vaut 1, le nombre est ngatif (sa valeur est la valeur binaire 2n)
Exemples:
-001
1111 1111
(255-256 = -1)
-050
1100 1110
(206-256 = -50)
-100
1001 1100
(156-256 = -100)
-127
1000 0001
(129-256 = -127)
0110
0101
0100
0011
0010
0001
0000
33
9 mars 2016
34
REPRSENTATION EN COMPLMENT 2
Exemples:
001 : 0000 0001 INVERSE 1111 1110 (+1) 1111 1111 : -001
050 : 0011 0010 INVERSE 1100 1101 (+1) 1100 1110 : -050
100 : 0110 0100 INVERSE 1001 1011 (+1) 1001 1100 : -100
N = [ an 1 an 2 L a1 a0 , a1 a2 L a m ] ( b)
127 : 0111 1111 INVERSE 1000 0000 (+1) 1000 0001 : -127
35
9 mars 2016
36
Exemples:
-001 : 1111 1111 INVERSE 0000 0000 (+1) 0000 0001 : 001
-050 : 1100 1110 INVERSE 0011 0001 (+1) 0011 0010 : 050
-100 : 1001 1100 INVERSE 0110 0011 (+1) 0110 0100 : 100
-127 : 1000 0001 INVERSE 0111 1110 (+1) 0111 1111 : 127
9 mars 2016
37
9 mars 2016
38
9 mars 2016
39
9 mars 2016
=
=
=
=
=
=
=
=
=
?(10)
?(10)
?(10)
?(10)
?(10)
?(10)
?(10)
?(10)
?(10)
Circuits logiques - JP David
40
10
REPRSENTATION EN COMPLMENT 2
128
64
32
16
N = [ an 1 an 2 L a1 a0 , a1 a2 L a m ] ( 2)
=
=
=
=
=
=
?(10)
?(10)
?(10)
?(10)
?(10)
?(10)
Circuits logiques - JP David
41
9 mars 2016
Arithmtique signe
42
ADDITION ()
Quel impact cela a-t-il sur le rsultat ?
Arithmtique signe
9 mars 2016
01000111
43
00110110
+00001111
54
+ 15
01000101
69
11001010
+11110001
(54)
+ (15)
110111011
(69)
9 mars 2016
44
11
Arithmtique signe
Arithmtique signe
SOUSTRACTION
N1 N2 = N1 + ( N2 )
LE DBORDEMENT
Quel impact cela a-t-il sur le rsultat ?
00110110
00001111
00110110
+11110001
54
15
0100
+0100
4
+ 4
100100111
39
1000
11001010
11110001
11001010
+00001111
(54)
(15)
11011001
(39)
9 mars 2016
45
Un peu darithmtique ()
46
Un peu darithmtique ()
LE DBORDEMENT ()
En complment 2 avec 4 bits, il ny a pas de reprsentation
de +8 !!!
Lorsque le rsultat de lopration nest pas reprsentable,
on parle de DBORDEMENT de lopration +/-.
9 mars 2016
9 mars 2016
47
LE DBORDEMENT ()
9 mars 2016
0100
+0100
4
+ 4
1000
1100
+1011
(4)
+ (5)
0111
7
Circuits logiques - JP David
48
12
Un peu darithmtique ()
Un peu darithmtique ()
LE DBORDEMENT ()
Pour viter le dbordement, il faut choisir un nombre bits plus
grand. On procde alors lextension signe des oprandes :
Pour les nombres positifs, on met un ou plusieurs 0 devant
Pour les nombres ngatifs, on met un ou plusieurs 1 devant
0100
+0100
00100
+00100
1000
01000
100
+1011
11100
+11011
0111
10111
Circuits logiques - JP David
9 mars 2016
LE DCALAGE
Chaque dcalage droite correspond une division par
deux :
10101101
1 0 1 0 1 1 0,1
1 0 1 0 1 1,0 1
1 0 1 0 1,1 0 1
1 0 1 0,1 1 0 1
1 0 1,0 1 1 0 1
1 0,1 0 1 1 0 1
49
9 mars 2016
Un peu darithmtique ()
LA MULTIPLICATION
Un exemple simple (entiers positifs non signs):
2,703125
5,406250
10,812500
21,625000
43,250000
86,500000
173,000000
1101
0110
13
6
0000
11010
110100
0000000
1001110
9 mars 2016
50
Un peu darithmtique ()
LE DCALAGE
Chaque dcalage gauche correspond une multiplication
par deux :
1 0,1 0 1 1 0 1
1 0 1,0 1 1 0 1
1 0 1 0,1 1 0 1
1 0 1 0 1,1 0 1
1 0 1 0 1 1,0 1
1 0 1 0 1 1 0,1
10101101
173,000000
86,500000
43,250000
21,625000
10,812500
5,406250
2,703125
51
9 mars 2016
78
52
13
Un peu darithmtique ()
Un peu darithmtique ()
LA DIVISION
Un exemple simple (entiers positifs non signs):
LA MULTIPLICATION ()
Quelques exemples
10001
11111
11101
10111
11001
11001
01011
10101
1001110
110000
011100
11000
00110
110
000
53
9 mars 2016
9 mars 2016
Un peu darithmtique ()
LA DIVISION
110
1101010
78
1101
13
donne
donne
reste
reste
54
Virgule fixe
La reprsentation en virgule fixe signifie que
lon fixe le nombre de bits de la partie
fractionnaire
Quelques exemples
1101110
110
111
101
1001100
Aucun changement
100
55
9 mars 2016
56
14
Ladditionneur
A et B : cumulande et cumulateur
01001.011(2) + 10100.111(2)
(demi-additionneur
binaire)
S : somme
A B
0
0
0
1
0
1
0
0
= 0.000001(2) x (01001011(2)10100111(2))
R : retenue
S = A B
R = AB
A
B
9 mars 2016
57
Ladditionneur
rn 1
r3
an 1 L a3
+
rn
bn 1 L b3
sn 1
an-1 bn-1
a2
rn-1
binaire
complet
a2
a1
b1
s1
a1
b0
a0
b0
r0 = 0
s1
aibi
s0
r1
s2
Addition de deux
nombres binaires
:
a0
b1
r2
rn sn-1 Additionneur
r1
s2
b2
r3
9 mars 2016
L s3
58
Ladditionneur
r2
b2
9 mars 2016
s0
ri
ai
bi
si
ri +1
0
0
0
0
0
1
0
1
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
ri
00
01
11
10
si = ri ai bi + ri ai bi + ri ai bi + ri ai bi
aibi
ri
00
01
11
10
ri +1 = ri ai + ri bi + ai bi
59
9 mars 2016
60
15
Ladditionneur
Ladditionneur
ai
si = ri ai bi + ri ai bi + ri ai bi + ri ai bi
) (
= ri ai bi + ai bi + ri ai bi + ai bi
bi
= ri ( ai bi ) + ri ( ai bi ) = ri ( ai bi )
aibi
ri +1 = ri ai + ri bi + ai bi ou ri ai bi + ri ai bi + ai bi
= ri ai bi + ai bi + ai bi
ri
= ri ( ai bi ) + ai bi
si = ri ( ai bi )
ri
00
01
11
10
ri +1 = ri ( ai bi ) + ai bi
9 mars 2016
61
9 mars 2016
Ladditionneur
Ladditionneur
Circuit danticipation des retenues pour un additionneur 4 bits
(avec r0= 0)
r1
g0
p1
g1
p2
g2
p3
g3
ri +1 = ri pi + g i o pi = ai bi (ou bien ai + bi ) et g i = ai bi
r1 = r0 p0 + g0
r2 = r1 p1 + g1 = ( r0 p0 + g0 ) p1 + g1 = r0 p0 p1 + g0 p1 + g1
r3 = r2 p2 + g 2 = ( r0 p0 p1 + g0 p1 + g1 ) p2 + g 2 = r0 p0 p1 p2 + g0 p1 p2 + g1 p2 + g 2
r2
r3
rn = r0 p0 p1 p2 L pn 1 + g 0 p1 p2 L pn 1 + g1 p2 L pn 1 + g 2 p3 L pn 1 + L
r4
L + g n 4 pn 3 pn 2 pn 1 + g n 3 pn 2 pn 1 + g n 2 pn 1 + g n 1
9 mars 2016
62
63
9 mars 2016
64
16
Ladditionneur
Additionneur 4 bits
a0
(avec r0= 0)
a1
a2
b0
Le soustracteur
b2
b1
a3
s0
b3
soustraction
s1
bn-1
b2
an-1
s2
a2
rn-1
s3
g0
p1
g1
p2
g2
p3
r2
r3
r4
rn sn-1
r4
9 mars 2016
b0
a1
r3
a0
r2
r1
r0 = 1
g3
b1
65
9 mars 2016
s2
s1
s0
66
Ladditionneur/soustracteur
Unit arithmtique binaire avec commande de
lopration
bn-1
b2
an-1
a2
rn-1
rn sn-1
b1
b0
a1
r3
a0
r2
r1
s2
0 , addition
c=
1 , soustraction
r0
s1
s0
d
dtection de dbordement
9 mars 2016
67
17