You are on page 1of 72

Cours dlectronique numrique

Premire partie

Les nombres

Chapitre 1
Les
systmes
de numration

1.1

George Boole
2 nov. 1815, Lincoln, R.-U.
8 dc. 1864, Ballintemple, Irlande

La reprsentation polynomiale

La reprsentation polynomiale dun nombre est sa reprsentation sous la forme suivante :


an1 bn1 + an2 bn2 + an3 bn3 + + a2 b2 + a1 b + a0 + a1 b1 + a2 b2 +
+ am bm
o b est appele la base.
Si la base 10 nous est familire, dautres bases existent et les bases les plus utilises
en informatique sont les bases 10, 2, 8 et 16 appeles respectivement dcimale ,
binaire , octale et hexadcimale .

1.2
1.2.1

Le systme binaire
Introduction

Le systme dcimal est malheureusement difficile adapter aux mcanismes numriques, car il est difficile de concevoir du matriel lectronique fonctionnant sur dix
plages de tensions diffrentes.
On lui prfrera donc le systme binaire :
base B=2 ;
2 symboles : 0 et 1 appels lments binaires ou bits (bit=Binary digIT) ;

1.2. Le systme binaire

le systme binaire est pondr par 2 : les poids sont les puissances de 2 ;

Exemple :
26
1

25
0

24
1

23
1

22
0

21
0

20
1

21
0

23
1

23
1

les diffrentes puissances de 2 sont :


20 21 22 23 24 25 26 27
28
29
210
1 2 4 8 16 32 64 128 256 512 1024
un ensemble de 8 bits est appel octet (ou byte).

1.2.2 Comptage binaire


On prsente les nombres binaires en gnral avec un nombre fixe de bits, nombre
impos par les circuits mmoires utiliss pour reprsenter ces nombres.
Suite des nombres binaires 4 bits :

Poids :

23
0
0
0
0
0
0
0
0

22
0
0
0
0
1
1
1
1

21
0
0
1
1
0
0
1
1

20
0
1
0
1
0
1
0
1

B10
0
1
2
3
4
5
6
7

Poids :

23
1
1
1
1
1
1
1
1

22
0
0
0
0
1
1
1
1

21
0
0
1
1
0
0
1
1

20
0
1
0
1
0
1
0
1

B10
8
9
10
11
12
13
14
15

Le bit le plus significatif le bit le plus gauche est appel bit de poids fort ou
MSB (Most Significant Bit).
Le bit le moins significatif le bit le plus droite est appel bit de poids faible
ou LSB (Less Significant Bit).
Si on utilise N bits, on peut reprsenter 2N valeurs diffrentes de 20 2N 1
Exemple :
N = 8 : 00000000 11111111 255
Remarque :
Comme lon traite souvent en micro-informatique de nombres 8 ou 16 lments binaires (e.b.), on se sert des systmes :
octal : base 8 ;
hexadcimal : base 16.

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 1 : Les systmes de numration

1.3

Le systme octal

base B=8 ;
8 symboles : 0, 1, 2, 3, 4, 5, 6, 7 ;
Lintrt de ce systme est que la base 8 est une puissance de 2 (8 = 23 ), donc les
poids sont aussi des puissances de 2.
Chaque symbole de la base 8 est exprim sur 3 e.b. : (ai )8 = bi2 bi1 bi0
Exemple :
(52, 3)8 = 101 010, 011

1.4

Le systme hexadcimal

base B=16 ;
15 symboles : 0, 1, 2, . . . , 9, A, B, C, D, E, F appels digits ;
chaque symbole est exprim en binaire sur 4 bits ;
Exemple :
(F 3D, 2)16 = 1111 0111 1101, 0010

1.5

Conversion dun systme de numration un autre

1.5.1

Base B vers base 10

(an . . . a0 )B = an B n + + a0 B 0 = (a0m . . . a00 )10


Exemple :
(1001, 1)2 = 1.23 + 0.22 + 0.21 + 1.20 + 1.21 = 8 + 0 + 0 + 1 + 0, 5 = 9, 5
(A12)16 = A.162 + 1.161 + 2.160 = 2560 + 16 + 2 = 2578

1.5.2
A

Base 10 vers base B

Premire mthode
Elle consiste soustraire successivement la plus grande puissance de B

c 2002 Camille DIOU


Cours dlectronique numrique

1.5. Conversion dun systme de numration un autre

Exemple :

+ 36
+
4
(100)10 = (1100100)2
+
0

100 = 1.26
36 = 1.25
4 = 1.22

Deuxime mthode

Elle consiste diviser par B autant de fois que cela est ncessaire pour obtenir un
quotient nul. Ensuite on crit les restes dans lordre inverse de celui dans lequel ils ont
t obtenus.
Pour la partie fractionnaire on multiplie par B (rsultat nul ou selon la prcision
demande)
Exemple :
(20, 4)10 = (?)2
Partie entire :
20
0

2
10
0

Partie fractionnaire :

2
5
1

2
2
0

0
2
1
1

0, 4
2
0, 8

2
0

0, 8
2
1, 6

0, 6
2
1, 2

Le rsultat est donc 10100,0110.

1.5.3

Base 2n vers base 2

Chaque symbole de la base B = 2n peut tre reprsent par n e.b.


Exemple :
(3A9)16 = (0011 1010 1001)2
(742, 5)8 = (111 100 010, 101)2

1.5.4

Base 2 vers base 2n

Il suffit de regrouper les e.b. par paquets de n e.b.

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 1 : Les systmes de numration

Exemple :
(1011011)2

(|{z}
001 |{z}
011 |{z}
011 )2

(133)8

(0101
| {z } 1011
|{z })2

(5B)16

1.5.5

Base i vers base j

si i et j sont des puissances de 2, on utilise la base 2 comme relais ;


Exemple :
base 8 base 2 base 16

sinon, on utilise la base 10 comme relais.


Exemple :
base 5 base 10 base 2

c 2002 Camille DIOU


Cours dlectronique numrique

1.5. Conversion dun systme de numration un autre

10

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 2
Codage des
nombres dans les
machines numriques

Blaise Pascal
19 juin 1623, Clermont, France
19 aot 1662, Paris, France

Les systmes logiques sont constitus de mcanismes qui ne permettent de noter que
2 tats : 0 ou 1. Une mmoire lmentaire est donc une unit contenant 0 ou 1.
Plusieurs de ces units sont assembles pour reprsenter un nombre binaire.
Exemple :
mmoire 8 bits :

Ces mmoires sont indissociables et lordre dassemblage donne le poids de chaque


bit.

2.1

Reprsentation des nombres entiers positifs

Les nombres sont reprsents en binaire sur n bits : n = nombre dunits mmoires
(n = 8, 16, 32, 64, . . .)
On peut reprsenter des nombres allant de 0 2n1 .

11

2.2. Reprsentation binaire des entiers signs

2.2

Reprsentation binaire des entiers signs

Traditionnellement on met un signe pour reprsenter les nombres ngatifs. Mais


les systmes logiques ne permettent de prsenter quun des deux symboles 0 et 1, il
faut chercher une convention pour remplacer le .

2.2.1

Reprsentation module et signe

Solution la plus simple : on ajoute un e.b. gauche du module pour le signe. Ainsi,
un nombre commenant
par un 0 sera positif, alors quun nombre commenant par un

0+
1 sera ngatif :
1
Exemple :
avec 4 e.b. Les valeurs vont de 7 +7
Signe
1
1
1
1
1
1
1
1

Module
111
110
101
100
011
010
001
000

Valeur
-7
-6
-5
-4
-3
-2
-1
0

Signe
0
0
0
0
0
0
0
0

Module
111
110
101
100
011
010
001
000

Valeur
7
6
5
4
3
2
1
0

Problme : on a ici deux reprsentations diffrentes pour le zro : 00...0 et 10...0.

2.2.2

Reprsentation en complment restreint (complment 1)

A = A : pour prendre linverse dun nombre, il suffit de le complmenter (inversion de


tous ses bits). Comme dans le cas prcdent, la nature du premier bit donnera le
0+
signe :
1
Exemple :

avec 4 e.b. :

+5 0101
5 1010

Problme : de nouveau, on a deux reprsentations diffrentes pour le zro.

