inf1500 : logique des systèmes...
TRANSCRIPT
Sylvain Martel - INF1500 1
INF1500 : Logique des systèmes numériques
Cours 3: Systèmes de numération, addition, soustraction, multiplication, division - Circuits combinatoires plus complexes (MSI)
Sylvain Martel - INF1500 2
Introduction aux systèmes de numération
Dans le système décimal (base 10), les chiffres sont : 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9.
Dans le système binaire (base 2), les chiffres sont 0 et 1.
Dans le système hexadécimal (base 16), les chiffres sont : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E et F.
Sylvain Martel - INF1500 3
Exemples
b3 b2 b1 b0 = b23 + b22+ b21 + b20
1101 = 1x8 + 1x4 + 0x2 + 1x1 = 13En format Hex: D
1C8A = 0001 1100 1000 1010
Code ASCII (combinaison de 7 1s et/ou 0s) pour autres symboles (ex. du clavier)
Sylvain Martel - INF1500 4
Conversion
Sylvain Martel - INF1500 5
EXERCICES
Convertir en HEX0001 1100 1111 1000:1100 1111 0000 0101:1010 1001 0110 0000:
24 en binaire =12 en binaire = ____ en HEX = _____15: en HEX =F4E en binaire = ____ en Dec. = _____
Sylvain Martel - INF1500 6
Représentation de nombres binaires signés
Il y a trois approches communes : signe et grandeur, complément à un, et complément à deux.
Dans chaque cas, le bit le plus significatif indique le signe dunombre : 0 pour positif et 1 pour négatif.Pour les nombres positifs, il est donc essentiel de toujours ajouter un ‘0’ en position la plus significative.
Un nombre positif a la même représentation dans chaque système.
Pour changer le signe d’un nombre :
En signe et grandeur, on inverse le bit le plus significatif;En complément à un, on inverse tous les bits;En complément à deux, on inverse tous les bits et on ajoute 1.
Sylvain Martel - INF1500 7
----1000-----8
100010011111-7
100110101110-6
101010111101-5
101111001100-4
110011011011-3
110111101010-2
111011111001-1
1111----1000-0
Complément à 1(N’)Complément à 2 (N*)Signe et grandeur
000000000000+0
000100010001+1
001000100010+2
001100110011+3
010001000100+4
010101010101+5
011001100110+6
011101110111+7
Nom
bres
pos
itifs
(+N
)N
ombr
es n
égat
ifs (-
N)
Représentation de nombres binaires signés - Suite
Sylvain Martel - INF1500 8
Exemples (avec 8 bits)
Sylvain Martel - INF1500 9
Avec n bits, la gamme des nombres entiers signés pouvant être représentés est :
Nombres représentables avec un nombre de bits donné
Sylvain Martel - INF1500 10
EXERCICES
45 en compl. 1 et compl. 2-45 en compl. 20011 en compl. 2 =10011111 en compl. 2 = ?11000101 en compl. 2 = ?45 + (-5) = en compl. 224 + 5 = en compl. 224 – 5 = en compl. 2
Sylvain Martel - INF1500 11
ADDITION
1 + 1 = 2; 0001 + 0001 = 0010
XOR et…
Sylvain Martel - INF1500 12
Circuits logiques pour l’addition et la soustraction - Additionneur à 2 entrées ou demi-additionneur (half-adder)
Si on additionne deux bits X et Y, on obtient une retenue C (carry) et une somme S. La table de vérité pour ces deux fonctions est donnée ici :
On obtient facilement les équations booléennes pour C et S:
C = XYS = X ⊕ Y = X'Y + XY'
Sylvain Martel - INF1500 13
Diagramme de portes logiques
OU-EXCLUSIF
XY
C
Sylvain Martel - INF1500 14
Additionneur à trois entrées ou additionneur complet (full adder)
Si on additionne trois bits X, Y et Z, on obtient une retenue C (carry) et une somme S. La table de vérité est donnée ici :
À l’aide d’une table de Karnaugh, on obtient les équations booléennes pour C et S:
C = XY + XZ + YZS = X ⊕ Y ⊕ Z
Sylvain Martel - INF1500 15
Diagramme de portes logiques
XY
Rn
Rn+1
XY
XRn
YRn
S
XY
HalfHalf--adderadder
HalfHalf--adderadder
Sylvain Martel - INF1500 16
Additionneur à deux nombres avec retenue déferlante (ripple carry adder)
Le principe consiste à reproduire le processus d’addition usuel, ou deux nombres sont additionnés un chiffre à la fois. Pour chaque ‘colonne’, on additionne en fait trois chiffres : un chiffre de chaque opérande, et la retenue de la colonne précédente.
Dans le cas de l’additionneur à retenue déferlante, on c’est la même chose qui se produit. La retenue d’un étage est appliquée à l’une des trois entrées de l’étage suivant. Le premier étage ne recevant pas de retenue d’un étage précédent, on peut utiliser un additionneur à 2 entrées au lieu de 3.
Sylvain Martel - INF1500 17
Additionneur à deux nombres avec retenue déferlante (ripple carry adder) - Suite
On débute avec le bloc additionneur à trois entrées de la section précédente :
Sylvain Martel - INF1500 18
Additionneur à deux nombres avec retenue déferlante (ripple carry adder) - Suite
Pour faire un additionneur de deux nombres de quatre bits, A et B, on utilise quatre additionneurs à trois entrées, connectés comme suit :
La somme S est exprimée sur 5 bits.
Sylvain Martel - INF1500 19
SOUSTRACTION
1 – 1 = 0
OU
1 + (-1) = 0;
0001 + 1111 = 0000
Compl. 2
Sylvain Martel - INF1500 20
Soustracteur à deux nombresPour faire une soustraction, il s’agit de changer le signe de l’opérande à soustraire, puis d’additionner. En complément à deux, pour changer le signe d’une opérande il faut inverser tous les bits et ajouter 1. Un soustracteur peut donc être réalisé à l’aide de l’additionneur de la section précédente et d’inverseurs.
Sylvain Martel - INF1500 21
Soustraction (A – B ou A + (-B))
A B
Complément de 2
Sylvain Martel - INF1500 22
Pentium
Additionneur
Sylvain Martel - INF1500 23
Additionneur [74x283] - Circuit MSI
74x283
A0
C0
B0
S0
S1
7
4
10
5
6
A1
B1
3
2
A2
B2
14
15
A3
B3
12
11
S2
S3
9C4
1
13
Cop
yrig
ht ©
200
0 by
Pre
ntic
e H
all,
Inc.
Dig
ital D
esig
n P
rinci
ples
and
Pra
ctic
es, 3
/e
Sylvain Martel - INF1500 24
Additionneur 16 bits
X0
X1
X2
X3
S0
S1
S2
S3
Y0
Y1
Y2
Y3
X4
X5
X6
X7
Y4
Y5
Y6
Y7
74x283
A0
C0
B0
S0
S1
7
4
10
5
6
A1
B1
3
2
A2
B2
14
15
A3
B3
12
11
5
6
3
2
14
15
12
11
S2
S3
9C4
1
13
74x283
A0
C0
B0
S0
S1
7
4
10
A1
B1
A2
B2
A3
B3
S2
S3
9C4
1
13
S4
S5
S6
S7
X[15:0]
Y[15:0]
C0
C4U1
U2
X8
X9
X10
X11
S8
S9
S10
S11
Y8
Y9
Y10
Y11
X12
X13
X14
X15
Y12
Y13
Y14
Y15
74x283
A0
C0
B0
S0
S1
7
4
10
5
6
A1
B1
3
2
A2
B2
14
15
A3
B3
12
11
5
6
3
2
14
15
12
11
S2
S3
9C4
1
13
74x283
A0
C0
B0
S0
S1
7
4
10
A1
B1
A2
B2
A3
B3
S2
S3
9C4
1
13
S12
S13
S14
S15
C12U3
U4
C8C16
S[15:0]
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 25
MULTIPLICATION/DIVISION2 x 2 = 4
0010 x 0010 = 0100
2 x 4 = 8 = 1000
8 / 4 = 2; 1000 -> 0010
Muliplication: shift gauche;Division: shift droite
Sylvain Martel - INF1500 26
Exercices
AdditionsSoustractionsMultiplicationsDivisions
Sylvain Martel - INF1500 27
Représentation des circuits MSI
1/2 74x139
A
G
B
Y0
Y1
Y2
Y3
(a)
1/2 74x139
A
G
B
Y0
Y1
Y2
Y3
(b)
Y0_L
Y1_L
Y2_L
Y3_L
G_L
A
B
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
1/2 74x139
A
G
B
Y0
Y1
Y2
Y3
(a) (b)
1/2 74x139
A
G
B
Y0
Y1
Y2
Y3
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 28
Décodeur
Sylvain Martel - INF1500 29
Décodeur 2-à-4
Sylvain Martel - INF1500 30
Exemples de composants décodeur 2-à-4
Sylvain Martel - INF1500 31
Data Sheet
Sylvain Martel - INF1500 32
Décodeur 3-à-8
Sylvain Martel - INF1500 33
Décodeur 3-à-8
Sylvain Martel - INF1500 34
Décodeurs 4-à-16
Sylvain Martel - INF1500 35
Décodeurs 5-à-32
74x138
G2A
G1
G2B
Y0
Y1
Y2
Y3
B
A
C
Y4
Y5
Y6
Y7
74x138
G2A
G1
G2B
Y0
Y1
Y2
Y3
B
A
C
Y4
Y5
Y6
Y7
DEC0_L
DEC1_L
DEC2_L
DEC3_L
DEC4_L
DEC5_L
DEC10_L
DEC11_L
DEC12_L
DEC13_L
DEC14_L
DEC15_L
DEC6_L
DEC7_L
DEC8_L
DEC9_L
N0
N1
N2
N3
EN3_L
N4
EN2_L
EN1
74x138
G2A
G1
G2B
Y0
Y1
Y2
Y3
B
A
C
Y4
Y5
Y6
Y7
DEC18_L
DEC19_L
DEC20_L
DEC21_L
DEC22_L
DEC23_L
DEC16_L
DEC17_L
74x138
G2A
G1
G2B
Y0
Y1
Y2
Y3
B
A
C
Y4
Y5
Y6
Y7
DEC26_L
DEC27_L
DEC28_L
DEC29_L
DEC30_L
DEC31_L
DEC24_L
DEC25_L
1/2 74x139
1A
1G
1B
1Y0
1Y1
1Y2
1Y3
EN0X7_L
EN8X15_L
EN16X23_L
EN24X31_L
615
14
13
7
4
5
1
12
11
10
92
3
615
14
13
7
4
5
1
12
11
10
92
3
615
14
13
7
4
5
1
12
11
10
92
3
615
14
13
7
4
5
1
12
11
10
92
3
1 4
5
6
7
2
3
U2
U3
U4
U5
U1
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 36
Pentium
Décodeur
Sylvain Martel - INF1500 37
Décodeur 7 segments
Sylvain Martel - INF1500 38
Encodeur de priorité
Sylvain Martel - INF1500 39
Encodeur de priorité à 8 entrées
Sylvain Martel - INF1500 40
Data Sheet
Sylvain Martel - INF1500 41
Encodeur de prioritéà 32 entrées
Sylvain Martel - INF1500 42
Multiplexeur
Sylvain Martel - INF1500 43
Multiplexeur 2:1 à 4 bits
Sylvain Martel - INF1500 44
Multiplexeur 4:1 à 2 bits
Sylvain Martel - INF1500 45
Multiplexeur 32:1 à 1 bit
74x151
D0
D1
D2
D3
D4
D5
D6
D7
EN
4
6Y
Y3
2
1
15
14
13
12
A
B
C
11
7
10
9
1/2 74x139
1A
1G
1B
1Y0
1Y1
1Y2
1Y3
1 4
5
6
7
2
3
XEN_L
XA3
XA4
XA0
XA2
XA1
X0
X2
X1
X3
X4
X5
X7
X6
EN3_L
EN2_L
EN1_L
EN0_L 74x151
D0
D1
D2
D3
D4
D5
D6
D7
EN
4
6Y
Y3
2
1
15
14
13
12
A
B
C
11
7
10
9
X10
X12
X11
X13
X14
X15
X9
X8
74x151
D0
D1
D2
D3
D4
D5
D6
D7
EN
4
6Y
Y3
2
1
15
14
13
12
A
B
C
11
7
10
9
74x151
D0
D1
D2
D3
D4
D5
D6
D7
EN
4
6Y
Y3
2
1
15
14
13
12
A
B
C
11
7
10
9
X16
X18
X17
X19
X20
X21
X23
X22
X24
X26
X25
X27
X28
X29
X31
X30
1/2 74x201
2
46
5
XOUT
XO0_L
XO1_L
XO2_L
XO3_L
U1
U5
U4
U3
U2
5
5
5
5
U6
Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e
Sylvain Martel - INF1500 46
MUX/DMUX
Sylvain Martel - INF1500 47
Exercices – En portes logiques
CMP
8
8
A
B
EN
A=B
COMPARATEUR
Sylvain Martel - INF1500 48