12

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 2 : Codage des nombres dans les machines numriques

2.2.3

Reprsentation en complment vrai (complment 2)

Cest
 la reprsentation la plus utilise. Le bit le plus gauche est encore le bit de
0+
signe :
1
A
A
A+A
1+A+A

= A+1
= an1 an2 a0
(on complmente chaque coefficient)
=
1 1 ... 1
= 1 0| 0 {z
. . . 0}
(car on reprsente sur n bits seulement)
0

A = A + 1 est appel compment 2


Remarque :
pour passer dune valeur ngative une valeur positive, on applique aussi le
complment 2 ;
une seule reprsentation pour le zro ;
avec des mots de n e.b., on obtient 2n valeurs diffrentes, de 0 2n1 1 pour
les valeurs positives, et de 1 2n1 pour les valeurs ngatives ;
Exemple :

nb > 0 de 0 127
n=8
nb < 0 de 1 128
nb 0 bit de signe = 0 nb < 0 bit de signe = 1
pour reprsenter un nombre positif sur une mmoire de taille donne, on complte les
cases vides de gauche par des 0 ; pour reprsenter un nombre ngatif sur une mmoire de
taille donne, on complte les cases vides de gauche par des 1 ;
Exemple :
+13 sur 8 bits : 00001101, -13 sur 8 bits : 11110011

2.3

Reprsentation des nombres rels dans un calculateur

Dans un calculateur, un nombre est toujours crit sous forme d1 bloc de n e.b.
(considr comme un entier N ).
Pour reprsenter les nombres fractionnaires il est ncessaire de dfinir la position de
la virgule : pour ce faire, il existe deux mthodes.

c 2002 Camille DIOU


Cours dlectronique numrique

13

2.3. Reprsentation des nombres rels dans un calculateur

2.3.1

La reprsentation en virgule fixe

On dcide que la virgule est toujours une position donne (un entier peut tre
reprsentatif dun nombre fractionnaire si on connat la place de la virgule).
Exemple :
Virgule au rang K (K chiffres aprs la virgule) :
La valeur N crite en mmoire aura les poids suivants :
N = 2N 1K 20 21 2K
0 N (2n 1)2K
Virgule au rang 0 :
N = 2N 1 20
0 N 2N 1

Inconvnient de la mthode :
problme de gestion de la virgule notamment dans les multiplications (pour les
additions et soustractions pas de problme, la position de la virgule ne change
pas) ;
limitation de la taille de la partie entire et de la partie dcimale
Exemple :

utilisation limite lorsquon traite des donnes de grandeurs diffrentes, car on


doit prendre un grand nombre de bit de part et dautre de la virgule pour pouvoir
reprsenter des grandeurs trs faible et des grandeurs trs importantes.

2.3.2

La reprsentation en virgule flottante

Le nombre N est reprsent sous la forme : exposant

mantisse

1re approche
Soit N = a3 a2 a1 a0 , a1 a2 a3 : N peut se noter : (a6 a5 a4 a3 a2 a1 a0 ).23

exposant = 3

mantisse = a6 a5 a4 a3 a2 a1 a0
Les valeurs de la mantisse et lexposant seront nots en complment 2 en mmoire
du calculateur

14

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 2 : Codage des nombres dans les machines numriques

Exemple :
Soit la mmoire de taille suivante :
4 bits
12 bits
exposant
mantisse
Coder la valeur 26,75 en virgule flottante.
(26, 75)10 = (11010, 110)2

exposant = 3
3
(11010, 11)2 = (11010110).2
mantisse = 11010110
1101 0000011010110
| {z }|
{z
}
exp=3

mantisse=214

26, 75 = 214.23

2me approche
Mthode inverse on considre que le bit le plus gauche de la mantisse pour
poids 21 .
Soit : N = a3 a2 a1 a0 , a1 a2 a3
N peut aussi se noter (0, a1 a2 a3 a4 a5 a6 a7 ). |{z}
24
|
{z
}
mantisse

exp

Exemple :
Mme exemple que prcdemment :
(26, 75)10 = (11010, 110)2 (0, 11010110).25

0101

110101100000

Remarque :
Les ordinateurs utilisent cette reprsentation avec 32 bits pour la mantisse et 8 bits pour
lexposant. En gnral, on utilise la reprsentation inverse, avec le bit le plus gauche
= 1, soit une mantisse normalise 0, 5 M < 1

2.4
2.4.1

Arithmtique binaire
Addition

Laddition en binaire se fait avec les mmes rgles quen dcimal : on commence
additionner les bits de poids faibles puis on a des retenues lorsque la somme de deux bits
de mme poids dpasse la valeur de lunit la plus grande (dans le cas du binaire : 1).
Cette retenue est reporte sur le bit de poids plus fort suivant.
La table daddition binaire est la suivante :

c 2002 Camille DIOU


Cours dlectronique numrique

15

2.4. Arithmtique binaire

A
0
0
1
1

B
0
1
0
1

+
+
+
+

=
=
=
=

C
0
1
1
0

retenue
0
0
0
1

(carry)

Exemple :
Addition des nombres de 4 bits :
+
=

0
1
1

0
0
1

1
1
0

1
0
1

(+3)
(-6)
-3

+
=

+
=

0
0
1

1
1
1

1
0
0

1
1
1

,
,
,

1
0
0

1
1
0

7,75
5,25
-3,00

+
=

La retenue de la deuxime opration indique un dpassement de capacit (overflow) :


le bit de signe est 1 alors quil aurait d tre 0 (addition de deux nombres positifs).

2.4.2

Soustraction

Dans la soustraction binaire, on procde comme en dcimal. Quand la quantit


soustraire est suprieure la quantit dont on soustrait, on emprunte 1 au voisin de
gauche.
En binaire, ce 1 ajoute 2 la quantit dont on soustrait, tandis quen dcimal il ajoute
10.
La table de soustraction binaire est la suivante :

A
0
0
1
1

B
0
1
0
1

1
1
1

,
,
,

0
1
1

C
0
1
1
0

=
=
=
=

retenue
0
1
0
0

(borrow)

Exemple :
1

1
0
0

0
1
0

5
3,5
1,5

0
0
1

0
1
0

0
1
1

1
0
1

1
0
1

3
12
-9

Remarque :
On peut utiliser le complment 2 de la valeur soustraire puis on additionne. Cela se
passe de cette manire dans les calculateurs.

16

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 2 : Codage des nombres dans les machines numriques

Exemple :
72:

7:
2:
-2 :

0
0
1

0
0
1

1
0
1

1
1
1

1
0
0

0
1
0

0
1
0

1
1
1

1
1
0

1
0
1

On ne tient pas compte de la retenue.

2.4.3

Multiplication

La table de multiplication en binaire est trs simple :


A
0
0
1
1

x
x
x
x

B
0
1
0
1

C
0
0
0
1

=
=
=
=

La multiplication se fait en formant un produit partiel pour chaque digit du multiplieur (seul les bits non nuls donneront un rsultat non nul). Lorsque le bit du multiplieur est nul, le produit partiel est nul, lorsquil vaut un, le produit partiel est constitu
du multiplicande dcal du nombre de positions gal au poids du bit du multiplieur.
Exemple :

0
0
0

0
0
0
1
0
1

1
0
0
0
0
0

0
1
0
1
=
1

1
0
0
=
=
0

multiplicande
multiplieur

5
2

10

Remarque :
La multiplication binaire par 2N , se rsume un dcalage de N bits vers la gauche. On
introduira donc droite N zro.
Exemple :
8 4 sur 8 bits :
0

16 4 sur 8 bits :
1

2.4.4

Division

La table de division binaire est la suivante :

c 2002 Camille DIOU


Cours dlectronique numrique

17

2.4. Arithmtique binaire

A
0
0
1
1

B
0
1
0
1

/
/
/
/

C
impossible
0
impossible
1

=
=
=
=

La division binaire seffectue laide de soustractions et de dcalages, comme la


division dcimale, sauf que les digits du quotient ne peuvent tre que 1 ou 0. Le bit du
quotient est 1 si on peut soustraire le diviseur, sinon il est 0.
Exemple :
Division du nombre (10010000111)2 par (1011)2 = (1101001)2 reste (100)2 ,
cest--dire 1159/11 = 105, reste 4.
1
-

0
1
0
-

0
0
1
1
0

1
1
1
0
0
-

0
1
1
1
1
1
0

0
1
1
0
0

0
1
0
-

0
1
1
1
0

1
0
1

1
1
0

1
0

0
1

1
1

1
0

1
1
0

Remarque :
La division binaire par 2N , se rsume un dcalage de N bits vers la droite. En arithmtique signe, il faut penser recopier gauche le bit de signe autant de fois que
ncessaire.
Exemple :
8/4 sur 8 bits :
0

= 0

= 1

16/4 sur 8 bits :


1

18

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 3
Les
codes
numriques

Howard Hathaway Aiken


9 mars 1900, Hoboken, E.-U.
14 mars 1973, St Louis, E.-U.

Codage : opration qui tablit une correspondance entre un ensemble source


(nombre, caractre, symbole) vers un ensemble but contenant des combinaisons de 0
et de 1.

3.1
3.1.1

Codes numriques pondrs


Code binaire pur

code pondr par des puissances de 2.


Utilis en arithmtique binaire.
Ses drives sont le code octal et le code hexadcimal.

3.1.2

Code DCB (Dcimal Cod Binaire)

chaque chiffre dcimal (0, 1, . . . , 9) est cod en binaire avec 4 e.b.


Code pondr avec les poids 1, 2, 4, 8, 10, 20, 40, 80, 100, . . .
Plus facile pour coder des grands nombre, il est surtout utilis pour laffichage des
nombres.
Remarque :
Ne pas confondre DCB et code binaire pur : quand on code selon le code binaire pur on
prend le nombre dans son intgralit et on le convertit ; par contre, quand on code en

19

3.1. Codes numriques pondrs

DCB on code chaque chiffre indpendamment les uns des autres.


Exemple :
(137)10

3.1.3

=
=

(010001001)2
(001011111)DCB

Code binaire de Aiken

Pondr par 2421, cest un code autocomplmentaire. (les reprsentations de 2


chiffres dont la somme est 2 sont complmentaires lune de lautre.
Il peut tre constitu par les rgles suivantes :
de 0 4 on code en binaire pur ;
de 5 9 on ajoute 6 et on code en binaire pur. (c..d. 5 5+6 = 11, 6 6+6 =
12, . . .)
Exemple :
dcimal
2
0
0
0
0
0

0
1
2
3
4

Aiken
4 2
0
0
0
0
0
1
0
1
1
0

dcimal
1
0
1
0
1
0

5
6
7
8
9

2
1
1
1
1
1

Aiken
4 2
0 1
1 0
1 0
1 1
1 1

1
1
0
1
0
1

Ce code est utilis dans certains calculateurs pour effectuer des soustractions par
additions de la forme complmentaire.

3.1.4

Les codes biquinaires

Cest un code compos dun groupe de n bits (en gnral 5) dont un seul parmi n
progresse la fois, et dun groupe de m bits (1 2) assurant la distinction entre n > 5 et
n 5.
Exemple :
dcimal
0
1
2
3
4

S
0
0
0
0
0

O
1
1
1
1
1

4
0
0
0
0
1

3
0
0
0
1
0

2
0
0
1
0
0

1
0
1
0
0
0

0
1
0
0
0
0

dcimal
5
6
7
8
9

S
1
1
1
1
1

O
0
0
0
0
0

4
1
1
1
1
1

3
0
0
0
1
0

2
0
0
1
0
0

1
0
1
0
0
0

0
1
0
0
0
0

Chaque combinaison a un nombre pair de 1 : scurit de transmission.


Ce code est utilis dans les calculatrices.

20

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 3 : Les codes numriques

3.2
3.2.1

Codes numriques non pondrs


Code major de trois (excdant de neuf)

On prend chaque chiffre dcimal +3, puis on convertit en binaire. On a parfois recours ce code en raison de la facilit avec laquelle on peut faire certains calculs arithmtiques.
Exemple :
(48)10

3.2.2

4
+3
7

0111

8
+3
11

1011

Code de Gray (binaire rflchi)

Un seul bit change entre deux nombres conscutifs (notion dadjacence).


Exemple :
Dcimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0

Gray
0 0
0 0
0 1
0 1
1 1
1 1
1 0
1 0
1 0
1 0
1 1
1 1
0 1
0 1
0 0
0 0
0 0

0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0

Le code prsente 4 symtries miroir. Il est cyclique : il se referme sur lui-mme.

Ce code est utilis dans les tableaux de Karnaugh (c.f. section ?? page ??), dans des
circuits dentre/sortie, et dans certains convertisseurs analogique/numrique.
Il ne convient pas pour larithmtique binaire.

3.3

Codes dtecteurs derreurs et autocorrecteurs

Ces codes sont utiliss pour contrler la transmission des donnes.

c 2002 Camille DIOU


Cours dlectronique numrique

21

3.3. Codes dtecteurs derreurs et autocorrecteurs

Souvent, on utilise un nombre de bits suprieur celui strictement ncessaire pour


coder linformation elle-mme.

3.3.1

Codes biquinaires

c.f. section ?? page ??.

3.3.2

Les codes P parmi n

Ce sont des codes autovrificateurs (dtecteurs derreurs mais pas autocorrecteurs).


Ces codes possdent n e.b. dont P sont 1 ; la position des 1 permet de reconnatre
un lment cod.
Exemple :
Pour transmettre linformation numrique dans les centraux tlphoniques (cross
bar), on utilise un code 2 parmi 5 (ou code 74210) pour reprsenter les chiffres dcimaux.
Il existe 10 combinaisons :
Dcimal
1
2
3
4
5
6
7
8
9
0

3.3.3

0
0
0
0
0
0
1
1
1
1

2 parmi 5
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
0 0 0
0 0 1
0 1 0
1 0 0

1
1
0
1
0
0
1
0
0
0

Les codes contrle de parit

Dans ces codes, on ajoute un e.b. de sorte que lensemble des bits transmettre (ou
le mot) ait un nombre pair (parit paire) ou impaire (parit impaire) de 1 .
Exemple :
0101 0 0101
0111 1 0111

Remarque :
Dans lapplication de la mthode de la parit, lmetteur et le rcepteur se mettent daccord lavance sur la parit surveiller (paire ou impaire).
Remarque :
Pour dtecter la place dun e.b. faux, il faut coder dans 2 dimensions selon les lignes et
les colonnes.

22

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 3 : Les codes numriques

Exemple :
0
1
0
1
0

1
0
0
1
0

0
0
0
1
1

0
1
1
0
0

1
0
1
1
1

Transmission

0
1
0
1
0

1
0
0
1
0

0
0
0
1
1

0
0
1
0
0

1
0
1
1
1

Ce code dtecte les erreurs simples condition que le.b. de parit ne soit pas erron.

3.3.4

Code de Hamming

Ce code est utilis dans les transmissions de donnes. Il localise et corrige les chiffres
erronns (en ajoutant des e.b. supplmentaires aux e.b. de linformation).
Le nombre binaire dinformation effective est : N = ABCD = 4
Le nombre binaire dinformation transmise est : N = abcdef g = 7
avec a =
b=
c=
d=
e=
f=
g=

3.4

ABC D
AC D
A
BC D
B
C
D

Les codes alphanumriques

Ils servent coder des chiffres, des lettres, des signes de ponctuations et des caractres spciaux (26 caractres minuscules, 26 caractres majuscules, 7 signes, 20 40
caractres spciaux comme +,|,6=,%,...)

3.4.1

Le code ASCII (American Standard Code for Information Interchange)

Cest le plus rpandu. On le retrouve pratiquement dans tous les ordinateurs et leurs
organes priphriques, pour leurs dialogues et la reprsentation des textes en mmoire.
Chaque symbole (caractre dimprimerie) est cod par 7 e.b. (un 8me e.b. peut servir
de parit) : 27 = 128 combinaisons diffrentes.

c 2002 Camille DIOU


Cours dlectronique numrique

23

3.4. Les codes alphanumriques

24

Cours dlectronique numrique

c 2002 Camille DIOU


Deuxime partie

La logique combinatoire

25

Chapitre 4
Fonctions et
oprateurs
logiques

4.1

Augustus De Morgan
27 juin 1806, Madura, Indes
18 mars 1871, Londres, R.-U.

Introduction

Les sytmes logiques fonctionnent en mode binaire les variables dentre et de


sortie ne prennent que deux valeurs : 0 ou 1 . Ces valeurs (tats) 0 et 1
correspondent des plages dfinies lavance.
Exemple :
Technologie lectrique TTL :
1
2,4 5 V
0
0 0,8 V

Technologie pneumatique :
1 prsence de pression
0 abscence de pression

Les valeurs 0 et 1 ne reprsentent ps des nombres rels mais plutt ltat


dune variable (logique) on les appelle donc niveaux logiques .
Convention des synonymes des 0 et 1 :
Ces deux valeurs peuvent tre nommes de diffrentes faons :

27

4.2. Variables logiques (binaires)

Niv. log. 0
Faux
Ouvert
Arrt
Bas
Non

Niv. log. 1
Vrai
Ferm
Marche
Haut
Oui

On dfinit deux types de logiques :


Logique positive :
niveau haut tat logique 1
(+5 V)
niveau bas tat logique 0 (0
V)

Logique ngative :
niveau haut tat logique 0 (0
V)
niveau bas tat logique 1 (+5
V)

La logique binaire base sur lalgbre de Boole permet de dcrire dans un modle
mathmatique les manipulations et traitement des informations binaires, et danalyser
les sytmes numriques.

Il existe 3 fonctions lmentaires dans lalgbre de Boole :


addition logique : appele OU, symbolise par un plus : + ;
multiplication logique : appele ET, symbolise par un point : . ;
complmentation : appele NON, symbolise par un surlignement :
tout circuit numrique peut tre dfini laide dune fonction logique (expression logique) qui reprsente la variable de la sortie en fonction des variables dentre.

4.2

Variables logiques (binaires)

Ce sont des variables ne pouvant prendre que deux valeurs distinctes : 0 ou 1 .


Une variable binaire peut reprsenter nimporte quel dispositif binaire (contact,
lampe, lectrovanne,...)
Convention :
Tout appareil est schmatis ltat de repos.
Dans tous les cas, laction sur un appareil sera note a, b, ... et la non action a, b, ...
Exemple :
Bouton poussoir contact repos et contact travail.
1er cas : schma dun contact ouvert au repos dit contact travail .
2 cas : schma dun contact ferm au repos dit contact repos .

28

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 4 : Fonctions et oprateurs logiques

Exemple :
Relais : cest un interrupteur oprant de faon lectromagntique ; lorsquun courant
appropri passe dans le charbon, une force magntique dplace les armatures imposant louverture ou la fermeture des contacts. Il est prsent dans sa position non
alimentee (au repos).

Ils peuvent tre ferms ou ouverts au repos.

Charbon

Symbole dun relais double


normalement ouvert et ferm

4.3

T = (A+B).C

Oprateurs logiques lmentaires

Les fonctions logiques sont conues partir dun groupe doprateurs lmentaires
appels portes .
Chaque oprateur est reprsent par un symbole et sa fonction est dfinie par une
table de vrit.

4.3.1

NON (NOT)
A
0
1

4.3.2

A
1
0

ET (AND)

&

A
0
0
1
1

B
0
1
0
1

X
0
0
0
1

Proprits du ET :
x.1 = x
x.0 = 0

x.x = 0
x.x = x

lment neutre : 1
lment absorbant : 0

4.3.3

OU (OR)

c 2002 Camille DIOU


Cours dlectronique numrique

29

4.4. Description des circuits logiques

A
0
0
1
1

B
0
1
0
1

X
0
1
1
1

Proprits du OU :
x+1=1
x+0=x

x+x=1
x+x=x

lment neutre : 0
lment absorbant : 1

4.3.4

NON-OU (NOR)
S=A+B

4.3.5

NON-ET (NAND)
S=A.B

&

4.3.6

OU exclusif (XOR)
S=AB

4.3.7

Concidence : NON-OU exclusif (XNOR)


S=AB

4.4

Description des circuits logiques

Tout circuit logique peut tre dcrit par des fonctions logiques et/ou une table de
vrit, et tre ralis partir des oprateurs logiques lmentaires.

4.4.1

Table de vrit

La table de vrit nous fait connatre la raction dun circuit logique aux diverses
combinaisons de niveaux logiques appliques ses entres.

30

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 4 : Fonctions et oprateurs logiques

Exemple :
A
0
1

B
0
..
.
1

C
0
1

X
?
..
.
?

Y
?
..
.
?

A
B
C

X
Y

Exemple :
Donner
la table de vrit dun circuit 3 entres A,B,C et 2 sorties X,Y tel que :

X=1 si les 3 entres ont le mme niveau
Y=1 si A=B

4.4.2

Logigramme

Un logigramme est un schma illustrant lexpression dune fonction logique sans


tenir compte des constituants technologiques.
Exemple :
A
B

X=A.B+C

Remarque :
Notation : Par convention, une entre ou une sortie doprateur logique active un
niveau haut sera note a, b, sel, etc.
Une entre ou une sortie doprateur logique active un niveau bas sera note c,
d, MEM, etc.

4.5

Universalit des portes NON-ET et NON-OU


Thorme de De Morgan :
1. Le complment dun produit est gal la somme des complments des termes du produit : S = a.b = a + b
2. Le complment dune somme est gal au produit des complments des termes de la somme : S = a+b = a.b

Le thorme de De Morgan et ses consquences est :


trs utile pour simplifier des expressions ;

c 2002 Camille DIOU


Cours dlectronique numrique

31

4.5. Universalit des portes NON-ET et NON-OU

valable galement si a ou b sont des expressions contenant plusieurs variables


Exemple :
(A .B + C) = (A.B).C = A. B .C

consquences :
1. une porte NON-OU est une porte ET avec ses entres inverses :

2. une porte NON-ET est une porte OU avec ses entres inverses :

Universalit des portes NON-ET et des portes NON-OU :


Toutes les portes logiques lmentaires (ET, OU, NON) peuvent
tre ralises avec des portes NON-OU ou NON-ET.

4.5.1

Universalit des portes NON-OU


a

a+b
a

NON :

4.5.2

b
a+a

ET :

OU :

a+b

Universalit des portes NON-ET


a
a.b
a

NON :

a.a

OU :

ET :

a
b

a.b

Exemple :
Raliser la fonction X=AB+CD laide du CI (circuit intgr) suivant :
14

13

12

11

10

VCC

7400 :
1

A
B

AB

C
D

CD

32

Cours dlectronique numrique

&

&

&

&

11

c 2002 Camille DIOU


Chapitre 4 : Fonctions et oprateurs logiques

Remarque :
la mme approche peut etre faite pour les portes OU exclusif ;
les oprateurs NAND, NOR, OU exclusif, ainsi que le groupe doprateurs (ET,
OU, NON) sont appels des oprateurs complets puisquils peuvent raliser
seuls toutes les oprations logiques.

4.5.3

Famille des circuits logiques


TTL (Transistor-Transistor Logic) le plus populaire (54xx, 74xx) ;
ECL (Emitter-Coupled Logic) pour des circuits rapides (10xxx) ;
MOS (Metal Oxyd Semiconductor) haute intgration ;
CMOS (Complementary Metal Oxyd Semiconductor) faible consom. (40xx) ;
I2L (Integrated Injection Logic) haute intgration.

Certains fonctionnent en logique positive, dautres en logique ngative.

4.6
4.6.1

Simplification dexpressions logiques


Mthode algbrique

Il nest pas facile de trouver le rsultat minimal application des thormes de De


Morgan, factorisation, astuce, ...
Exemple :
x+xy = x(1+y)+xy = x+xy+xy = x+y
x.(x+y) = x+xy = x
ABC + ABC + ABC + ABC = AC + AB + BC

4.6.2

(thorme dallgement)
(absorption)

Diagramme de Karnaugh et termes adjacents

Deux termes sont adjacents quand ils ne diffrent lun de lautre que par une seule
variable. ABC et ABC sont adjacents. Un digramme de Karnaugh est une table dimplication logique dispose de telle manire que deux termes logiquement adjacents soient
galement adjacents gomtriquement.
Le diagramme de Karnaugh est un outil graphique, mthodique. Il permet dobtenir
une solution optimale la simplification logique.
A Forme du diagramme de Karnaugh
Comme la table de vrit, il met en vidence le rapport entre les entres et les sorties
(chaque ligne de la table de vrit correspond une case du diagramme de Karnaugh).

c 2002 Camille DIOU


Cours dlectronique numrique

33

4.6. Simplification dexpressions logiques

Exemple :
X
A

0
0
1
1

0
1
0
1

1
0
0
1

X
B
0

Exemple :
X

B
00

01

11

10

3 entres :

Exemple :
X

CD
AB

00

01

11

10

00
01
B
11
A

4 entres :

10

Remarque :
Les tableaux de Karnaugh se prsentent comme des cylindres ferms dans les deux
sens.

Mthode de simplification
1. dessiner la table de Karnaugh correspondant la fonction ;
2. on entame les 1 isols ;
3. on runit les octets de 1 adjacents ;
4. on runit les quartes de 1 adjacents ;
5. on runit les doublets de 1 adjacents pour runir tous les 1 du tableaux ;
6. effectuer laddition logique e tous les termes rsultants des runions, sachant que :
un octet de 1 permet dliminer les 3 variables qui se trouvent sous les deux
formes (complment et non complment) ;
un quartet de 1 permet dliminer les 2 variables qui se trouvent sous les deux
formes (complment et non complment) ;
un doublet de 1 permet dliminer la variable qui se trouve sous les deux formes
(complment et non complment) ;

34

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 4 : Fonctions et oprateurs logiques

Tableau de Karnaugh 5 variables


E
0

CD
AB

CD
00

01

11

10

AB

00

01

11

10

AB

CDE
000

00

00

00

01

01

01

11

11

11

10

10

10

001

011

010

110

111

101

100

E
X

C
D

B
A

Tableau de Karnaugh 6 variables


F
0

X
DE

DE
00

AB

01

11

10

00

AB

00

00

01

01

11

11

10

10

01

11

10

X
ABC

001

011

010

110

111

101

100

001

011
010

X
DE

AB

DEF
000

000

DE
00

01

11

10

AB

00

00

01

01

11

11

10

10

00

01

11

10

110
111
101
100

F
X

F
E
D

Remarque :
il peut exister des tats indiffrents (nots X). Ces tats correspondent des
combinaisons dentre impossibles. On les remplacera par 1 ou 0 de faon
avoir la simplification la plus optimale ;
on peut utiliser une meme case plusieurs fois, puisque x + x + x + + x = x.

4.6.3

Mthodes algorithmiques

Au del de 6 variables, on utilise des mthodes algorithmiques (mthode de Ruine).

c 2002 Camille DIOU


Cours dlectronique numrique

35

4.6. Simplification dexpressions logiques

36

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 5
Les
circuits
combinatoires

5.1

Charles Babbage
26 dc. 1791, Teignmouth, R.-U.
1871, London, R.-U.

Circuits logiques combinatoires usuels

Circuit combinatoire : circuit dont les sorties dpendent uniquement de la combinaison des tats des entres linstant de lobservation.

5.1.1
A

Circuits de transcodage (codeurs, dcodeurs, convertisseurs)

Codeur (encodeur)

Circuit M=2N entres et N sorties qui code en binaire le rang de la seule entre
active.
V

une seule entre


active la fois

A0

S0

A1

S1

A2

S2

A m-1

n-1

37

reprsentation
en sortie sur N
bits

5.1. Circuits logiques combinatoires usuels

Exemple :
Codeur dcimal-DCB : 10 entres, 4 sorties
0
1
2
3
4
5
6
7
8
9

A9
1
1
1
1
1
1
1
1
1
0

A8
1
1
1
1
1
1
1
1
0
1

A7
1
1
1
1
1
1
1
0
1
1

A6
1
1
1
1
1
1
0
1
1
1

A5
1
1
1
1
1
0
1
1
1
1

A4
1
1
1
1
0
1
1
1
1
1

A3
1
1
1
0
1
1
1
1
1
1

A2
1
1
0
1
1
1
1
1
1
1

A1
1
0
1
1
1
1
1
1
1
1

S
S

A0
0
1
1
1
1
1
1
1
1
1

S3
0
0
0
0
0
0
0
0
1
1

S2
0
0
0
0
1
1
1
1
0
0

S1
0
0
1
1
0
0
1
1
0
0

2
3

S0
0
1
0
1
0
1
0
1
0
1

Application : codeur de clavier numrique


0
1
2

reprsentation DCB
9

Remarque :
Les codeurs de priorits sont une version modifie du codeur : quand deux entres sont
actives, cest lentre correspondant au nombre le plus haut qui est choisi.

Dcodeur

Le dcodeur est un circuit qui tablit la correspondance entre un code dentre sur N
bits et M lignes de sortie (M 2N ).

38

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 5 : Les circuits combinatoires

Pour chacune des combinaisons dentre, une seule ligne de sortie est valide.
Exemple :
Dcodeur DCB-dcimal : 4 entres, 10 sorties.
Remarque :
La plupart des dcodeurs sont dots dune ou plusieurs entres de validation qui comandent son fonctionnement.

Applications des dcodeurs


1 : Adressage dune mmoire
une mmoire est un tableau dlments binaires (diviss en lignes et colonnes) ;
pour lire un mot mmoire, il faut lui envoyer le numro de ligne souhait
(adresse) ;
souvent, le dcodeur est interne la mmoire.
2 : Gnration de fonction
Toute fonction logique peut tre ralise partir dune combinaison de dcodeur.
Exemple :
F=ABC+ABC+AB+C
Remarque :
Il nest pas ncessaire de simplifier la fonction avant la ralisation.

Mise en cascade des dcodeurs


Utilisation de lentre de validation.
Exemple :
Raliser un dcodeur 3 entres en utilisant 2 dcodeurs 2 entres.
e0
e1

s0
s1
s2
s3

Q
V
s

e0
e1
e2

Q
V

s4
s5
s6
s7

Raliser un dcodeur 16 sorties laide de dcodeurs 4 sorties.

c 2002 Camille DIOU


Cours dlectronique numrique

39

5.1. Circuits logiques combinatoires usuels

C Transcodeurs (convertisseurs)
Circuit p entres et k sorties qui convertit un nombre crit dans un code C1 en un
nombre crit dans un code C2.
Exemple :
Code binaire code Gray
Code DCB code affichage chiffre (dcodeur 7 segments)

5.1.2

Multiplexeursdmultiplexeurs

A Multiplexeurs (MUX)
Circuit 2n entres dinformations, n entres de slection, et une sortie. Il permet
laiguillage de lune de ces entres vers la sortie.
Exemple :
MUX 2 entres de donnes
sel

E0
E1

E1
X
X

MUX

E0
X
X

sel
0
1

out
E0
E1

S=sel.E0 + sel.E1

out

Remarque :
La table de vrit devient rapidement trs importante ( partir de 4 entres). On exprime
alors la fonction de sortie directement

Exemple :
MUX 4 entres ( 2 entres de slection a1 a0 ) S=a1 .a0 .E0 + a1 .a0 .E1 +

Application des MUX

1. Conversion paralllesrie
On place successivement les valeurs
00, 01, 10, 11 sur a1 a0 .

1
1
0
1

S=1011

a1 a0
0
0
1
1

40

Cours dlectronique numrique

0
1
0
1

Ralis par
un compteur

c 2002 Camille DIOU


Chapitre 5 : Les circuits combinatoires

2. Gnrateur de fonctions
Toute fonction logique peut tre ralise partir des MUX. Les entres de slection (commande) sont alors les variables de
la fonction.

Source info 1
Ex: clavier

Source info 2
Ex: lecteur de
disquettes
n bits

n bits

MUX
aiguillage

slection

3. Slection de mots
Le MUX est ralis partir de n MUX
2 entres travaillant avec la mme commande de slection.

n bits

destination

Remarque :
Intrt : pas besoin de simplifier la fonction avant de la raliser.

Exemple :
F = ABC + ABC
Utilisation de MUX 8 vers 1.
S = ABCE0 + ABCE1 + + ABCE4 +

Dmultiplexeurs (DEMUX)

Circuit 2n sorties, 1 entre dinformation, n entres de commande. Il permet


laguillage dinformation de lentre vers lune des sorties.
Remarque :
Le MUXDEMUX est un circuit programmable (les relations entre entres et sorties sont
modifiables).

Exemple :
Transmission avec multiplexage/dmultiplexage.

source 0

rcept. 0
MUX

metteur

voie de transmission

source n

5.1.3

rcepteur

DEMUX
rcept. n

Le comparateur

Il dtecte lgalit entre deux nombres A et B. Certains circuits permettent galement


de dtecter si A est suprieur ou bien infrieur B.

c 2002 Camille DIOU


Cours dlectronique numrique

41

5.2. Synthse des circuits combinatoires

A Comparateur de 2 e.b.
ai
0
0
1
1
B

bi
0
1
0
1

Ei
1
0
0
1

Si
0
0
1
0

Ii
0
1
0
0

Ei =
Si =
Ii =
Di =

ai
ai
ai
ai

=bi
>bi
<bi
6=bi

=ab
= a.b
= a.b
= ab

Comparateur de 2 nombres

5.1.4

Lunit arithmtique et logique (UAL)

Utilise dans pratiquement tous les systmes informatiques, elle ralise des oprations arithmtiques (addition, soustraction, etc.) et logiques (ET, OU, etc.). Cest un circuit programmable : les relations entre les donnes en sortie et les donnes en entre sont
modifiables.

5.2

Synthse des circuits combinatoires

5.2.1

Prsentation

Si le nombre de variables mises en uvre est faible (typiquement infrieur 10),


les circuits sont raliss directement laide de la table de vrit, ventuellement aprs
simplification de la fonction logique. Dans le cas contraire, la fonction est dcompose
en diffrents blocs fonctionnels analyss sparment.
Le choix des composants utiliss est bas sur diffrents critres : nombre de boitiers,
cot, disponibilit, points test, complexit des connexions, etc.
Les diffrents choix sont :
a) utilisation de portes simples (OU, ET, NON) ou des portes NON-OU et NON-ET ;
b) dveloppement de circuits intgrs (CI) spcialiss. Le problme du cot de dveloppement et de fabrication impose une production en trs grandes sries ;
c) utilisation de circuits intgrs combinatoires :
MUX, DEMUX ;
dcodeurs ;
circuits logiques programmables : PROM, PAL, etc.

5.2.2 Circuits logiques programmables


A

Introduction

La ralisation pratique dun systme logique dit cbl consiste utiliser les composants CI disponibles sur le march. Cela oblige le concepteur dcomposer un systme
donn en blocs fonctionnels proposs par les constructeurs et optimiser son choix.

42

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 5 : Les circuits combinatoires

Lapparition des circuits adaptables dits programmables par le constructeur ou


lutilisateur apporte une solution ce problme.
B

Structure des circuits logiques programmables

Toute fonction logique de n variables peut se mettre sous la forme dune somme
de produits. Cela implique que toute fonction logique peut tre ralise par lutilisation
dune structure comportant deux ensembles fonctionnels :
un ensemble doprateurs ET organiss sous forme de matrice permet de gnrer
les produits des variables dentre ;
un ensemble doprateurs OU permet de sommer les produits.
a) PROM (Programmable Read-Only Memory) ou PLE (Programmable Logic Element)
b) PAL (Programmable Array Logic)
c) FPLA (Field Programmable Logic Array)

5.2.3

Programmation des circuits logiques programmables

Les PROMs et PALs se programment assez facilement avec des programmateurs universels standards dans lesquels est incorpor un module spcifique pour
chaque constructeur ;
les FPLAs ncessitent des programmateurs plus sophistiqus cause des doubles
matrices programmer.

c 2002 Camille DIOU


Cours dlectronique numrique

43

5.2. Synthse des circuits combinatoires

44

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 6
Fonctions
et oprateurs
arithmtiques

John von Neumann


28 dc. 1903, Budapest, Hongrie
8 fv. 1957, Washington DC, E.-U.

45

46

Cours dlectronique numrique

c 2002 Camille DIOU


Troisime partie

Les circuits squentiels

47

Chapitre 7
Les
bascules
Alan Mathison Turing
23 juin 1912, Londres, R.-U.
8 juin 1954, R.-U.

7.1

Introduction

Circuit squentiel : circuit dont ltat des sorties dpend non seulement des entres
mais galement de ltat antrieur des sorties. Ces circuits doivent donc tre capables de
mmoriser.
Exemple :


M =0
L=0
A=0

M =1
2
L=1
A=0

M =0
L=1
A=0

M =0
4
L=0
A=1


5

M =0
L=0
A=0

Dans un tel systme, une mme combinaison des variables dentre ne correspond
pas toujours la mme valeur la sortie (3 et 5). La fonctionnalit dpend de lordre des
oprations (ordre de droulement des squence) systme squentiel.
Les fonctions squentielles de base sont :
mmorisation ;
comptage ;
dcalage.
Les circuits squentiels fondamentaux sont :
bascules (3 types) ;

49

7.2. Bascule RS

compteurs ;
registres ;
RAM (Random Access Memory).
Ces circuits peuvent travailler soit en mode synchrone, soit en mode asynchrone :
mode asynchrone tout moment, les signaux dentre peuvent provoquer le changement dtat des sorties (aprs un certain retard quon appelle temps de rponse . Ces systmes sont difficiles concevoir et dpanner.
mode synchrone Le moment exact o les sorties peut changer dtat est command
par un signal dhorloge (train dondes carres ou rectangulaires). Les changements
dtat seffectuent tous pendant une transition appele front (montant ou descendant).
La majorit des systmes numriques squentiels sont synchrones mme si certaines
parties peuvent tre asynchrone (ex. : reset).
Les avantages principaux du mode synchrone sont :
prparer les entres sans perturber les sorties ;
protger des parasites survenant en entre.
Les bascules que lon peut considrer comme des mmoires lmentaires, sont les
briques de base des circuits squentiels.
Ce sont les circuits de mmorisation les plus rpandus dans les systmes numriques
en raison de leur rapidit de fonctionnement, de la facilit dcriture et de lecture dinformation, et de la grande simplicit de leur interconnexion avec des portes logiques.
On trouve deux grandes familles de bascules :
bascules de mmorisation : elles possdent les commandes de mise zro, mise
un, mmorisation ;
bascules de comptage : elles possdent en outre une commande de changement
dtat.

7.2

Bascule RS

La bascule RS est le circuit squentiel le plus simple. Son rle consiste mmoriser
une information fugitive.

Symbole
R : reset
S : set

50

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 7 : Les bascules

Diagramme temporel
Quand une impulsion est applique 1 entre pour
imposer un certain tat la bascule, celle-ci demeure dans
cet tat, mme aprs que limpulsion ait disparu. Q garde
son tat lorsque S passe de 1 0 et lorsque R passe de 1
0.

Table de vrit
S
0
0
0
0
1
1
1
1

R
0
0
1
1
0
0
1
1

Q+
0
1
0
0
1
1
X
X

Qt
0
1
0
1
0
1
0
1

S
0
0
1
1

R
0
1
0
1

Q+
Q
0
1
X

mmorisation
mise 0
mise 1
interdit

Tableau de Karnaugh
S
Q
Q

R
0
1

0
0

X
X

1
1

Si X=1 Q=S+R.Q (avec priorit de mise 1).

somme de produit ralisation laide de portes NAND.


Si X=0 Q=R.(S+Q) (avec priorit de mise 0).

produit de sommes ralisation laide de portes NOR.


Remarque :
Dans les deux cas, lorsquon passe de ltat (R,S)=(1,1) (R,S)=(0,0) en passant
soit par ltat stable correspondant (R,S)=(1,0), soit par ltat stable correspondant
(R,S)=(0,1), selon la rapidit relative des passages 01 de chacun des signaux, alors

c 2002 Camille DIOU


Cours dlectronique numrique

51

7.2. Bascule RS

la sortie peut prendre aussi bien ltat Q=1 que Q=0.


il faut donc interdire la combinaison R=S=1 afin de lever lambigut pour un tat
R=S=0 venant aprs un tat R=S=1.

Fonctionnement de la bascule avec des NOR


quand R=S=0, il y a deux possibilits et nous verrons que ltat pris par la bascule
dpend des valeurs appliques prcdemment aux entres :

S=0

si Q = 0 G = 1 et Q = 0

S=0

si Q = 1 G = 0 et Q = 1

memorisation

Examinons si S :01 et R=0


Si Q=0 larrive de limpulsion sur S, alors S = 1 Q = 0 Q = 1

Si Q=1 larrive de limpulsion sur S, alors S = 1 Q = 0 Q reste 1


lapplication dune impulsion de niveau haut sur S place la bascule dans ltat
Q=1.
opration de mise 1 SET
Si on applique R :01 et S=0
R :01
Si Q=0 Q=0 Q = 1
R :01
Si Q=1 Q=0 Q = 1
lapplication dune impulsion de niveau haut sur R place la bascule dans ltat
Q=0.
opration de mise 0 RESET
R=S=1
Q=Q=0
condition indsirable, puisque Q et Q doivent tre linverse lun de lautre
de plus, incertitude lorsque S et R reveiennent 0
R=S=1 ne doit pas servir

52

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 7 : Les bascules

7.3

Bascule RS synchrone

Symbole

Ralisation

Table de vrit
S
X
0
0
1
1

R
X
0
1
0
1

QN+1
QN
QN
1
0
X

La sortie est indice est vaut QN avant le front de lhorloge et QN+1 aprs le front de
lhorloge.
S et R ninfluencent pas Q sauf pendant les quelques nanosecondes durant lesquelles
CLK passe du niveau bas au niveau haut (pour les circuits actifs sur front montant).
Exemple :

7.4

Bascule JK

Les bascules JK sont seulement en fonctionnement synchrone.


Elles sont plus polyvalentes que les basculent RS, car elles nont pas dtat ambigu et
R = S = 1 QN+1 = QN

c 2002 Camille DIOU


Cours dlectronique numrique

53

7.4. Bascule JK

Symbole

Ralisation

Table de vrit
J
X
0
1
0
1

K
X
0
0
1
1

QN+1
QN
QN
1
0
QN

mmorisation
forage 1
forage 0
commutation

Remarque :

Pour que le basculement fonctionne, il faut avoir H trs troite, autrement il y a
rebasculement.

Tableau de Karnaugh et fonction logique


K
QN+1
QN

J
0
1

1
1

1
0

0
0

QN+1 = J.QN + K.QN


Les bascules JK sont trs courantes dans les systmes numriques
Exemple :

54

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 7 : Les bascules

7.5

Bascule D synchrone

Symbole

Table de vrit
H

DN
1
0

QN+1
1
0

QN+1 prend la valeur de DN aprs le front actif : QN+1 = DN


Cest une bascule de recopie : on lemploie seulement en synchrone.

Ralisation

Idem pour la ralisation partir des JK.


Remarque :

La sortie Q nest gale lentre D qu des moments bien prcis le signal Q est
diffrent du signal D.

7.6

Bascule verrouillage (latch)

Symbole
Fonctionnement
quand CLK=0 lentre D na aucun effet (mmorise) ;
quand CLK=1 Q suit les changements de D la bascule est transparente.
Remarque :

Notez labsence du symbole . sur lentre CLK.

c 2002 Camille DIOU


Cours dlectronique numrique

55

7.7. Bascule T

7.7

Bascule T

Symbole

Table de vrit
T
0
1

QN+1
QN
QN

Cette bascule est utilisable uniquement en mode synchrone. Elle sobtient par
exemple partir dune bascule JK.

7.8

Entres prioritaires asynchrones des bascules

La plupart des bascules synchrones possdent des entres prioritaires. Elles agissent
indpendamment de lhorloge et des entres synchrones des bascules. Elles servent
forcer, tout moment, la mise 1 ou 0 de la bascule, quelles que soient les conditions
dentre.
Exemple :
Preset
1
0
1
0

Clear
1
1
0
0

Q
fonctionnement normal
1
0
ambigu, interdit

Les entres asynchrones peuvent tre vraies ltat bas (cas le plus frquent) ou
ltat haut.
En gnral, on applique juste une impulsion ces entres pour faire une initialisation.
Dsignations synonymes :
Clear
RAZ
Reset
DC Clear

Preset
RAU
Set
DC Set

Remarque :

Les entres synchrones sont des niveaux de tension continue

56

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 7 : Les bascules

7.9

7.9.1

Applications des bascules

Mmoire

mmorisation dune information fugitive


Exemple :
Mmorisation dune commande de marche

7.9.2

Antirebond pour commutateur


Exemple :

7.9.3

Synchronisation
Exemple :

Solution :

c 2002 Camille DIOU


Cours dlectronique numrique

57

7.9. Applications des bascules

7.9.4

Dtection dune squence dentre


Exemple :

Solution :

dtection du sens de rotation dun moteur.

7.9.5

Division de frquence

La division de frquence par 2 (et donc 2N ) peut tre ralise facilement laide des
diffrents registres.
Bascule D
DN =QN+1 .
On veut QN+1 =QN DN = QN

Bascule JK

Bascule RS

58

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 8
Registres : stockage
et transfert de
donnes

Richard Wesley Hamming


11 fv. 1915 Chicago, E.-U.
7 jan. 1998 Monterey, E.-U.

Registre : ensemble de n bascules synchronises permettant de stocker momentanment une information sur n bits.

8.1

Dfinition

Un registre est un circuit constitu de n bascules synchronises permettant de stocker


temporairement un mot binaire de n bits en vue de son transfert dans un autre circuit
(pour traitement, affichage, mmorisation, etc.)
Le schma dun tel systme comporte autant de bascules (de type D) que dlments
binaires mmoriser. Toutes les bascules sont commandes par le mme signal dhorloge.
Moyennant une interconnexion entre les cellules (les bascules D), un registre est
capable doprer une translation des chiffres du nombre initialement stock. Le dplacement seffectue soit vers la droite soit vers la gauche. Le registre est alors appel
registre dcalage .
Applications :
conversion srie-parallle dune information numrique ;
oprations de multiplications et divisions par deux ;
ligne retard numrique ;
mmoires accs squentiel
Registre universel : il rsume les diffrentes entres et sorties dun registre

59

8.2. Registre criture et lecture parallles

dcalage procurant tous les modes de fonctionnement possibles.

8.2

Registre criture et lecture parallles

Tous les bits du mot traiter sont crits (entre criture E=1), ou lus, (entre lecture
L=1), simultanment.

stockage en parallle et transfert en parallle dun mot de 4 bits.

8.3

Registre dcalage : criture srie et lecture srie

Aprs 4 pulsations de CLK, les 4 bits sont entrs dans le registre.


Aprs 4 autres cycles dhorloge, les 4 bits sont dplacs vers la sortie.
Leur application est essentiellement le calcul arithmtique binaire. CLK est alors
lentre de dcalage.

60

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 8 : Registres : stockage et transfert de donnes

8.4

Registre dcalage : criture srie et lecture parallle

Lorsque lentre est stocke, chaque bit apparat simultanment sur les lignes de
sortie.
Le registre dcalage est utilis comme convertisseur srie-parallle. Il est ncessaire la rception lors dune transmission srie.

8.5

Registre dcalage : criture parallle et lecture srie

Utilis comme convertisseur parallle-srie, il est ncessaire lmission lors dune


transmission srie.

c 2002 Camille DIOU


Cours dlectronique numrique

61

8.5. Registre dcalage : criture parallle et lecture srie

62

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 9
Les
compteurs
Claude Elwood Shannon
30 avr. 1916, Gaylord, E.-U.
24 fv. 2001, Medford, E.-U.

Compteur : circuit squentiel dcrivant un cycle de comptage rgulier ou quelconque.

9.1
9.1.1

Compteur asynchrone ( propagation)


Compteur asynchrone cycle rgulier
Exemple :
Compteur asynchrone 4 bits (compte de 0 15).

a) Ralisation laide de bascules JK

La sortie de chaque bascule agit comme le signal dhorloge de la suivante.


Fonctionnement
J=K=1 ; toutes les bascules commutent sur des fronts descendants ;
la bascule A commute chaque front descendant du signal dhorloge ;
la sortie de la bascule 1 sert dhorloge pour la bascule 2 B commute chaque

63

9.1. Compteur asynchrone ( propagation)

fois que A passe de 1 0 ;


de la mme manire, C commute lorsque B passe de 1 0, et D commute lorsque
C passe de 1 0.
b) Table dimplication squentielle
Elle montre les tats binaires pris par les bascules aprs chaque front descendant.
N
0
1
2
3
4
5
..
.
15
16
..
.

D
0
0
0
0
0
0
..
.
1
0
..
.

C
0
0
0
0
1
1
..
.
1
0
..
.

B
0
0
1
1
0
0
..
.
1
0
..
.

A
0
1
0
1
0
1
..
.
1
0
..
.

Si on imagine que DCBA reprsente un nombre binaire, le compteur ralise la suite


des nombres binaires allant de 0000 1111 (soit de 0 15).
A prs la 15me impulsion, les bascules sont dans la condition 1111. Quand la 16me
impulsion arrive, le compteur affiche 0000 : un nouveau cycle commence.
c) Chronogramme

chaque bascule divise par deux la frquence dhorloge qui alimente son entre
finitale
CLK : fD =
.
16
Application : avec ce genre de circuit, on peut diviser la frquence initiale par nimporte quelle puissance de 2.
d) Modulo
cest le nombre dtat occups par le compteur pendant un cycle complet ;
le modulo maximal dun compteur n bits (n bascules) est 2n ;
ex. : compteur 4 bits 16 tats distincts modulo 16.

9.1.2

Compteur asynchrone modulo N < 2n ( cycle rgulier)

a) Mthode

64

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 9 : Les compteurs

Pour 2N-1 < N < 2N , on ralise un compteur modulo 2n (avec n bascules), puis on
raccourcit le cycle en jouant sur les entres RAZ des bascules.
Exemple :
Compteur asynchrone modulo 6 : 22 < 6 < 23 on ralise un compteur modulo 3
avec 3 bascules, et on ramne le compteur 000 ds que Q2 Q1 Q0 = 110.

ds que la sortie de la porte NAND passe 0, les bascules sont forces 0 : le


compteur se remet compter partir de 0.
le compteur ralis compte de 000 101 (de 0 5) puis recommence un nouveau
cycle modulo 6

b) Table dimplication squentielle


N
0
1
2
3
4
5
6

Q2
0
0
0
0
1
1
1

Q1
0
0
1
1
0
0
1

Q0
0
1
0
1
0
1
0

Q2 Q1 Q0 = 110 est un tat temporaire. Il existe mais pendant une dure trs courte.
Cest un tat indsirable que lon nomme parfois glitch.
c) Chronogramme

Remarque :

Les sorties Q2 et Q1 ne sont pas des ondes carres.

9.1.3

Comptage asynchrone dans un ordre quelconque (cycle irrgulier)

1re mthode

c 2002 Camille DIOU


Cours dlectronique numrique

65

9.1. Compteur asynchrone ( propagation)

On ralise un compteur de mme modulo, puis on transcode ses sorties pour obtenir
le cycle demand.
Exemple :
Cycle 2, 5, 6, 8, 4, 10

N
0
1
2
3
4
5

Q2
0
0
0
0
1
1

Q1
0
0
1
1
0
0

Q0
0
1
0
1
0
1

Q03
0
0
0
1
0
1

Q02
0
1
1
0
1
0

Q01
1
0
1
0
0
1

Q00
0
1
0
0
0
0

2
5
6
8
4
10

2me mthode
Utilisation des entres RAZ et EAU.
Exemple :
Cycle 0, 1, 2, 3, 5, 6, 8, 9, 11, 12, 15 : on ralise un compteur modulo 16 et on agit
sur les RAU pour sauter les tapes.

9.1.4

Exemple de CI

Il existe de nombreuses puces en technologies TTL et CMOS.


Parmi les plus populaires on trouve en TTL le 7493 qui est un compteur 4 bits, et en
CMOS le 4024 qui est un compteur 7 bits.

Circuit interne

MR Master Reset.

66

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 9 : Les compteurs

9.1.5

Dcompteurs asynchrones

Il suffit de piloter chaque entre CLK des bascules au moyen de la sortie complmente de la bascule prcdente.
Exemple :
Dcompteur modulo 8

Chronogramme :

9.1.6

Inconvnients des compteurs asynchrones

Chaque bascule introduit un retard de tp (tp =25ns). Comme les retards sadditionnent,
la nime bascule, on a un retard de ntp .
utilisation limite en frquence, particulirement lorsque le nombre de bits est
lev.
les sorties ne changent pas dtat en mme temps, ce qui implique un problme
dinterface avec des circuits rapides (temps de lecture infrieur au retard entre plusieurs
bits).

9.2
9.2.1

Compteur synchrone (parallle)


Ralisation

Elle est possible avec des bascules JK, D ou T.

c 2002 Camille DIOU


Cours dlectronique numrique

67

9.2. Compteur synchrone (parallle)

Exemple :
Ralisation dun compteur modulo 8 ( cycle complet) laide de bascules T
Table dexcitation
Q+
Q+
T2 T1 T0
Q2 Q1 Q0 Q+
2
1
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
On constate que : T0 = 1 et T1 =Q0 et T2 =Q1 Q0

9.2.2

Exemples de circuit intgr

Compteur pr-rglable 74160 (74161, 74162, 74163)


ltat initial du compteur est rglable laide des entres D1 , D2 , D3 , D4 ;
validation : elle permet de verrouiller le compteur.

Circuit
74160
74161
74162
74163

Comptage
synchr. DCB
synchr. bin.
synchr. DCB
synchr. bin.

Chargement
synchrone
synchrone
synchrone
synchrone

RAZ
asynchrone
asynchrone
synchrone
synchrone

RAZ synchrone : indpendant de lhorloge.


RAZ asynchrone : 000 est obtenu au coup dhorloge suivant linstant ou clear est
port ltat actif 0.

68

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 9 : Les compteurs

Compteur rversible pr-rglable 74193

MR : entre de rinitialisation asynchrone


Q0 . . . Q3 : sorties des bascules
P0 . . . P3 : entre des donnes parallles
PL : entre de chargement asynchrone
CPU : entre du signal dhorloge de comptage
CPD : entre du signal dhorloge de dcomptage
EC : valide le comptage
ED : valide le dcomptage

Remarque :
Toutes les commandes agissant sur le comptage sont regroupes sur la figure cidessous :

9.2.3
A

Applications

Compteur de frquence

Circuit qui mesure et affiche la frquence dun signal impulsionnel (mesure de frquence inconnue).

Principe dun compteur de frquence


: dure pendant laquelle les impulsions sont comptes

c 2002 Camille DIOU


Cours dlectronique numrique

69

9.2. Compteur synchrone (parallle)

: RAZ met le compteur zro


:f =

contenu
t2 t1

Remarque :

Le compteur est un montage en cascade de compteurs DCB, chacun ayant une
unit dcodeur/afficheur (affichage dcimal).

La prcision de cette mthode est fonction de lintervalle dchantillonnage.

70

Horloge numrique

Cours dlectronique numrique

c 2002 Camille DIOU


Chapitre 10
Mthodes
dtude des
circuits squentiels

Charles Lutwidge Dodgson


ou Lewis Carroll
1832-1898

De nombreux outils permettent danalyser le fonctionnement et/ou de prvoir lvolution dun systme squentiel :
1 ) Mthodes descriptives :
a) les tables dtat : elles donnent ltat futur des sorties pour les lments de m+
moire inclus dans les systmes et ltat des sorties : A B S S ;
b) les diagrammes des temps (chronogrammes) : ils dcrivent la succession des signaux dentre, des tats des lments de mmoire. Ils reprsentent la succession
des tats logiques en fonction du temps.
2 ) Les diagrammes dtats ou graphes : ce sont des reprsentations formelles avec
nuds et flches pour reprsenter les tats stables et les transitions. Le graphe donne
une image gomtrique dune table de vrit.

3 ) Le grafcet : automatismes industriels : tape transition tape.


4 ) Les thories formelles : quations qui reprsentent laction effectuer et ltat futur
dun lment de mmoire en fonction des entres et de ltat prsent des mmoires.

71