Vous êtes sur la page 1sur 185

Cours dlectronique numrique

Maryam Siadat & Camille Diou

Format A5 Version du 16 novembre 2004

[ Notes sur cet ouvrage ]

Ce document est la date daujourdhui (16 novembre 2004) toujours en phase dcriture. Il est donc ncessairement incomplet et peut mme encore comporter des erreurs qui nauraient pas t dtectes. Ce document doit notamment senrichir lavenir des points suivants (dans le dsordre) :

la logique mixte complter la simplication des fonctions logiques mthode de Quine/McCluskey diagrammes de Venn, Johnston et Caroll familles logiques et spcications lectriques tude des systmes programmables volus (en
complment du chapitre actuel) synthse des systmes squentiels synchrones

machines dtats (Moore, Huffman, Mealey) synthse des systmes squentiels asynchrones arithmtique binaire et oprateurs arithmtiques complter les exercices et corrigs

Chapitre 0 : Notes sur cet ouvrage

AT X sous Ce document a t ralis laide des logiciels TEX et L E les environnements TEXLive et TeTEX. Les diagrammes sont raliss laide de X Y-pic. Une partie des schmas lectronique est ralise laide du paquetage CIRC .

CIRC

La police utilise pour le texte principale est Fourier.


Les descriptions bibliographiques/historiques prsentes dans les enttes de chapitres sont compose en DayRoman. Lextrait du texte de Blaife Pafcal du chapitre 2 eft galement compof danf la police DayRoman, maif dote notament de la ligature c et du S long (f ).

M. Siadat & C. Diou

Premire partie Les nombres

Chapitre 1
Les systmes de numration
Gottfried Wilhelm von Leibnitz jui. 1646, Allemagne 1716

Ce philosophe dorigine Allemande est linventeur dune machine permettant de calculer directement les 4 oprations de base. Il est aussi celui qui a introduit la notion de binaire en Occident.

1.1 La reprsentation polynomiale


Si nous manipulons les nombres de manire intuitive, cest la plupart du temps dans la base dcimale, naturelle et universelle. Mais cela ne doit pas masquer la nature mme de la numration qui peut prendre plusieurs formes, parmi lesquelles on trouve la thorie des ensembles et la reprsentation polynomiale. La reprsentation polynomiale dun nombre est sa reprsentation sous la forme suivante : an 1 b n 1 + an 2 b n 2 + an 3 b n 3 + + a2 b 2 + a1 b + a0 + a1 b 1 + a2 b 2 + + am b m 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 .

Chapitre 1 : Les systmes de numration

1.2 Le systme binaire 1.2.1 Introduction


Le systme dcimal est malheureusement difcile adapter aux mcanismes numriques, car il est difcile 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, 1} appels lments binaires ou bits (bit=Binary digIT ) ; le systme binaire est pondr par 2 : les poids sont les puissances de 2 ;

Exemple 1.1 26 25 1 0

24 1

23 1

22 0

21 0

20 1

21 , 0

23 1

23 1

les diffrentes puissances de 2 sont : 2 0 21 2 2 2 3 2 4 2 5 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 xe de bits, nombre impos par les circuits mmoires utiliss pour reprsenter ces nombres. Suite des nombres binaires 4 bits : Poids : 23 0 0 22 0 0 21 0 0 20 0 1 B10 0 1

M. Siadat & C. Diou

1.3. Le systme octal

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

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

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

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

2 3 4 5 6 7 8 9 10 11 12 13 14 15

Le bit le plus signicatif le bit le plus gauche est appel bit de poids fort ou MSB (Most Signicant Bit ). Le bit le moins signicatif le bit le plus droite est appel bit de poids faible ou LSB (Less Signicant Bit ). Si on utilise N bits, on peut reprsenter 2N valeurs diffrentes de 2 2N 1
0

Exemple 1.2

N = 8 : 00000000 11111111 255


Remarque 1.1
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.

1.3 Le systme octal


base B=8 ;

M. Siadat & C. Diou

Chapitre 1 : Les systmes de numration

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 = bi 2 bi 1 bi0

Exemple 1.3

(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 1.4

(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 = (am . . . a0 )10

Exemple 1.5

(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

10

M. Siadat & C. Diou

1.5. Conversion dun systme de numration un autre

1.5.2 Base 10 vers base B


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

Exemple 1.6

100 = 1.26 36 = 1.25 4 = 1.22

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

1.5.2.b 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 1.7

(20, 4)10 = (?)2 Partie entire : 20 0 2 10 0

2 5 1

2 2 0

2 1 1

2 0

M. Siadat & C. Diou

11

Chapitre 1 : Les systmes de numration

Partie fractionnaire : 0, 4 2 0 0, 8 0, 8 2 1 1, 6 0, 6 2 1 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 1.8

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

1.5.4 Base 2 vers base 2n


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

Exemple 1.9

(1011011)2

= ( 001 011 011 )2


1 3 5 3

= (133)8 = (5B )16

(0101 1011)2
B

12

M. Siadat & C. Diou

1.5. Conversion dun systme de numration un autre

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 1.10 base 8 base 2 base 16


sinon, on utilise la base 10 comme relais.

Exemple 1.11 base 5 base 10 base 2

M. Siadat & C. Diou

13

Chapitre 2
Codage des nombres dans les machines numriques
Blaise Pascal 19 juin 1623, Clermont, France 19 aot 1662, Paris, France

Ami leceur, cet avertiffement fervira pour te faire favoir que jexpofe au public une petite machine de mon invention, par le moyen de laquelle feul tu pourraf, fanf peine quelconque, faire toutef lef oprationf de larithmtique, et te foulager du travail qui ta fouvent fatigu lefprit, lorfque tu af opr par le jeton ou par la plume : je puif, fanf prfomption, efprer quelle ne te dplaira paf, aprf que Monfeigneur le Chancelier la honore de fon eftime, et que, danf Parif, ceux qui font lef mieux verff aux mathmatiquef ne lont paf juge indigne de leur approbation. Nanmoinf, pour ne paf paratre ngligent lui faire acqurir auffi la tienne, jai cru tre oblig de tclairer fur toutef lef diHcultf que jai eftimef capablef de choquer ton fenf lorfque tu prendraf la peine de la confidrer. (Blaife Pafcal, Avif nceffaire ceux qui auront curiofit de voir la machine darithmtique, et de fen fervir, 1645).

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 2.1

mmoire 8 bits :

15

Chapitre 2 : Codage des nombres dans les machines numriques

ordre dcriture ordre de lecture

valeur en 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 2n 1.

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, 0+ alors quun nombre commenant par un 1 sera ngatif : 1

Exemple 2.2

avec 4 e.b. Les valeurs vont de 7 +7

16

M. Siadat & C. Diou

2.2. Reprsentation binaire des entiers signs

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 suft de le complmenter (inversion de tous ses bits). Comme dans le cas prc0+ dent, la nature du premier bit donnera le signe : 1

Exemple 2.3

avec 4 e.b. :

+5 0101 5 1010

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

M. Siadat & C. Diou

17

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 0+ encore le bit de signe : 1 A A A+ A 1+ A+ A = = = = A+1 an 1 an 2 a0 1 11 ... 1 1 00 ... 02
0

A = A + 1 est appel compment 2

Remarque 2.1
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 2n 1 1 pour les valeurs positives, et de 1 2n 1 pour les valeurs ngatives ;

Exemple 2.4

n=8

nb > 0 de 0 127 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 ;
1 2

on complmente chaque coefcient car on reprsente sur n bits seulement

18

M. Siadat & C. Diou

2.3. Reprsentation des nombres rels dans un calculateur

Exemple 2.5 +13 sur 8 bits : 00001101, -13 sur 8 bits : 11110011

2.2.4 Reprsentation en code relatif 2n 1


Les nombres x sont reprsents par 2n 1 + x . On constate ici que le bit de signe est invers par rapport aux reprsentations prcdentes : ce code est en fait identique au codage en complment 2 avec le bit de signe complment. On calcul linverse dun nombre en relatif 2n 1 comme en complment 2 en complmentant le nombre puis en ajoutant 1.

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 dnir la position de la virgule : pour ce faire, il existe deux mthodes.

2.3.1 La reprsentation en virgule xe


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 2.6

Virgule au rang K (K chiffres aprs la virgule) : La valeur N crite en mmoire aura les poids suivants :

M. Siadat & C. Diou

19

Chapitre 2 : Codage des nombres dans les machines numriques

N = 2N 1K 20 21 2K Virgule au rang 0 : N = 2N 1 20

0 N (2n 1)2K

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) ;

Exemple 2.7 Si on dcide 2 symboles pour les parties entires et 2 symboles pour les parties fractionnaires, on ne peut plus crire 256,1.
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 faibles et des grandeurs trs importantes.

2.3.2 La reprsentation en virgule ottante simplie


2.3.2.a Introduction [WWW01] Il arrive dans de nombreux domaines que lintervalle des valeurs numriques pertinentes soit particulirement tendu. Lastronomie en est un exemple extrme puisque certains calculs peuvent faire intervenir simultanment la masse du soleil (2.1030 kg) et la masse de llectron (9.1031 kg). Ces deux nombres diffrent de plus de 60 ordres de grandeur (1060 ) ! Des calculs faisant intervenir ces nombres pourraient seffectuer en prcision multiple, avec par exemple des nombres de 62 digits. Tous les oprandes et tous les rsultats seraient reprsents par des nombres de 62 digits. Cependant, la masse du soleil nest connue

20

M. Siadat & C. Diou

2.3. Reprsentation des nombres rels dans un calculateur

quavec une prcision de 5 digits, et il ny a en physique pratiquement aucune mesure que lon puisse raliser avec une prcision de 62 digits. Une solution serait alors deffectuer les calculs avec une prcision de 62 digits et de laisser tomber 50 ou 60 dentre eux avant dannoncer les rsultats, mais ceci est coteux la fois en espace mmoire et en temps de calcul. En fait, ce quil faut est un systme permettant de reprsenter des nombres, tel que la taille de lintervalle des nombres "exprimables" soit indpendante du nombre de digits signicatifs. 2.3.2.b Principe de la reprsentation en virgule ottante Le nombre N est reprsent sous la forme : exposant 1re approche Soit N = a3 a2 a1 a0 , a1 a2 a3 : N peut se noter : (a6 a5 a4 a3 a2 a1 a0 ). 23
mantisse exp

mantisse

exposant = mantisse =

3 a6 a5 a4 a3 a2 a1 a0

Les valeurs de la mantisse et lexposant seront nots en complment 2 en mmoire du calculateur

Exemple 2.8

Soit la mmoire de taille suivante : 4 bits exposant 12 bits mantisse

Coder la valeur 26,75 en virgule ottante. (26, 75)10 = (11010, 110)2 (11010, 11)2 = (11010110).23

M. Siadat & C. Diou

21

Chapitre 2 : Codage des nombres dans les machines numriques

exposant = 3 mantisse = 11010110

1101 0000011010110
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 ). 24
mantisse exp

Exemple 2.9

Mme exemple que prcdemment : (26, 75)10 = (11010, 110)2 (0, 11010110).25 0101
Remarque 2.2
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

110101100000

2.3.3 La reprsentation IEEE 754 [WWW01]


2.3.3.a Prsentation Le standard IEEE 754 dnit trois formats : les nombres en simple prcision sur 32 bits, les nombres en double prcision sur 64

22

M. Siadat & C. Diou

2.3. Reprsentation des nombres rels dans un calculateur

bits, et les nombres en reprsentation intermdiaire sur 80 bits. La reprsentation sur 80 bits est principalement utilise en interne par les processeurs pour minimiser les erreurs darrondi. Un nombre N de 32 bits est reprsent sous la forme : s exposant mantisse

o le signe s est cod sur 1 bit, lexposant est cod sur 8 bits en code relatif 127 (cf. 2.2.4 page 19), et la mantisse sur 23 bits. Un nombre de 64 bits (double prcision) utilise la mme reprsentation ceci prs que la taille de lexposant est porte 11 bits en code relatif 1023, et celle de la mantisse 52 bits. Une mantisse normalise commence toujours par un bit 1, suivi par la virgule, puis par le reste de la mantisse. Le bit initial, toujours prsent et toujours 1 dans une mantisse normalise est implicite et non reprsent. La valeur de la mantisse est appele signicande ; le signicande a donc une valeur implicite 1 x < 2.

Exemple 2.10

1 = 20 (1 + 0) Le bit de signe sera 0, lexposant, en code relatif 127 sera reprsent par 127 = 01111111, et le signicande vaut 1, ce qui rsulte en une mantisse dont tous les bits sont 0. La reprsentation IEEE simple precision IEEE 754 du nombre 1 est donc : Code(1) = 0 01111111 0000...0 = 3F800000 s e m 1 0.5 = 2 (1 + 0) Le bit de signe est 0, lexposant, en code relatif 127 est reprsent par 127 - 1 = 01111110, et le signicande vaut 1, ce qui rsulte en une mantisse dont tous les bits sont 0. La reprsentation IEEE simple prcision IEEE 754 du nombre 0.5 est donc : Code(0.5) = 0 01111110 0000...0 = 3F000000 s e m

M. Siadat & C. Diou

23

Chapitre 2 : Codage des nombres dans les machines numriques

1.5 = 20 (1 + 21 ) Le bit de signe est 0, lexposant, en code relatif 127 est reprsent par 127 = 01111111, et le signicande vaut 1.1, ce qui rsulte en une mantisse dont le premier bit est 1 et les 22 suivants 0. La reprsentation IEEE simple precision IEEE 754 du nombre 1.5 est donc : Code(1.5) = 0 01111111 1000...0 = 3FC00000 s e m
2.3.3.b Nombres spciaux En arithmtique virgule ottante on peut obtenir un rsultat valable, ou alors rencontrer un problme de dpassement par valeur suprieure (overow) lorsque le rsultat est trop grand pour pouvoir tre reprsent, ou par valeur infrieure (underow) lorsque le rsultat est trop petit. Dpassement par valeur infrieure Cette situation arrive lorsquun rsultat est trop petit pour pouvoir tre reprsent. Le standard IEEE 754 rsout partiellement le problme en autorisant dans ce cas une reprsentation dnormalise. Une reprsentation dnormalise est caractrise par le fait davoir un code dexposant compltement nul, ce qui est interprt comme une indication du fait que le bit de poids fort de la mantisse, implicite, est cette fois 0 au lieu dtre 1. De cette faon, le plus petit nombre exprimable est : 2127 223 = 2150 1045 . Cependant, il faut remarquer que plus le nombre reprsent est petit, moins sa mantisse comportera de bits signicatifs. Ce schma permet une approche douce du phnomne de dpassement par valeur infrieure, en sacriant la prcision lorsquun rsultat est trop petit pour admettre une reprsentation normalise. Zro Zro est reprsent sous la forme dun nombre dnormalis. Ceci rsulte en deux reprsentations possibles pour zro : lune pour

24

M. Siadat & C. Diou

2.3. Reprsentation des nombres rels dans un calculateur

+0, lautre pour 0. Ces reprsentations sont caractrises par un bit de signe suivi par 31 zros. Dpassement par valeurs suprieures Le dpassement par valeurs suprieures ne peut pas tre trait comme le dpassement par valeurs infrieures, et est indiqu par un code dexposant dont tous les bits sont 1, suivi par une mantisse dont tous les bits sont 0. Ceci est interprt comme reprsentant linni. Linni peut tre positif ou ngatif, en fonction de la valeur du bit de signe. Linni peut tre utilis dans les calculs et les rsultats correspondent au sens commun : + = ; x / = 0 ; x /0 = . Not a Number (NaN) Cependant, certaines oprations peuvent ne conduire aucun rsultat exprimable, comme / =? ou 0 =?. Le rsultat de telles opration est alors indiqu par un autre code spcial : le code dexposant a tous les bits 1, suivi par une mantisse non nulle. Le nombre correspondant est appel NaN (Not a Number ) : cest un non-nombre. 2.3.3.c Rsum Nombre nombre normalis nombre dnormalis zro NaN IEEE 754 exposant mantisse + pt # normalis + gd # normalis intervalle utile + pt # dnormalis Signe 0/1 0/1 0/1 0/1 0/1 Exposant 01 FE 00 00 FF FF Mantisse quelconque quelconque 0 0 tout sauf 0

Simple prcision 126 +127 1 2 223 2126 presque 2128 1038 1038 2150 1045

Double prcision 1022 +1023 1 2 252 21022 presque 21024 10308 10308 21074 10324

M. Siadat & C. Diou

25

Chapitre 2 : Codage des nombres dans les machines numriques

2.4 Arithmtique binaire 2.4.1 Addition


Laddition en binaire se fait avec les mmes rgles quen dcimal : on commence par additionner les bits de poids faibles ; 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 : A 0 0 1 1 B 0 1 0 1 C 0 1 1 0 retenue 0 0 0 1 (carry )

+ + + +

= = = =

Exemple 2.11

Addition des nombres de 4 bits : 0 0 1 1 +3 + 1 0 1 0 + 6 = 1 1 0 1 = 3 0 1 1 1 , 1 1 7, 75 + 0 1 0 1 , 0 1 + 5, 25 = 1 1 0 1 , 0 0 = 3, 00 La retenue de la deuxime opration indique un dpassement de capacit (overow) : le bit de signe est 1 alors quil aurait d tre 0 (addition de deux nombres positifs).
Conditions de dpassement lors de laddition de deux nombres A et B de 16 bits :

26

M. Siadat & C. Diou

2.4. Arithmtique binaire

a15 0 0 0 0 1 1 1 1

b15 0 0 1 1 0 0 1 1

r15 0 1 0 1 0 1 0 1

oprandes a >0 a >0 a >0 a >0 a <0 a <0 a <0 a <0 b>0 b>0 b<0 b<0 b>0 b>0 b<0 b<0

rsultat r >0 r <0 r >0 r <0 r >0 r <0 r >0 r <0

R 0 0 1 0 1 0 1 1

D non oui non non non non oui non

R : retenue ; D : dpassement Ce tableau nous permet de dterminer la condition de dpassement (OF : overow ag ) : OF = a15 .b15 .r15 + a15 .b15 .r15 . si OF est 0, le bit de poids fort (r15 ) donne le signe du rsultat dont la valeur est disponible sur les 15 bits de poids faible. si OF est 1, lindicateur de retenue (C) donne le signe du rsultat qui est lui-mme sur 16 bits. Dans ce dernier cas, le bit de poids fort ne donne pas le signe du rsultat !

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 C 0 1 1 0 retenue 0 1 0 0 (borrow)

= = = =

M. Siadat & C. Diou

27

Chapitre 2 : Codage des nombres dans les machines numriques

Exemple 2.12

1 0 0 0 0 1

0 1 0 0 1 0

1 1 1 0 1 1

, , , 1 0 1

0 1 1 1 0 1

= =

5 3,5 1,5 3 12 9

Remarque 2.3
On peut utiliser le complment 2 de la valeur soustraire puis on additionne. Dans ce cas, il faut complmenter le retenue ( carry) pour obtenir la retenue soustractive ( borrow). Cela se passe de cette manire dans certains calculateurs.

Exemple 2.13

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 B 0 1 0 1 C 0 0 0 1

x x x x

= = = =

28

M. Siadat & C. Diou

2.4. Arithmtique binaire

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 2.14

0 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 2.4
La multiplication binaire par 2N , se rsume un dcalage de N bits vers la gauche. On introduira donc droite N zro.

Exemple 2.15

8 4 sur 8 bits : 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0

= 0

16 4 sur 8 bits : 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0

= 1

M. Siadat & C. Diou

29

Chapitre 2 : Codage des nombres dans les machines numriques

2.4.4 Division
La table de division binaire est la suivante : 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 2.16

Division du nombre (10010000111)2 par (1011)2 = (1101001)2 reste (100)2 , cest--dire 1159/11 = 105, reste 4.

30

M. Siadat & C. Diou

2.5. En rsum

1 -

0 1 0 -

0 0 1 1 0

1 1 1 0 0 -

0 1 1 1 1 1 0

0 0 1 1 0 0

1 0

0 1

1 1

1 0

0 1 0 -

0 1 1 1 0

1 0 1

1 1 0

1 1 0

Remarque 2.5
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 2.17

8/4 sur 8 bits : 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0

= 0 0

16/4 sur 8 bits : 1 1 1 1 1 0 1 0 1 0 1 0 1 0 0

= 1 1

2.5 En rsum
La valeur dun nombre est indpendant de la base dans laquelle il est not. Un nombre binaire peut avoir plusieurs valeurs diffrentes selon le systme de reprsentation. Soit le nombre binaire an an 1 . . . a1 a0 . Ce nombre vaut :

M. Siadat & C. Diou

31

Chapitre 2 : Codage des nombres dans les machines numriques

an .2n + an 1 .2n 1 + . . . + a1 .2 + a0
en reprsentation non signe

an .2n + an 1 .2n 1 + . . . + a1 .2 + a0
en reprsentation signe complment 2

1 an .2n + an 1 .2n 1 + . . . + a1 .2 + a0
en reprsentation signe complment 1

1an (an 1 .2n 1 + . . . + a1 .2 + a0 )


en reprsentation module et signe Les oprations arithmtiques obissent en binaire aux mmes rgles quen dcimal, il suft juste de se rappeler que la base de numration est 2 et non plus 10.

32

M. Siadat & C. Diou

Chapitre 3
Les codes numriques
Richard Wesley Hamming 11 fv. 1915 Chicago, E.-U. 7 jan. 1998 Monterey, E.-U.

Indeed, one of my major complaints about the computer eld is that whereas Newton could say, If I have seen a little farther than others, it is because I have stood on the shoulders of giants, I am forced to say, Today we stand on each others feet. Perhaps the central problem we face in all of computer science is how we are to get to the situation where we build on top of the work of others rather than redoing so much of it in a trivially diverent way. Science is supposed to be cumulative, not almost endless duplication of the same kind of things. (Richard W. Hamming, One Mans View of Computer Science, 1968, Turing Award Lecture)

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 Codes numriques pondrs 3.1.1 Code binaire pur


code pondr par des puissances de 2. Utilis en arithmtique binaire. Ses drives sont le code octal et le code hexadcimal.

33

Chapitre 3 : Les codes numriques

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 lafchage des nombres.

Remarque 3.1
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 DCB on code chaque chiffre indpendamment les uns des autres.

Exemple 3.1

(137)10

= (010001001)2 = (001011111)DCB

3.1.2.a Addition en DCB Laddition de deux nombres cods en DCB ne pose pas de problme tant que le rsultat est infrieur ou gal 9 : + 0000 0010 0000 0101 0000 0111 + 02 05 07

Par contre, ds que le rsultat est suprieur 9, il faut apporter une correction en additionnant 6, de manire obtenir une rponse valide : + = + = 0000 0110 0000 0100 0000 1010 0000 0110 0001 0000 + = + = 06 04 0? 06 10

erreur !

La correction est ici vidente, puisque la valeur obtenue est invalide en codage DCB. Lexemple suivant est moins vident :

34

M. Siadat & C. Diou

3.1. Codes numriques pondrs

+ = + =

0000 1001 0000 1000 0001 0001 0000 0110 0001 0111

+ = + =

09 08 11 06 17

erreur !

Dans ce dernier exemple, la correction est due au fait quil a eu dbordement sur la 4 bits de poids faible du mot DCB : il faut donc apporter une correction sur ces 4 bits de poids faible.

Note 3.1 lorsque le rsultat de laddition est infrieur 9, on ne change pas le rsultat ; lorsque le rsultat de laddition est suprieur 9, on ajoute 6 au rsultat pour obtenir la valeur exacte ; lorsquil y a une retenue auxiliaire (ou dcimale) ( auxiliary ou decimal carry), on ajoute galement 6 au rsultat obtenu, mme si la valeur est infrieure 9.
Les proprits nonces ci-dessus pour les chiffres des units sont videmment valables pour les dizaines, les centaines, etc. La correction apporter sera alors selon les circonstances +6, +60, +66, etc.

M. Siadat & C. Diou

35

Chapitre 3 : Les codes numriques

3.1.2.b Soustraction en DCB La soustraction en DCB se comporte exactement comme laddition, au signe prs.

Note 3.2 lorsque le rsultat de la soustraction est infrieur 9, on ne change pas le rsultat ; lorsque le rsultat de la soustraction est suprieur 9, on soustrait 6 au rsultat pour obtenir la valeur exacte ; lorsquil y a une retenue soustractive ( borrow), on soustrait galement 6 au rsultat obtenu, mme si la valeur est infrieure 9.

3.1.3 Code binaire de Aiken


Pondr par 2421, cest un code autocomplmentaire. (les reprsentations de 2 chiffres dont la somme est 9 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, . . .)

36

M. Siadat & C. Diou

3.1. Codes numriques pondrs

Exemple 3.2

dcimal 0 1 2 3 4 2 0 0 0 0 0

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 3.3

dcimal 0 1 2 3 4 5 6 7 8 9

S 0 0 0 0 0 1 1 1 1 1

O 1 1 1 1 1 0 0 0 0 0

4 0 0 0 0 1 0 0 0 0 1

3 0 0 0 1 0 0 0 0 1 0

2 0 0 1 0 0 0 0 1 0 0

1 0 1 0 0 0 0 1 0 0 0

0 1 0 0 0 0 1 0 0 0 0

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

M. Siadat & C. Diou

37

Chapitre 3 : Les codes numriques

Ce code est utilis dans les calculatrices.

3.2 Codes numriques non pondrs 3.2.1 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. La valeur dun mot en code major de trois est en fait gale au code DCB auquel on a ajout 3.

Exemple 3.4

(48)10

4 +3 7 0111

8 +3 11 1011

3.2.2 Code de Gray (binaire rchi)


Un seul bit change entre deux nombres conscutifs (notion dadjacence). Ce code est utilis dans les tableaux de Karnaugh (cf. section 5.1.1.c page 75, dans des circuits dentre/sortie, et dans certains convertisseurs analogique/numrique.

38

M. Siadat & C. Diou

3.2. Codes numriques non pondrs

Il ne convient pas pour larithmtique binaire.

Exemple 3.5

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 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 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.


Pour convertir un nombre en code binaire naturel (CBN) vers un nombre en code binaire rchi (CBR), il faut ajouter le CBN trouv lui-mme dcal dun rang vers la gauche, sans tenir compte de

M. Siadat & C. Diou

39

Chapitre 3 : Les codes numriques

lventuelle retenue et en abandonnant dans le rsultat le bit de poids faible.

Exemple 3.6

Soit le nombre dcimal 87 ; sa valeur binaire est 1010111. Donc : 1010111 +10101110 11111001 Lquivalent en code binaire rchi de (87)10 est 1111100

3.2.2.a Conversion du code binaire naturel vers binaire rchi Binaire naturel n3 n2 n1 n0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Binaire rchi g3 g2 g1 g0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0

Les quation logiques pour un mot de 4 bits sont :

g0 = a1 a0

40

M. Siadat & C. Diou

3.2. Codes numriques non pondrs

g1 = a2 a1 g2 = a3 a2 g3 = a3
Pour un mot binaire de format n on a donc :

g i = ai +1 ai , pour n 2 i 0 g n 1 = an 1
On peut galement exprimer g n de manire rcursive :

g0 = g3 g2 g1 a0 g1 = g3 g2 g1 g2 = g3 g2 g3 = a3

3.2.2.b Conversion du code binaire naturel vers binaire rchi Binaire rchi g3 g2 g1 g0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 Binaire naturel n3 n2 n1 n0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Les quation logiques pour un mot de 4 bits sont :

M. Siadat & C. Diou

41

Chapitre 3 : Les codes numriques

a3 = g3 a2 = g3 g2 a1 = g3 g2 g1 a0 = g3 g2 g1 g0

Pour un mot binaire de format n on a donc :

an 1 = g n 1 ai =
n 1

g i = ai +1 g i , pour n 2 i 0
j =1

3.3 Codes dtecteurs derreurs et autocorrecteurs


Ces codes sont utiliss pour contrler la transmission des donnes. Souvent, on utilise un nombre de bits suprieur celui strictement ncessaire pour coder linformation elle-mme.

3.3.1 Codes biquinaires


Cf. 3.1.4 page 37.

3.3.2 Les codes p parmi n


Ce sont des codes autovricateurs (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. Le nombre de combinaisons rpondant cette dnition est : Cn =
p

n! p !(n p )!

42

M. Siadat & C. Diou

3.3. Codes dtecteurs derreurs et autocorrecteurs

Exemple 3.7

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 : Dc. 2 parmi 5 7 4 2 1 0 1 2 3 4 5 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 Dc. 7 6 7 8 9 0 0 1 1 1 1 2 parmi 5 4 2 1 1 0 0 0 1 1 0 0 1 0 0 0 1 0 0

0 0 1 0 0 0

3.3.3 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 3.8

0101 0 0101

M. Siadat & C. Diou

43

Chapitre 3 : Les codes numriques

0111 1 0111
Remarque 3.2
Dans lapplication de la mthode de la parit, lmetteur et le rcepteur se mettent daccord lavance sur la parit surveiller (paire ou impaire).

Remarque 3.3
Pour dtecter la place dun e.b. faux, il faut coder dans 2 dimensions selon les lignes et les colonnes.

Exemple 3.9

0 1 0 1 0

1 0 0 1 0

0 0 0 1 1

0 1 1 0 0

1 Transmission 0 1 1 1

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 = ABC D = 4 Le nombre binaire dinformation transmise est : N = abc d e f g = 7

44

M. Siadat & C. Diou

3.4. Les codes alphanumriques

avec a b c d e f g

= = = = = = =

A B C D A C D A B C D B C D

3.4 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 +,|,=,%,...)

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.

M. Siadat & C. Diou

45

[ Exercices sur les nombres ]

Exercice 1.1
Convertir en binaire, octal et hexadcimal les nombres dcimaux suivants : 43 ; 154 ; 25740

Exercice 1.2
Convertir en dcimal et hexadcimal les nombres suivants : (10010101)DCB ; (1101110)2 ; (75)8 ; (587)8

Exercice 1.3
Convertir en binaire et hexadcimal les nombres suivants : (166, 25)10 ; (126, 34)8 ; (231, 1)4

Exercice 1.4
Convertir en binaire le nombre dcimal suivant : 24537

Exercice 1.5
Convertir en dcimal les nombres suivants : (10010101)DCB ; (D 9, 4)H ; (576)8

Exercice 1.6
Que peuvent reprsenter les octets suivants ? 01111001 ; 10100100 ; 01101010 ; 10010111

Exercice 1.7
En parit impaire, quel est le bit de parit associer aux octets suivants ?

47

Chapitre 3 : Exercices sur les nombres

EC ; F1 ; 69 ; A3

Exercice 1.8
En parit paire, quel est le bit de parit associer aux octets suivants ? CD ; 6E ; B8 ; A4

Exercice 1.9
On effectue les oprations suivantes sur des octets signs (reprsentation en complment 2). Donner les rsultats en discutant leur validit. Vrier en prenant les quivalents dcimaux. 5F+6D ; E8+C7 ; 9A-17 ; 5B-C4 ; A4-62

Exercice 1.10
Une mmoire contient des octets stocks entre les adresses (9400)H et (B 3F F )H . Combien doctets contient-elle ? Quelle est la capacit totale en kbits ?

Exercice 1.11
Une mmoire contient 2k octets stocks partir de ladresse (700)H . Quelle est la dernire adresse ?

48

M. Siadat & C. Diou

Deuxime partie La logique combinatoire

Chapitre 4
Algbre boolenne et oprateurs logiques
George Boole 2 nov. 1815, Lincoln, R.-U. 8 dc. 1864, Ballintemple, Irlande

Une proposition peut tre vraie ou fausse, mais ne peut pas tre vraie et fausse. (Aristote 384, 322 av. J.-C.)

4.1 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 dnies lavance.

Exemple 4.1

Technologie lectrique TTL : 1 2,4 5 V 0 0 0,8 V Technologie pneumatique : 1 prsence de pression 0 absence de pression
Les valeurs 0 et 1 ne reprsentent pas des nombres rels mais plutt ltat dune variable (logique) on les appelle donc niveaux logiques .

51

Chapitre 4 : Algbre boolenne et oprateurs logiques

4.1.1 Convention de nommage des synonymes des 0 et 1 :


Ces deux valeurs peuvent tre nommes de diffrentes faons : Niveau logique 1 : Vrai, Ferm, Marche, Haut, Allum, Oui ; Niveau logique 0 : Faux, Ouvert, Arrt, Bas, teint, Non.

4.1.2 Types de logiques


On dnit deux types de logiques : Logique positive : niveau haut tat logique 1 (5V) niveau bas tat logique 0 (0V) Logique ngative : niveau haut tat logique 0 (0V) niveau bas tat logique 1 (5V) 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 systmes 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 dni laide dune fonction logique (expression logique) qui reprsente la variable de la sortie en fonction des variables dentre.

4.1.3 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, lectro-vanne...)

52

M. Siadat & C. Diou

4.1. Introduction

4.1.4 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 4.2

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 .
Exemple 4.3

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

T = (A+B).C

M. Siadat & C. Diou

53

Chapitre 4 : Algbre boolenne et oprateurs logiques

4.2 Proprits de lalgbre boolenne 4.2.1 Prsentation


Lalgbre boolenne dnit un cadre mathmatique dtude de propositions logiques portant sur des ensembles E dlments.

Dnition 4.1 Algbre boolenne : un ensemble E dlments (a , b, c , ...) associ deux oprations binaires + et . constitue une algbre boolenne si et seulement si les postulats suivants sont satisfaits : P1 Les oprations sont commutatives ; P2 Chacune des oprations est distributive sur lautre ; P3 Il existe les lments identit 0 et 1 respectivement pour + et . ; P4 Pour chaque lment a E , il existe un lment a E tel que : a + a = 1 et a .a = 0.
partir de ces postulats, il est possible de dmontrer les thormes didempotence (cf. 4.4.3), de llment nul, dinvolution (cf. 4.4.5), dabsorption (cf. 4.5.6), dassociativit ainsi que la loi de De Morgan (cf. 4.7). Tous ces thormes seront prsents plus loin. Le lecteur attentif aura remarqu aprs la lecture des quatre postulats ci-dessus quil nest jamais fait mention du nombre dlments dans lensemble E , ni encore moins que ce nombre dlments est limit deux ! Lalgbre boolenne nest pas restreinte aux ensembles binaires. En fait, le nombre dlments dans E peut tre inni, mais doit au moins comporter les lments 0 et 1. Ainsi lalgbre binaire, qui ne contient que les lments 0 et 1, constitue lalgbre boolenne la plus simple.

Exemple 4.4

Algbre boolenne portant sur 4 lments : E = {0, a , b, 1}

54

M. Siadat & C. Diou

4.3. Algbre binaire ou algbre de commutation

+ 0 a b 1

0 0 a b 1

a a a 1 1

b b 1 b 1

1 1 1 1 1

. 0 a b 1

0 0 0 0 0

a 0 a 0 a

b 0 0 b b

1 0 a b 1

4.3 Algbre binaire ou algbre de commutation 4.3.1 Postulats de base


Le domaine de dnition B2 de lalgbre de commutation comprend donc deux lments 0 et 1 (B2 = {0, 1}). Si a est une variable logique on a :

P1 a = 0 si et seulement si a = 1 P1 a = 1 si et seulement si a = 0
Lopration NON(ou complment), note est dnie par :

P2 0 = 1 P2 1 = 0
Lopration OU(ou disjonction), note + est dnie par :

P3 1 + 1 = 1 + 0 = 0 + 1 = 1 P4 0 + 0 = 0 Lopration ET(ou intersection), note . est dnie par : P3 0.0 = 0.1 = 1.0 = 0 P4 1.1 = 1
Lalgbre de commutation est le systme algbrique constitu de lensemble {0, 1} et des oprateurs ET, OU, NON. partir de ces quatre postulats, on peut construire les diffrents thormes prsents dans les sections 4.4 page suivante et 4.5 page 57.

M. Siadat & C. Diou

55

Chapitre 4 : Algbre boolenne et oprateurs logiques

4.3.2 Hirarchie des oprations


Dans une expression sans parenthses, on effectue dabord les oprations ET et, par la suite, les OU.

4.3.3 Induction parfaite


Dans le domaine linaire, il nest pas possible de prouver une quation en la vriant pour toutes les valeurs des variables. En logique binaire, puisque les variables sont limites deux tats, on peut prouver une relation en la vriant pour toutes les combinaisons de valeurs pour les variables dentre. Ainsi, toutes les proprits prsents dans les sections 4.4 de la prsente page et 4.5 page ci-contre peuvent tre dmontres par induction parfaite. On notera quil nest pas vident de dmontrer ces relations par induction parfaite en algbre boolenne de plus de deux variables. La preuve de de ces thormes peut tre consulte notamment dans [WHI61].

4.4 Thormes monovariables 4.4.1 Identit


chaque oprateur correspond un lment neutre qui, lorsquil est opr avec une variable quelconque A, donne un rsultat identique cette variable. A+0 = A A.1 = A

4.4.2 lment nul


chaque oprateur correspond un lment nul qui, lorsquil est opr avec une variable quelconque A, donne un rsultat identique cet lment nul. A+1 = 1 A.0 = 0

56

M. Siadat & C. Diou

4.5. Thormes multivariables

4.4.3 Idempotence
Le rsultat dune opration entre une variable A et elle-mme est gal cette variable. A+ A = A A. A = A

4.4.4 Complmentation
A+ A = 1 A. A = 0

4.4.5 Involution
Le complment du complment dune variable A est gal cette variable. A=A

4.5 Thormes multivariables 4.5.1 quivalence


Deux fonctions sont quivalentes si on peut leur faire correspondre la mme table de vrit. Si F = A.B et G = A+B, alors F = G , et on dit que F est quivalente G.

4.5.2 Complmentarit
Deux fonctions sont dites complmentaires si lune est linverse de lautre pour toutes les combinaisons dentres possibles. Si F = A.B et G = A + B , alors F = G, et on dit que F et G sont complmentaires.

M. Siadat & C. Diou

57

Chapitre 4 : Algbre boolenne et oprateurs logiques

4.5.3 Associativit
Les oprations +, ., et sont associatives : A + B + C = ( A + B ) + C = A + (B + C ) A.B.C = ( A.B ).C = A.(B.C ) A B C = ( A B ) C = A (B C )

4.5.4 Commutativit
Les oprations +, ., et sont commutatives : A+B = B + A A.B = B. A AB = B A

4.5.5 Distributivit
Chacune des oprations + et . est distributive sur lautre : A.(B + C ) = A.B + A.C A + B.C = ( A + B ).( A + C ) On peut remarquer que ce thorme est particulier dans lalgbre boolenne puisquici les deux expressions sont vraies, alors que seule la premire lest dans lalgbre ordinaire.

4.5.6 Absorption
Absorption 1 : A + ( A.B ) = A A.( A + Y ) = A Absorption 2 : ( A + B ).B = AB ( A.B ) + B = A + B Ce thorme est particulirement intressant pour la conception de circuits numriques puisquil permet dliminer les termes inutiles et par l-mme de rduire la complexit du circuit.

4.5.7 Dualit
Deux expressions sont dites duales si lon obtient lune en changeant dans lautre, les ET par des OU, les OU par des ET, les 1 par des 0 et les 0 par des 1 . Si on sait que A.B = A + B, alors, on saura que A+B = A.B par dualit.

58

M. Siadat & C. Diou

4.5. Thormes multivariables

4.5.8 Thorme de De Morgan


Le thorme de De Morgan est une expression du principe de dualit. Premire forme : A+B+C+ = A.B.C. Deuxime forme : A.B.C. = A + B + C + Cf. 4.7 page 67 pour plus de prcisions.

4.5.9 Sommes de produits, produits de sommes et forme canonique


Les expressions boolennes peuvent tre manipules sous diffrentes formes, certaines dentre elles tant ncessaires pour simplier ces expressions : somme de produits ; ex. : F ( A, B , C , D ) = A.B + A.C .D + B.D produit de sommes ; ex. : F ( A, B , C , D ) = ( A + B ).( A + C + D ).(B + D ) Une expression est sous sa forme canonique si tous les symboles qui reprsentent les variables apparaissent dans tous les termes qui la constitue. Lorsquune quation est crite partir de sa table de vrit, elle est dans sa forme canonique. 4.5.9.a Forme disjonctive et sommes de mintermes Si une fonction est une somme de produits, on a une somme canonique ou forme disjonctive . Exemple : F = A.B.C + A.B.C + A.B.C + A.B.C Une fonction boolenne peut tre reprsente sous forme dune somme de produits utilisant les mintermes. Les mintermes sont reprsents par des 1 dans une table de vrit. La table suivante donne les mintermes dune fonction de trois variables :

M. Siadat & C. Diou

59

Chapitre 4 : Algbre boolenne et oprateurs logiques

m0 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1

m1

m2

m3

m4

m5

m6

m7

A.B .C A.B .C A.B.C A.B.C A.B .C A.B .C A.B.C A.B.C 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1

4.5.9.b Forme conjonctive et produits de maxtermes Si une fonction est un produit de somme, on a un produit canonique ou forme conjonctive . Exemple : G = (A + B + C ).( A + B + C ).( A + B + C).(A + B + C) Une fonction boolenne peut tre reprsente sous forme dun produit de sommes utilisant les maxtermes. Les maxtermes sont reprsents par des 0 dans une table de vrit. La table suivante donne les maxtermes dune fonction de trois variables : M0 M1 M2 M3 M4 M5 M6 M7 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 A+B+C A+B+C A+B+C A+B+C A+B+C A+B+C A+B+C A+B+C 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0

4.5.9.c Reprsentations dune fonction sous forme de mintermes et maxtermes Soit la fonction F telle que F( A, B , C ) = A.B + B .( A + C ). Cette fonction peut tre reprsente sous sa :

60

M. Siadat & C. Diou

4.5. Thormes multivariables

premire forme canonique (somme de mintermes) : on developpe la fonction sous la forme dune somme de produits puis on prend chaque terme avec pour variable manquante X et on applique un ET logique avec X + X ; deuxime forme canonique (produit de maxtermes) : on dveloppe la fonction sous la forme dun produit de sommes puis on prend chaque terme avec pour variable manquante X et on applique un OU logique avec X .X ;

Exemple 4.5

Reprsentation sous forme de somme de mintermes :

F( A, B , C ) = A.B + B .( A + C )
= A.B + A.B + B .C = A.B.(C + C ) + A.B .(C + C ) + B .C .( A + A) = A.B .C + A.B .C + A.B .C + A.B.C + A.B.C = m (0, 1, 4, 6, 7)

Exemple 4.6

Reprsentation sous forme de produit de maxtermes

F( A, B , C ) = A.B + B .( A + C )
= A.B + A.B + B .C = ( A + B ).( A + B + C ).( A + B + C ) par distributivit = ( A + B + C .C ).( A + B + C ).( A + B + C ) = ( A + B + C ).( A + B + C ).( A + B + C ) = M (2, 3, 5)

M. Siadat & C. Diou

61

Chapitre 4 : Algbre boolenne et oprateurs logiques

4.5.10 Rsum des proprits des oprateurs OU et ET


Proprit Identit lment neutre lment absorbant Idempotence Complmentation Involution Commutativit Associativit Distributivit Absorption 1 Absorption 2 Consensus

OU
a +0 = a a +0 = a a +1 = 1 a+a = a a+a =1 a=a a+b = b+a a + (b + c ) = (a + b ) + c a + ( b. c ) = (a + b ).(a + c ) a + a .b = a a + a .b = a + b a .b + a .c + bc = a .b + ac

ET
a .1 = a a .1 = a a .0 = 0 a .a = a a .a = 0 a=a a . b = b. a a .(b.c ) = (a .b ).c a .(b + c ) = (a .b ) + (a .c ) a .(a + b ) = a a .(a + b ) = a .b (a + b ).(a + c ).(b + c ) = (a + b ).(a + c ) a .b = a + b

(a + b ).(a + b ) = (a .b ) + (a .b ) De Morgan a + b = a .b

4.6 Oprateurs logiques lmentaires et composs


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

62

M. Siadat & C. Diou

4.6. Oprateurs logiques lmentaires et composs

4.6.1 OUI : identit ou transfert


1
A 0 1 S=A 0 1

4.6.2 NON (NOT) : complment


1
A 0 1 S=A 1 0

4.6.3 ET (AND) : produit logique .


&
A 0 0 1 1 B 0 1 0 1 S = A.B 0 0 0 1

Proprits du ET : a .1 = a a .a = 0 a .0 = 0 a .a = a lment neutre : 1 lment absorbant : 0

4.6.4 OU (OR) : somme logique +


1
A 0 0 1 1 B 0 1 0 1 S = A+B 0 1 1 1

M. Siadat & C. Diou

63

Chapitre 4 : Algbre boolenne et oprateurs logiques

Proprits du OU : a +1 = 1 a +a = 1 a +0 = a lment neutre : 0 lment absorbant : 1 a+a = a

Remarque 4.1
Les oprateurs {ET,OU,NON} permettent eux trois de raliser nimporte quelle fonction logique : on dit quils forment un groupe complet. Le thorme de De Morgan permet de dire que les groupes {ET,NON} et {OU,NON} sont galement des groupes complets.

4.6.5 NON-OU (NOR)


Les deux oprateurs OU et NON peuvent tre combins en un seul oprateur NON-OU : NON-OU est donc un oprateur complet.

A 0 0 1 1

B 0 1 0 1

S = A+B 1 0 0 0

4.6.6 NON-ET (NAND)


Les deux oprateurs ET et NON peuvent tre combins en un seul oprateur NON-ET : NON-ET est donc un oprateur complet.

&

A 0 0 1 1

B 0 1 0 1

S = A.B 1 1 1 0

64

M. Siadat & C. Diou

4.6. Oprateurs logiques lmentaires et composs

4.6.7 OUX (XOR) : ou exclusif ou dilemme


1
A 0 0 1 1 B 0 1 0 1 S = AB 0 1 1 0

Proprits du OUX : Le ou exclusif est commutatif et associatif a 0 = a a 1 = a a a = 1 a a = 0 lment neutre : 0 lment absorbant : a , a

Remarque 4.2
Le ou exclusif est souvent utilis dans les circuits numriques du fait de ses proprits : le ou exclusif est loprateur somme modulo 2, on le retrouve donc dans les additionneurs ou la sortie S = a b r ; il est galement largement utilis dans les circuits de correction derreurs (calcul de parit) : b0 b1 b2 bn est gal 0 si le nombre de bits 1 est pair, 0 sinon ; a 1 = a et a 0 = a : le OU exclusif peut tre utilis comme inverseur command. Le ou exclusif nest pas un oprateur complet, mais comme il peut tre utilis pour raliser la complmentation, les groupes {OUX,ET} et {OUX,OU} sont des groupes complets.

Remarque 4.3
Relations didentit utilisables avec loprateur ou exclusif : 1. a b = ab + ab = (a + b ).(a + b ) 2. (a b ) = a b = a b = ab + ab = (a + b )(a + b ) 3. a a = 0 4. a 1 = a et et aa =1 a 0 = a

M. Siadat & C. Diou

65

Chapitre 4 : Algbre boolenne et oprateurs logiques

5. a (b z ) = ab az 6. a + b = a b ab = a ab 7. a + b = a b si ab = 0 c a = b, abc =0 8. a b = c c b = a , 9. a (a + b ) = ab 10. a ab = ab

4.6.8 NON-OUX (XNOR) : concidence ou quivalence


1
A 0 0 1 1 B 0 1 0 1 S=A B 1 0 0 1

4.6.9 IMP (IMP) : implication ou


1
A 0 0 1 1 B 0 1 0 1 S = A+B 1 0 1 1

4.6.10 INH (INIB) : inhibition /


&
A 0 0 1 1 B 0 1 0 1 S = A.B 0 0 1 0

66

M. Siadat & C. Diou

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

4.6.11 Rsum : les diffrents oprateurs


Nom Zro Et Inhibition Transfert Inhibition Transfert Ou exclusif Ou Non-ou quivalence Complment Implication Complment Implication Non-et Un Symbole 00 x.y x/y y /x xy x+y xy x y xy x xy xy y 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Valeur de xy 01 10 11 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Expression algbrique F0 = 0 F1 = x . y F2 = x . y F3 = x F4 = x . y F5 = y F6 = x y + x y F7 = x + y F8 = x + y F9 = x y + x y F10 = y F11 = x + y F12 = x F13 = x + y F14 = x . y F15 = 1

4.7 Universalit des portes NON-ET et NON-OU


Note 4.1 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 :

M. Siadat & C. Diou

67

Chapitre 4 : Algbre boolenne et oprateurs logiques

trs utile pour simplier des expressions ; valable galement si a ou b sont des expressions contenant plusieurs variables

Exemple 4.7

( 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 :

Note 4.2 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.

68

M. Siadat & C. Diou

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

4.7.1 Universalit des portes NON-OU


NON :
a

ET :

OU :


1
a+a

a+b

a+b

M. Siadat & C. Diou

69

Chapitre 4 : Algbre boolenne et oprateurs logiques

4.7.2 Universalit des portes NON-ET


NON :
a

OU :

ET :


&
a .a

&

&

a .b

&

&

&

a .b

Exemple 4.8

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


14 13 12 11 10 9 8 VCC

& &

3 6 8 11

7400 :
1 2 3 4 5 6 7

&
X

A B C D

AB

&

CD

Remarque 4.4
le groupe doprateurs {ET,OU,NON} permet de raliser toutes les fonctions logiques : on dit que cest un groupe complet , ainsi que les groupes {ET,NON} et {OU,NON} ; de mme, les oprateurs NON-ET, NON-OU, sont appels des oprateurs complets ;

70

M. Siadat & C. Diou

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

comme loprateur OUX peut tre utilis pour raliser un inverseur, les groupes {ET,OUX} et {OU,OUX} sont galement des groupes complets ; le groupe {ET,OUX} est un anneau boolen appel corps de Galois.

M. Siadat & C. Diou

71

Chapitre 5
Reprsentation et simplication des fonctions logiques
George Boole 2 nov. 1815, Lincoln, R.-U. 8 dc. 1864, Ballintemple, Irlande

Une proposition peut tre vraie ou fausse, mais ne peut pas tre vraie et fausse. (Aristote 384, 322 av. J.-C.)

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

5.1 Mthodes de reprsentation des fonctions logiques


En dehors de la reprsentation algbrique que nous avons utilise jusqu prsent, dautres mthodes permettent de reprsenter les fonctions logiques. Les plus couramment employes sont les reprsentation tabulaires, implicites, et graphiques.

5.1.1 Reprsentations tabulaires


5.1.1.a Table de vrit La table de vrit nous fait connatre la raction dun circuit logique aux diverses combinaisons de niveaux logiques appliques

73

Chapitre 5 : Reprsentation et simplication des fonctions logiques

ses entres. Chaque ligne prsente la combinaison des variables dentre ainsi que la ou les sorties correspondante(s).

Exemple 5.1

La table de vrit dun additionneur complet est la suivante : A B C S R 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 S = A B C 0 1 1 0 1 R = A.B + A.C + B.C 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 1
Exemple 5.2

Donner la table de vrit dun circuit 3 entres A,B,C et X=1 si les 3 entres ont le mme niveau 2 sorties X,Y tel que : Y=1 si A=B
Le principal inconvnient de la table de vrit est quelle devient rapidement trs encombrante lorsque le nombre de variables dentre augmente. 5.1.1.b Diagramme de Veitch Le diagramme de Veitch est une table sur laquelle on reprsente les n variables dentre selon les deux axes vertical et horizontal. En gnral, pour n = p + q on porte sur les colonnes p variables o p est la partie entire de n /2, et les q variables restantes sur les lignes. Les colonnes et les lignes sont numrotes selon lordre binaire naturel. Le diagramme de Veitch de lexemple prcdent est le suivant :

74

M. Siadat & C. Diou

5.1. Mthodes de reprsentation des fonctions logiques

a
S

a c
R

0 1 1 0 b 1 0 0 1

0 0 0 1 b 0 1 1 1

On peut galement numroter les cases du diagramme de Veitch selon limage dcimale de la fonction reprsente. Chaque case correspond une ligne de la table de vrit, et peut donc tre reprsente par son image dcimale (cf. 5.1.2.b) :

a
S
0

a c
R
0

0 11 41 50 b 21 30 60 71

0 10 40 51 b 20 31 61 71

5.1.1.c Diagramme de Karnaugh[KAR53] et termes adjacents Le diagramme de Karnaugh est un outil graphique, mthodique. Il permet dobtenir une solution optimale la simplication logique (cf. 5.2.3 page 80). Comme la table de vrit, le diagramme de Karnaugh 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). Deux termes sont adjacents quand ils ne diffrent lun de lautre que par une seule variable. ABC et ABC sont adjacents. Un diagramme ou tableau 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 trs proche du diagramme de Veitch prsent 5.1.1.b, mais an dexploiter la notion dadjacence

M. Siadat & C. Diou

75

Chapitre 5 : Reprsentation et simplication des fonctions logiques

ente les termes, les cases sont ordonnes selon le code binaire rchi, au lieu du code binaire naturel.

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

Exemple 5.3
X A 0 0 1 1 B 0 1 0 1 X 1 0 0 1 A 0 1 B 0 1 0 1 0 1 A 1 0 X B 0 1

Le diagramme de Karnaugh de lexemple prcdent est le suivant :

a
S

a
R

0 1 0 1 b 1 0 1 0

0 0 1 0 b 0 1 1 1

Comme pour le diagramme de Veitch, on peut numroter les cases du diagramme de Karnaugh selon limage dcimale de la fonction reprsente :

a
S
0

a
R
0

0 11 50 41 b 21 30 71 60
Remarque 5.2

0 10 51 40 b 20 31 71 61

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 simplication la plus optimale ; on peut utiliser une meme case plusieurs fois, puisque x + x + x + + x = x.

76

M. Siadat & C. Diou

5.1. Mthodes de reprsentation des fonctions logiques

Chaque case du tableau reprsente une combinaison et une seule des variables de la fonction. Dans cette case, on inscrit 0 ou 1 selon la valeur prise par la fonction. Cette combinaison exclusive de variables peut tre note par un ET entre les variables reprsentes. Par exemple, la case pour laquelle a = 0, b = 1, c = 0 et d = 1 sera note abc d : cest un minterme . La reprsentation de la fonction sera alors la somme logique (OU) de toutes les combinaisons pour lesquelles la fonction vaut 1 . Quelquefois, on peut prfrer considrer la seconde forme canonique. La combinaison exclusive de variables sera alors note par un OU entre les variables reprsentes. Par exemple, la case pour laquelle a = 0, b = 1, c = 0 et d = 1 sera note a + b + c + d : cest un maxterme . 5.1.1.d Diagramme de Venn venir . . . 5.1.1.e Diagramme de Johnston venir . . . 5.1.1.f Diagramme de Caroll venir . . .

5.1.2 Reprsentations implicites


5.1.2.a Image caractristique Limage caractristique dune fonction F n entre est constitue des 2n valeurs de cette fonction, ordonnes selon lordre binaire naturel. Ainsi, soit la fonction F(x0 , x1 ) suivante, dnie par sa table de vrit :

M. Siadat & C. Diou

77

Chapitre 5 : Reprsentation et simplication des fonctions logiques

x0 x 1 F 0 0 0 0 1 1 1 0 0 1 1 0 On peut reprsenter F par son image caractristique, soit Ic [F(x0 , x1 )] = 0100. Reprenons la table de vrit dun additionneur complet : A B C S R 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 Limage caractristique de S est Ic [S ( A, B , C )] = 01101001. Limage caractristique de R est Ic [R ( A, B , C )] = 00010111. 5.1.2.b Image dcimale Nous avons vu que toute fonction logique F peut sexprimer par ses formes canoniques, soit comme somme de produits, soit comme produit de sommes. On notera donc la fonction F comme :

la somme des tats pour lesquels elle vaut 1 que lon notera : F1 = (d1 , . . . , dp ) le produit des tats pour lesquels elle vaut 0 que lon notera : F0 = (d1 , . . . , dp )
o d1 dp reprsentent les valeurs dcimales des nombres binaires reprsents par les variables de la fonction Reprenons comme exemple la fonction F(x0 , x1 ) prsente 5.1.2.a. On numrote les diffrents tats de cette fonction en attribuant des poids aux variables selon lordre binaire naturel ; notons N la valeur dcimale de ces tats :

78

M. Siadat & C. Diou

5.1. Mthodes de reprsentation des fonctions logiques

N x0 x1 F 0 0 0 0 1 0 1 1 2 1 0 0 3 1 1 0 La fonction F(x0 , x1 ) peut scrire :

F1 = x0 . x1 =

(1)

F0 = (x0 + x1 ).(x0 + x1 ).(x0 + x1 ) = (0, 2, 3) Le principal avantage de la notation dcimale est le risque derreur trs faible lors de son criture. En effet, il est plus difcile de remplacer un 3 par un 1 que doublier une barre de complmentation sur une variable. De plus, on a vu dans les sections 5.1.1.b et 5.1.1.c que cette notation est utilise pour numroter les cases des diagrammes de Veitch et de Karnaugh, et faciliter ainsi la reprsentation dune fonction sous forme de diagramme.

5.1.3 Reprsentations graphiques


5.1.3.a Logigramme Un logigramme est un schma illustrant lexpression dune fonction logique sans tenir compte des constituants technologiques.

Exemple 5.4

X = A.B + C

&

X = A.B + C

Remarque 5.3
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.

M. Siadat & C. Diou

79

Chapitre 5 : Reprsentation et simplication des fonctions logiques

5.2 Simplication dexpressions logiques


venir . . .

5.2.1 Formes canoniques dune fonction logique


venir . . .

5.2.2 Mthode algbrique


Il nest pas facile de trouver le rsultat minimal application des thormes de De Morgan, factorisation, astuce, ...

Exemple 5.5

x+xy = x(1+y)+xy = x+xy+xy = x+y dallgement) x.(x+y) = x+xy = x ABC + ABC + ABC + ABC = AC + AB + BC

(thorme (absorption)

5.2.3 Simplication par diagramme de Karnaugh


La mthode de simplication dune fonction par diagramme de Karnaugh sappuie sur ladjacence entre les termes de la fonction pour en extraire la reprsentation la plus simple possible. Les diagrammes de Karnaugh contiennent des ensembles de termes ( 0 ou 1 ) nomms implicants. Ces ensembles sont des : implicants simples lorsquil sagit de termes isols ; implicants majeurs lorsquil sagit densembles contenant 2n termes aussi grands que possible ; implicants majeurs essentiels lorsque les termes considrs ne sont prsents dans aucun autre implicant ; implicants majeurs non essentiels lorsquun terme est prsent dans plusieurs implicants.

80

M. Siadat & C. Diou

5.2. Simplication dexpressions logiques

5.2.3.a Simplication par extraction des sommes de produits La mthode est la suivante : 1. dessiner la table de Karnaugh correspondant la fonction ; on entame les 1 isols ; on runit les octets de 1 adjacents ; on runit les quartets de 1 adjacents ; on runit les doublets de 1 adjacents pour runir tous les 1 du tableau ; 2. identier tous les implicants majeurs essentiels pour les 1 ; 3. identier tous les implicants majeurs non essentiels pour les 1 ; 4. pour tous les implicants majeurs essentiels et un des implicants majeurs non essentiels slectionn dans chaque ensemble, dterminer les termes de produits correspondant ; 5. effectuer laddition logique de tous les termes prcdents, 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) ;

Exemple 5.6

Simplier la fonction :

F( A, B , C ) =
Solution :

m (0, 1, 4, 5) = A.B .C + A.B .C + A.B .C + A.B .C

A
1 11 51 41 0

B 20 30 70 60

M. Siadat & C. Diou

81

Chapitre 5 : Reprsentation et simplication des fonctions logiques

F1 = (0, 1, 4, 5) F0 = (2, 3, 6, 7)
limplicant majeur essentiel est B il ny a aucun implicant majeur non essentiel La solution est F( A, B , C ) = B
Exemple 5.7

Simplier la fonction :

F( A, B , C ) =
A.B.C + A.B.C Solution :

m (0, 1, 4, 6, 7) = A.B .C + A.B .C + A.B .C +

A C 0 1 1 0 5 11 4 1 6 1 B 20 30 7 F1 = (0, 1, 4, 6, 7) F0 = (2, 3, 5)
F
les implicants majeurs essentiels sont A.B et A.B les implicants majeurs non essentiels sont B .C ou A.C La solution est F( A, B , C ) = A.B + A.B + B .C ou F( A, B , C ) = A.B + A.B + A.C
Normalement, lutilisation des tableaux de Karnaugh pour la simplication par extraction des sommes de produits exploite ladjacence entre les 1 pour reprsenter la fonction simplier. Cependant, il est possible dutiliser les 0 en procdant exactement de la mme manire : on obtiendra alors une reprsentation de la fonction complmente.

82

M. Siadat & C. Diou

5.2. Simplication dexpressions logiques

5.2.3.b Simplication par extraction des produits de sommes La mthode est la suivante : 1. dessiner la table de Karnaugh correspondant la fonction ; on entame les 0 isols ; on runit les octets de 0 adjacents ; on runit les quartets de 0 adjacents ; on runit les doublets de 0 adjacents pour runir tous les 1 du tableau ; 2. identier tous les implicants majeurs essentiels pour les 0 ; 3. identier tous les implicants majeurs non essentiels pour les 0 ; 4. pour tous les implicants majeurs essentiels et un des implicants majeurs non essentiels slectionn dans chaque ensemble, dterminer les termes de sommes correspondant ; 5. effectuer laddition logique de tous les termes prcdents, sachant que : un octet de 0 permet dliminer les 3 variables qui se trouvent sous les deux formes (complment et non complment) ; un quartet de 0 permet dliminer les 2 variables qui se trouvent sous les deux formes (complment et non complment) ; un doublet de 0 permet dliminer la variable qui se trouve sous les deux formes (complment et non complment) ;

Exemple 5.8

Simplier la fonction :

F( A, B , C ) =
Solution :

M (2, 3, 5) = A.B .C + A.B .C + A.B.C

A C 0 5 11 41 0 1 3 7 61

1 0 0 B 2

M. Siadat & C. Diou

83

Chapitre 5 : Reprsentation et simplication des fonctions logiques

F1 = (0, 1, 4, 6, 7) F0 = (2, 3, 5)
les implicants majeurs essentiels sont A+B et A+B +C il ny a aucun implicant majeur non essentiel La solution est F( A, B , C ) = ( A + B ).( A + B + C )
Exemple 5.9

Simplier la fonction :

F( A, B , C ) =
Solution :

M (0, 1, 5, 7, 8, 9, 15)

B D 0 1 0 0  0 5 41 0 1 1 1 C 2 3 7 6 0 1 1 1 10 15 11  14  A 1 12 1 8 0 9 0 13 F1 = (2, 3, 4, 6, 10, 11, 12, 13, 14) F0 = (0, 1, 5, 7, 8, 9, 15)


F
les implicants majeurs essentiels sont B +C et B +C +D les implicants majeurs non essentiels sont A + B + D ou A + C + D La solution est F( A, B , C ) = (B + C ).(B + C + D ).( A + B + D ) ou F( A, B , C ) = (B + C ).(B + C + D ).( A + C + D )
Normalement, lutilisation des tableaux de Karnaugh pour la simplication par extraction des produits de sommes exploite ladjacence entre les 0 pour reprsenter la fonction simplier. Cependant, il est possible dutiliser les 1 en procdant exactement de la mme manire : on obtiendra alors une reprsentation de la fonction complmente.

84

M. Siadat & C. Diou

5.2. Simplication dexpressions logiques

5.2.3.c Cas des tats indtermins ou indiffrents Dans le cas gnral, lutilisation des 1 ou des 0 doit conduire des fonctions quivalentes (lune tant la complmentaire de lautre), mme si les critures peuvent tre diffrentes. Cependant, il faut considrer avec attention le cas particulier des fonctions non compltement dnies. Certaines fonctions logiques sont donnes comme tant incompltes (avec des tats indtermins) ou avec des tats indiffrents (combinaisons de variables dentres ninuenant pas le rsultat). Ces conditions permettent de simplier le tableau de Karnaugh, et par l-mme, limplantation de la fonction sous forme matrielle. En plus des ensembles de 0 et des ensembles de 1 , il y a donc galement des ensembles de X ou - qui reprsentent les tats indtermins/indiffrents de la fonction minimiser. Ces tats X ou - peuvent tre rassembls indiffremment avec des 0 ou 1 pour simplier la minimisation logique dans les tableaux de Karnaugh. Ainsi : les cases non dnies dun diagramme de Karnaugh peuvent tre exploites dans une simplication par les 1 comme dans une simplication par les 0 ; en consquence, une mme case pourra avoir t utilise la fois dans la reprsentation directe de la fonction, et dans sa reprsentation complmente ; ainsi, si les deux reprsentations obtenues sont toutes deux justes, elles ne sont en aucun cas identiques, ni mme quivalente : les fonctions sont diffrentes, bien que correspondant toutes deux au mme diagramme de Karnaugh.

Exemple 5.10

Soit le tableau de Karnaugh suivant simplier sous forme de somme de produit :

M. Siadat & C. Diou

85

Chapitre 5 : Reprsentation et simplication des fonctions logiques

D 0 0 0 1 0 5 1 4  0 1 1 1 C 2 3 7 6 0 14 1 X 11 X  15 10 A 0 0 1 X 8 9 13 12 F1 = (2, 3, 4, 6, 11, 12) F = (0, 1, 5, 7, 8, 9, 15) 0 FX = (10, 13, 14)


Solution : les implicants majeurs essentiels sont B.D et B .C il ny a aucun implicant majeur non essentiel La solution
Exemple 5.11

est F( A, B , C ) = B.D + B .C

Soit le tableau de Karnaugh suivant simplier sous forme de produit de somme :

D 0 10   0 50 41 1 1 0 1 C 2 3 7 6 0 14 1 X 11 X 10 15  A 0 0 1 X 8 9 13 12 F1 = (2, 3, 4, 6, 11, 12) F = (0, 1, 5, 7, 8, 9, 15) 0 FX = (10, 13, 14)


Solution : les implicants majeurs essentiels sont B + C et B + D il ny a aucun implicant majeur non essentiel

86

M. Siadat & C. Diou

5.2. Simplication dexpressions logiques

La solution

est F( A, B , C ) = (B + C ).(B + D )

5.2.4 Mthodes algorithmiques


Au del de 6 variables, on utilise des mthodes algorithmiques (mthode de Quine). 5.2.4.a Algorithme de Quine-McCluskey venir . . .

M. Siadat & C. Diou

87

Chapitre 6
Les circuits combinatoires
Augustus De Morgan 27 juin 1806, Madura, Indes 18 mars 1871, Londres, R.-U.

comp j

Aj = j c omp ( A j )

i.e. le complment de lintersection dun nombre quel-

conque densembles est gal lunion de leurs complments.


comp j Aj = j c omp ( A j )

i.e. le complment de lunion dun nombre quelconque

densembles est gal lintersection de leurs complments.

6.1 Circuits logiques combinatoires usuels


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

6.1.1 Circuits de transcodage (codeurs, dcodeurs, convertisseurs)


6.1.1.a Codeur (encodeur) Circuit M=2N entres et N sorties qui code en binaire le rang de la seule entre active.

89

Chapitre 6 : Les circuits combinatoires

V A0 S0 S1 S2

une seule entre active la fois

A1 A2

reprsentation en sortie sur N bits

A m-1

n-1

Exemple 6.1

Codeur dcimal-DCB : 10 entres, 4 sorties


0 1 2 3 4 5 6 7 8 9

S S S

1 2 3

90

M. Siadat & C. Diou

6.1. Circuits logiques combinatoires usuels

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

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

S0 0 1 0 1 0 1 0 1 0 1

Application : codeur de clavier numrique


0 1 2

reprsentation DCB
9

Remarque 6.1
Les codeurs de priorits sont une version modie du codeur : quand deux entres sont actives, cest lentre correspondant au nombre le plus haut qui est choisi. 6.1.1.b Dcodeur Le dcodeur est un circuit qui tablit la correspondance entre un code dentre sur N bits et M lignes de sortie (M 2N ).

M. Siadat & C. Diou

91

Chapitre 6 : Les circuits combinatoires

Pour chacune des combinaisons dentre, une seule ligne de sortie est valide.

Exemple 6.2

Dcodeur DCB-dcimal : 4 entres, 10 sorties.


Remarque 6.2
La plupart des dcodeurs sont dots dune ou plusieurs entres de validation qui commandent son fonctionnement. Applications des dcodeurs 1 : Adressage dune mmoire
ligne 0 ligne 1 ligne i 10 lignes adresse i autorisation accs mmoire ligne 1023 8 lignes de donnes
0 1 1 0 1 1 1 1

0 1 1 0 1 1 1 1

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 6.3

F=ABC+ABC+AB+C
Remarque 6.3
Il nest pas ncessaire de simplier la fonction avant la ralisation.

92

M. Siadat & C. Diou

6.1. Circuits logiques combinatoires usuels

Mise en cascade des dcodeurs Utilisation de lentre de validation.

Exemple 6.4

Raliser un dcodeur 3 entres en utilisant 2 dcodeurs 2 entres.


e0 e 1 V s e0 e 1 e 2 V s4 s5 s6 s7

s0 s1 s2 s3

Raliser un dcodeur 16 sorties laide de dcodeurs 4 sorties.


6.1.1.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 6.5

Code binaire code Gray Code DCB code afchage chiffre (dcodeur 7 segments)

6.1.2 Multiplexeursdmultiplexeurs
6.1.2.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 6.6

MUX 2 entres de donnes

M. Siadat & C. Diou

93

Chapitre 6 : Les circuits combinatoires

sel E 0 E 1

MUX

E1 X X

E0 X X

sel 0 1

out E0 E1

out

S=sel.E0 + sel.E1

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

Exemple 6.7

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


6.1.2.b 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 0 1 0 1

Ralis par un compteur

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. 3. Slection de mots : le MUX est ralis partir de n MUX 2 entres travaillant avec la mme commande de slection.

94

M. Siadat & C. Diou

6.1. Circuits logiques combinatoires usuels

Source info 1 Ex: clavier n bits

Source info 2 Ex: lecteur de disquettes n bits

slection

MUX aiguillage

n bits

destination

Remarque 6.5
Intrt : il nest pas ncessaire de simplier la fonction avant de la raliser.

Exemple 6.8

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


6.1.2.c Dmultiplexeurs (DEMUX) Circuit 2n sorties, 1 entre dinformation, n entres de commande. Il permet laguillage dinformation de lentre vers lune des sorties.

Remarque 6.6
Le MUXDEMUX est un circuit programmable : les relations entre entres et sorties sont modiables.

Exemple 6.9

Transmission avec multiplexage/dmultiplexage.

M. Siadat & C. Diou

95

Chapitre 6 : Les circuits combinatoires

source 0 MUX source n metteur voie de transmission rcepteur DEMUX

rcept. 0 rcept. n

6.1.3 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. 6.1.3.a Comparateur de 2 e.b. ai 0 0 1 1 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 =bi ai >bi ai <bi ai =bi = ab = a.b = a.b = ab

6.1.3.b Comparateur de 2 nombres


E

S3 a3 b3
E

E3 I
3

A<B

S2 a2 b2
E

E2 I
2

A>B

S1 a1 b1 E1 I
1

A=B

6.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

96

M. Siadat & C. Diou

6.1. Circuits logiques combinatoires usuels

relations entre les donnes en sortie et les donnes en entre sont modiables.
A
oprandes

B C0
4

slection opration

S0 S1 S2 S3 M C4

rsultat

PG

Les sorties P et G servent la mise en cascade des ALUs, et donc au calcul de retenue anticipe.

C0

C0

C0

C0

PG C0 C4

PG C8

PG C12

PG

Gnrateur de retenue anticipe

M. Siadat & C. Diou

97

Chapitre 6 : Les circuits combinatoires

6.2 Synthse des circuits combinatoires 6.2.1 Prsentation


Cahier des charges


Analyse du problme


Choix dune technologie,Choix des composants


tablissement du schma


Prototype dessai


Ralisation nale 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 simplication 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 :

98

M. Siadat & C. Diou

6.2. Synthse des circuits combinatoires

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.

6.2.2 Circuits logiques programmables


6.2.2.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. Lapparition des circuits adaptables dits programmables par le constructeur ou lutilisateur apporte une solution ce problme. 6.2.2.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. La programmation de ces circuits est possible grce des fusibles placs chaque noeud, et consiste griller les fusibles de manire supprimer le contact entre les lignes. 1. PROM (Programmable Read-Only Memory ) ou PLE (Programmable Logic Element ) Contrairement au FPLA dont les deux matrices sont programmables (cf. 3 page 101), les structures de type PROM

M. Siadat & C. Diou

99

Chapitre 6 : Les circuits combinatoires

voient leur matrice ET ge en usine, formant les 2n fonctions possibles des n entres. La matrice OU reste quant elle entirement programmable. chaque sortie de la mmoire correspond une fonction (sortie 3 tats) ; la matrice ET correspond en fait un dcodeur n 2n (dcodeur dadresse) ; une fonction est ralise en programmant sa table de vrit, cest--dire en mettant en mmoire la valeur de f pour lensemble des combinaisons des entres. : interconnexion non programme : interconnexion programme
e1 e2

en

s1 s2

sm

Exemple 6.10 Raliser le circuit N N 2 (N : nombre cod en DCB sur 4 bits) laide de la PROM suivante (PROM 6 entres et 8 sorties capacit de 26 = 64 octets) :

100

M. Siadat & C. Diou

6.2. Synthse des circuits combinatoires

A0 A1 A2 A3 0 0

Dcodage dadresse (matrice ET fixe) S S S S S S S S


7 6 5 4 3 2 1

2. PAL (Programmable Array Logic) La structure des PAL est oppose celle des PROM : la matrice OU est ge alors que la matrice ET est programmable. Les circuits PAL existent galement en logique squentielle.

e1 e2

en

s1 s2

sm

3. FPLA (Field Programmable Logic Array ) : matrice OU et ET programmable La structure des FPLA autorise une trs grande souplesse dans la programmation. Par consquent, cest

M. Siadat & C. Diou

101

Chapitre 6 : Les circuits combinatoires

le circuit le plus souvent propos pour la ralisation des fonctions logiques.


e1 e2

en

s1 s2

sm

Exemple 6.11
A B C

s1 s2 sm

S 1 = A + B.C S 2 = A.B.C S 3 = A.C

102

M. Siadat & C. Diou

6.2. Synthse des circuits combinatoires

6.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 spcique pour chaque constructeur ; les FPLAs ncessitent des programmateurs plus sophistiqus cause des doubles matrices programmer.

M. Siadat & C. Diou

103

Chapitre 7
Fonctions et oprateurs arithmtiques
Charles Babbage 26 dc. 1791, Teignmouth, R.-U. 1871, London, R.-U.

... I was sitting in the rooms of the Analytical Society, at Cambridge, my head leaning forward on the table in a kind of dreamy mood, with a table of logarithms lying open before me. Another member, coming into the room, and seeing me half asleep, called out, Well, Babbage, what are you dreaming about to which I replied I am thinking that all these tables (pointing to the logarithms) might be calculated by machinery. (Charles Babbage)

105

[ Exercices sur les systmes combinatoires ]

Exercice 2.1
Dvelopper et simplier algbriquement les expressions boolennes suivantes : F1 = (x + y ).(x + z ) F2 = (x . y + z ).(x + y ).z F3 = (x + y ).z + x .( y + z ) + y F4 = bd + cd + cd + abcd + abc F5 = abc + b.(a + c ) + a + b + ac

Exercice 2.2
Faire le schma des fonctions suivantes avec les portes indiques : x = abc + cd (3 portes NOR) y = a (b + c ) (3 portes NAND) z = abc (3 NAND 2 entres) f = a b (4 NAND 2 entres)

Exercice 2.3
Simplier les expressions logiques suivantes : F1 = ab abcd F2 = a ( a + b ) F3 = a + ( a b ) F4 = ( a b ) ( a c )

107

Chapitre 7 : Exercices sur les systmes combinatoires

F5 = ( a b ) ( a b )

Exercice 2.4
Chercher les formes canoniques des expressions suivantes : F1 = a ( b + c ) F2 = (a + c ).b + (a + c ).b

Exercice 2.5
Montrer algbriquement que ab + bc + ac = ab + bc + ac . Vrier laide dun diagramme de Karnaugh.

Exercice 2.6
Simplier cette expression laide dun diagramme de Karnaugh : F = a (b c ) + ac d + ad (b c ) + (a d )bc + ac b d Faire le schma avec 2 portes dont un XOR.

Exercice 2.7
Une fonction f (a , b, c , d ) est incompltement dnie. On code ses tats sur le mot binaire abcd ,a reprsentant le poids fort. La fonction est vraie pour les tats 0, 1, 3, 4, 6, A, B ; elle est fausse pour les tats 7, 8, D, E. Tracer le diagramme de Karnaugh. Simplier la fonction en vue dune ralisation en portes NAND. Mme question avec des portes NOR. Quelle est la meilleure solution ?

108

M. Siadat & C. Diou

Troisime partie Les circuits squentiels

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

[A universal machine] ... which can be made to do the work of any specialpurpose machine, that is to say to carry out any piece of computing, if a tape bearing suitable instructions is inserted into it. (Alan M. Turing, 1936, propos de la machine de Turing )

8.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 8.1 M =0 1 L=0 A=0

2 4

M =1 L=1 A=0 M =0 L=0 A=1

3 5

M =0 L=1 A=0 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.

111

Chapitre 8 : Les bascules

Les fonctions squentielles de base sont : mmorisation ; comptage ; dcalage. Les circuits squentiels fondamentaux sont : bascules (3 types) ; 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 difciles 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 ;

112

M. Siadat & C. Diou

8.2. Point mmoire

bascules de comptage : elles possdent en outre une commande de changement dtat.

8.2 Point mmoire


La principale diffrence entre un systme squentiel et un systme combinatoire est que lorsque lon prsente plusieurs fois de suite un mme vecteur dentre un systme squentiel, celui-ci contrairement au systme combinatoire ne dlivre pas ncessairement un le mme vecteur de sortie chaque fois. En dautres termes, ltat de la sortie dun systme squentiel dpend non seulement de ltat des variables dentre, mais galement du paramtre temps , lequel paramtre est la plupart du temps concrtis par ltat antrieur du systme. Soient le circuit et sa table de vrit associe suivants :

&

A 0 0 1 1

B 0 1 0 1

Ft 1 0 Ct 1 0

La sortie de la fonction F ci-dessus est dpendante dune variable interne C. On peut en effet constater que ltat de la variable C dpend de ltat des entres A Et B, mais galement de son tat antrieur : C mmorise donc lie aux entres appliques antrieurement au circuit. On constate sur ce circuit que leffet de mmorisation est d la boucle de rtroaction prsente entre la sortie du OU et lentre du ET. cette boucle est associe la variable C qui constitue le point mmoire.

Dnition 8.1 Circuit squentiel : un circuit squentiel est un systme boucl permettant la conservation dun tat dpendant de la valeur des variables dentre ainsi que de ltat antrieur du systme.

M. Siadat & C. Diou

113

Chapitre 8 : Les bascules

La bascule constitue le systme squentiel de base et permet de mmoriser un lment dinformation lmentaire appel bit.

Exercice 3.1
Quel sera ltat de sortie du systme F lissue des deux squences (00, 10) et (01,10) ? Nous avons brivement prsent en introduction de ce chapitre ce qutaient les systmes squentiels synchrones et asynchrones. Une autre faon de dcrire ces systmes est donne par les dnitions 8.2 et 8.3 suivantes :

Dnition 8.2 Systme asynchrone : un systme squentiel est asynchrone si partir de linstant o on applique un vecteur dentre, son volution est incontrlable de lextrieur. Dnition 8.3 Systme synchrone : un systme squentiel est synchrone si son volution est contrlable de lextrieur par un signal dhorloge.

8.3 Bascule RS
La bascule RS est le circuit squentiel le plus simple. Cest une bascule asynchrone, et toutes les autres bascules, synchrones ou asynchrones, reposent sur cette bascule. Son rle consiste mmoriser une information fugitive, selon le fonctionnement suivant : une apparition, mme fugitive, de S entrane un tat stable Q=1, et une apparition, mme fugitive, de R entrane un tat stable Q=0.

114

M. Siadat & C. Diou

8.3. Bascule RS

`  Aba0 R
Symbole
R Q S Q

Tableau de Karnaugh
Q+
0

R S

0 1 1 5X 4 0 Qt 2 1 3 1 7X 6 0

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.

S R Q

Table de vrit
S 0 0 0 0 1 1 1 1 R 0 0 1 1 0 0 1 1 Qt 0 1 0 1 0 1 0 1 Q+ 0 S 1 0 0 0 0 1 1 1 1 X X R 0 1 0 1 Q+ Q 0 1 X

mmorisation mise 0 mise 1 interdit

M. Siadat & C. Diou

115

Chapitre 8 : Les bascules

Ralisation
Si X= 1 Q=S+R.Q Les tats indtermins sont forcs 1 : la bascule est dite enclenchement prioritaire. = somme de produit ralisation laide de portes NAND. Si X= 0 Q= R.(S+Q). Les tats indtermins sont forcs 0 : la bascule est dite dclenchement prioritaire. = produit de sommes ralisation laide de portes NOR.

Q R

Remarque 8.1
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 la sortie peut prendre aussi bien ltat Q = 1 que Q = 0. il faut donc interdire la combinaison R = S = 1 an 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 : si Q = 0 Q = 1 et Q = 0 si Q = 1 Q = 0 et Q = 1 Examinons si S = et R = 0
S=0 S=0

memorisation

116

M. Siadat & C. Diou

8.3. Bascule RS

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= et S= 0
R=

Q=0Q=1 Si Q = 0 Si Q = 1 Q=0Q=1
R=

R=

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 reviennent 0 R = S = 1 ne doit pas servir Lavantage principal (unique ?) de la bascule RS est sa simplicit. Ses principaux inconvnients sont le fait quelle soit asynchrone, sa sensibilit aux parasites (tout bruit prsent sur lune des entres de la bascule RS peut modier ltat de la sortie), et le fait quil existe un tat interdit pour R=S=1.

M. Siadat & C. Diou

117

Chapitre 6

Circuits squentiels lmentaires


+5V R s s Bp t

Chapitre 8 : Les bascules

8.4 Bascule RS synchrone ou bascule RSH


Bp t
Figure 6.5 : Bouton poussoir sans par systme anti-rebond La bascule RSH est un bascule RS synchronise un signal La Lorsque Figure 6.5 montre comment laide dune RS, ces commutations parasites peuvent tre limines. dhorloge H. H est au niveau bas,bascule la bascule fonctionne mmoire permet en effet de H filtrer cesau transitions. comme uneLtat mmoire, et lorsque est niveau haut, la bascule fonctionne comme une bascule RS classique, et conserve donc les +5V Bp tats interdits pour R=S=1.

`  #aR 0 Ab
Symbole
S Q Clk

R Q S' s R R' Bp t

Table deSvrit

S R H QN+1 X X 0 QN R Q 0 0 Q 1 QN Reset ou 0 La sortie est indice est vaut 1 1 1 Etat mmoire QN avant le front de lhorloge et 1 0 s 1 0 QN+1 aprs le front de lhorloge. X X 1 1 Set ou S et R ninuencent Q que Etat mmoire lorsque lhorloge est au niveau Figure 6.6 : Dispositif anti-rebond haut.
6.1.3. Bascule RST

La bascule RST est une bascule RS synchronise par un signal dhorloge T. Le schma de cette bascule est Ralisation donn sur la figure .

R H S
1

Q Q

S T R
Figure 6.7 : Bascule RST

Lorsque T=0, lagalement bascule est dans ltat mmoire. Lorsque T=1, la bascule fonctionne comme une bascule RS. La bascule RSH est appele bascule RST ; on prfrera Cette bascule a toujours un tat interdit et fonctionne sur les niveaux dhorloge. Tout en restant sensible aux nanmoins le terme plus explicite. parasites elleRSH, lest moins que la bascule RS puisquelle est uniquement sensible sur le niveau haut de lhorloge (plus le niveau haut de lhorloge est rduit, moins cette bascule est sensible aux parasites).

118

M. 6.3 Siadat & C. Diou Page

8.5. Bascule verrouillage (D-latch)

Exemple 8.2

H S R Q
Lavantage de la bascule RSH par rapport la bascule RS est sa sensibilit moindre aux parasites. Comme la bascule nest sensible au bruit que lorsque lhorloge est au niveau haut, plus les tats haut de lhorloge seront brefs, moins la bascule sera sensible.

8.5 Bascule verrouillage (D-latch)


Chapitre 6
6.1.4. Bascule D-latch

La D-latch est une bascule RST pour laquelle on na conserv Circuits squentiels lmentaires que les deux combinaisons RS=(0,1) et RS=(1,0). La D-latch a une seule entre, nomme D.

La bascule D-Latch est une bascule conue sur le mme principe que la RST. Elle est obtenue partir dune bascule RST en ne considrant que les deux combinaisons (R,S) = (0,1) et (1,0). La D-Latch na quune seule entre nomme D, et sa table de vrit est la suivante (Figure 6.8).

`  0 a AbR
Symbole
D Q
D 0 1

Table de vrit
DN 0 1 QN+1 0 1

En

Q(n+1) 0 1

Qn+1 = Dn

Figure 6.8 : Table de vrit de la D-latch

Le schma de cette bascule est donn sur la Figure 6.9. Cette bascule na pas dtat interdit et est transparente sur le niveau haut de lhorloge.

Ralisation
S T S

Q R = S' Q

Figure 6.9 : Bascule D-Latch 6.1.5. Bascule Matre-Esclave

Les bascules matre-esclaves permettent de diminuer la sensibilit aux parasites en minimisant la priode de transparence. Le schma dune bascule matre esclave est donn sur la Figure 6.10. En montant en cascade deux mme quand Clk=0 lentre na la aucun effet Toutefois, (mmorise) ; bascules RST commandes par la horloge mais inverse, la bascule D ralise mme fonction. elle fonctionne non plus sur le niveau haut de lhorloge, mais sur le front descendant de lhorloge. En effet, sur le niveau haut de lhorloge, le deuxime tage (esclave) est dans ltat mmoire alors que sur le niveau bas, cest le premier tage (matre) qui est dans ltat mmoire. Il en rsulte que la plage de sensibilit aux parasites se limite la dure de commutation descendante de lhorloge.

Fonctionnement

M. Siadat & C. Diou


Matre S

Esclave Q

119

Chapitre 8 : Les bascules

Chapitre 6 transparente.
6.1.4. Bascule D-latch haut de lhorloge.

quand Clk=1 Q suit les changements de D la bascule est

Circuits squentiels lmentaires

La D-latch na pas dtat interdit et est transparente sur le niveau


La bascule D-Latch est une bascule conue sur le mme principe que la RST. Elle est obtenue partir dune bascule RST en ne considrant Remarque 8.2 que les deux combinaisons (R,S) = (0,1) et (1,0). La D-Latch na quune seule entre nomme D, et sa table de vrit est la suivante (Figure 6.8).

Notez labsence du symbole


D 0 1

sur lentre dhorloge.


Qn+1 = Dn

8.6 Bascules matre-esclave

Q(n+1) 0 1

Figure 6.8 : Table de vrit de la D-latch Le schma de cette est donn sur la Figure 6.9. Cette bascule na pas interdit et transparente Lesbascule bascules matre-esclaves permettent de dtat diminuer laest sensibisur le niveau haut de lhorloge.

lit aux parasites en minimisant la priode de transparence. La naS' ture des bascules matre-esclave vient S Q du fait que deux bascules RST montes en cascade et commandes par deux horloges en opposition de phase ralisent la mme fonction quune seule bascule. La R = S' T diffrence tient seulement au fait que la bascule ne fonctionne plus sur le niveau haut de lhorloge, mais sur son front descendant

sur le niveau bas de lhorloge, le premier tage (matre) fonc6.1.5. Bascule Matre-Esclave clave) est

(Q')

tionne en mode mmorisation , et le deuxime tage (esen mode RS ;

Figure 6.9 : Bascule D-Latch

Les bascules matre-esclaves permettent de diminuer la sensibilit aux parasites en minimisant la priode de sur le niveau haut de lhorloge, le matre fonctionne en mode transparence. Le schma dune bascule matre esclave est donn sur la Figure 6.10. En montant en cascade deux RS, et par lesclave est dans la mmorisation fonction. Toutefois, bascules RST commandes la mme horloge mais ltat inverse, bascule ralise la mme elle fonctionne non plus sur le niveau haut de lhorloge, mais sur le front descendant de lhorloge. En effet, sur le La priode pendant laquelle la bascule est sensible aux parasites se le niveau haut de lhorloge, le deuxime tage (esclave) est dans ltat mmoire alors que sur le niveau bas, cest premier tage (matre) qui est dans ltat mmoire. Il en rsulte que lade plage de sensibilit aux parasites haut se limite rsume donc la dure de commutation lhorloge du niveau la dure de commutation descendante lhorloge. au niveau bas (frontde descendant).

Matre S H R H

Esclave Q

Q
Figure 6.10 : Bascule matre-esclave 6.1.6. Bascule JK La bascule JK est une bascule matre-esclave ne prsentant plus dtat interdit. Sachant que les sorties sont toujours complmentaires, leur rebouclage sur les entres (Figure 6.11) limine ltat interdit. Il ny a pas dinconvnient ce rebouclage car les sorties de lesclave ne change dtat que lorsque le matre est bloqu. Cette bascule fonctionne toujours sur les front descendant. Sa table de vrit ainsi que la fonction de sortie (Qn+1) est donne sur la Figure 6.12. M. Siadat & C. Diou

120

8.7. Bascule JK

8.7 Bascule JK
Les bascules JK sont des bascules matre-esclave fonctionnant seulement en mode synchrone. Elles sont plus polyvalentes que les basculent RS, car elles nont pas dtat ambigu et R = S = 1 QN+1 =

`  #a Ab0 P
QN .

Symbole
J Q Clk K

Tableau de Karnaugh
Q+
0

J K

QN+1 = J.QN + K.QN

0 10 51 41 Qt 2 1 3 0 7 0 6 1

Sachant que les sorties sont toujours complmentaires, leur rebouclage sur les entres limine ltat interdit. Il ny a pas dinconvnient ce rebouclage car les sorties de lesclave ne change dtat que lorsque le matre est bloqu. Les bascules JK sont trs courantes dans les systmes numriques Cette bascule fonctionne toujours sur les fronts descendant.

Ralisation

J K

`  #a 0 Ab R
&

RSH-ME
S Q Clk R

&

M. Siadat & C. Diou

121

Chapitre 8 : Les bascules

J H & K

#a `  `  0 #a 0 Ab Ab R R

&

Q Clk Clk Q R Q R Q 1

Matre
S Q

Esclave
S Q

Table de vrit
J X 0 1 0 1 K X 0 0 1 1 H

QN+1 QN QN 1 0 QN

mmorisation forage 1 forage 0 commutation

J X X X 0 1

K X 0 1 X X

QN X 1 1 0 0

QN+1 QN 1 0 0 1

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

Exemple 8.3

H J K Q

8.8 Bascule D synchrone


La bascule D est une bascule matre-esclave conue sur le mme principe que la JK. La bascule D est une bascule nayant quune seule entre nomme D.

122

M. Siadat & C. Diou

8.8. Bascule D synchrone

`  Cba0 R
Symbole
D Q Clk Q

Le symbole de la bascule D est identique celui de la D-latch ceci prs que lentre dactivation est remplace par une entre dhorloge, qui dispose donc du symbole associ.

Table de vrit
DN QN+1 1 1 0 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
D H

Ralisation partir de bascules RSH matre-esclave :

`  `  0 a 0 a R Ab R Ab `  `  0 #a #a AbR Ab0 P
Matre
D Q

Esclave
D Q

En

En

Idem pour la ralisation partir de bascules JK :

RSH-ME
S Q Clk R

JKFF
J Clk K

M. Siadat & C. Diou

123

Chapitre 8 : Les bascules

Remarque 8.4
La sortie Q nest gale lentre D qu des moments bien prcis le signal Q est diffrent du signal D. La bascule D fonctionne sur fronts dhorloge. En fait, la donne dentre D est transfre travers le matre lors du front montant et travers lesclave lors du front descendant. Pour fonctionner, cette bascule ncessite donc les deux front dhorloge. Diffrentes structures de bascules D existent, certaines pouvant transfrer une donne en ne recevant quun seul front dhorloge.

8.9 Bascule T
La bascule T sobtient par exemple partir dune bascule JK dont on a reli les entres J et K entre elles. Elle est utilisable uniquement en mode synchrone, et ne fonctionne quen commutation.

Symbole
T Q Clk

`  #a 0 @bP
T 0 1 QN+1 QN QN

Ralisation
T

`  #aP 0 Ab
J Q Clk K

Table de vrit

8.10 Entres prioritaires asynchrones des bascules


La plupart des bascules synchrones possdent des entres prioritaires asynchrones. Elles agissent indpendamment de lhorloge et

124

M. Siadat & C. Diou

8.10. Entres prioritaires asynchrones des bascules

des entres synchrones des bascules. Elles servent forcer, tout moment, la mise 1 ou 0 de la bascule, quelles que soient les conditions dentre. Elle agissent sur ltage esclave des bascules.

P reset Esclave } x y }z | | & {} | & | | Q | | | | | | | | H H | | | | | | & | | & Q | | | | }{ | | | {xy xyyyyyyyyyyyyyyyyy z z { Matre



Clear

Exemple 8.4
Set J H K Clear Q Q

Set 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. Clear RAZ [c]et DC clear Dsignations synonymes : Preset RAU Set DC set

Remarque 8.5
Les entres synchrones sont des niveaux de tension continue

M. Siadat & C. Diou

125

Chapitre 8 : Les bascules

8.11 Paramtres temporels des bascules


Pour quune bascule fonctionne correctement, il est ncessaire que le signal prsent sur les entres de la bascule (D ou JK) soit stabilis depuis un certain temps lorsque le front dhorloge actif intervient (temps de setup ) et reste stable pendant un certain temps aprs ce front dhorloge (temps de hold ou de maintien). Dautre part, la commutation des sorties dune bascule se fait avec un certain temps de retard par rapport au signal qui a produit cette commutation (Horloge, Reset ou Preset). Ces retards peuvent tre diffrents selon le signal qui a produit la commutation, mais galement selon que la commutation du signal de sortie est montante ou descendante. Ces retards seront nots TpLH et TpHL pour Temps de Propagation Low High et Temps de Propagation High Low .

8.12 Applications des bascules 8.12.1 Mmoire


mmorisation dune information fugitive

Exemple 8.5

Mmorisation dune commande de marche

S R

126

M. Siadat & C. Diou

8.12. Applications des bascules

8.12.2 Antirebond pour commutateur


Exemple 8.6
Passage en 2 Passage en 1

Ferm Charge Solution Ouvert rebond qq ms 2 1

S R

8.12.3 Synchronisation
Exemple 8.7

A H
Solution :

int. antirebond

A X
impulsion partielle indsirable

A H

int. antirebond

H A Q X

8.12.4 Dtection dune squence dentre


Exemple 8.8

A B
Solution :

A B X A avant B ?

M. Siadat & C. Diou

127

Chapitre 8 : Les bascules

A B

J K

A B Q A avant B

A B Q A aprs B

dtection du sens de rotation dun moteur.

8.12.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

D H
Bascule JK

Q Q

H Q

1 1

J K

Q Q

H Q

Bascule RS

S R

Q Q

H Q

128

M. Siadat & C. Diou

Chapitre 9
Registres : stockage et transfert de donnes
Howard Hathaway Aiken 9 mars 1900, Hoboken, E.-U. 14 mars 1973, St Louis, E.-U.

[En 1964 Aiken reoit le Harry M Goode Memorial Award, une mdaille et $2,000 overt par la Computer Society] for his original contribution to the development of the automatic computer, leading to the rst large-scale general purpose automatic digital computer.

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

QAQBQCQD
Sortie srie Dcalage gauche Entre srie Validation de lentre srie Sortie srie Dcalage droite

Registre dcalage H

Dcalage Validation D/G

Dc Val A B C D
Entres parallles Chargement parallle

9.1 Dnition
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, afchage, mmorisation, etc.)

129

Chapitre 9 : Registres : stockage et transfert de donnes

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 dcalage procurant tous les modes de fonctionnement possibles.

9.2 Registre de mmorisation : criture et lecture parallles


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

L Validation transfert A Q B Q C Q D Q

Validation chargement

`  `  `  `  0 a 0 a 0 a a 0 CbP CbP CbP CbP


D Q

BD2

CD1

DD0

Clk

Clk

Clk

Clk

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

130

M. Siadat & C. Diou

9.3. Registres dcalage

9.3 Registres dcalage


Comme son nom lindique, un registre dcalage consiste dcaler bit par bit un mot binaire soit vers la gauche, soit vers la droite. Le registre dcalage peut tre criture et lecture srie ou parallle.

Remarque 9.1
Un registre dcalage droite peut tre utilis comme un diviseur par 2 alors quun registre dcalage gauche peut tre utilis comme un multiplieur par 2.

9.3.1 Registre criture srie et lecture srie


D

`  `  `  `  0 a a 0 a 0 a 0 CbP CbP CbP CbP


D Q

Clk

Clk

Clk

Clk

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.

9.3.2 Registre criture srie et lecture parallle


D

`  `  `  `  a 0 a 0 a 0 0 a CbP CbP CbP CbP


D Q

Clk

Clk

Clk

Clk

QA

QB

QC

QD

Lorsque lentre est stocke, chaque bit apparat simultanment sur les lignes de sortie.

M. Siadat & C. Diou

131

Chapitre 9 : Registres : stockage et transfert de donnes

Le registre dcalage est utilis comme convertisseur srieparallle. Il est ncessaire la rception lors dune transmission srie.

9.3.3 Registre criture parallle et lecture srie


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

A B CD
shift/load

Registre paralllesrie

Sortie donne

S/L

D H

9.4 Registre universel


Le registre universel permet quatre modes de fonctionnement commands par deux variables S1 et S2 . S1 S2 Mode 0 0 Chargement parallle 0 1 Dcalage droite 1 0 Dcalage gauche 1 1 Inhibition de lhorloge

132

M. Siadat & C. Diou

9.4. Registre universel

e1

e2

ei

en

C1 C2 H q1 q2

Qi-1 Qi Qi+1

Di Qi

qi

qn

Di = C1.C2 .ei + C1.C2.Qi-1 + C1.C2.Qi+1 + C1.C2.Qi

Ces entres de slection S1 et S2 sont en fait les entres de slection de multiplexeurs connects aux entres des bascules. Ces multiplexeurs quatre entres permettent donc quatre modes de fonctionnement :lentre D de chaque bascule est ainsi fonction du mode de fonctionnement dsir.

Page 6.7

M. Siadat & C. Diou

133

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

The most important results [mostly given in the form of theorems with proofs] deal with conditions under which functions of one or more variables can be generated, and conditions under which ordinary diverential equations can be solved. Some attention is given to approximation of functions (which cannot be generated exactly), approximation of gear ratios and automatic speed control. (Claude E. Shannon, Mathematical theory of the diverential analyzer, 1941)

Dnition 10.1 Compteur : un compteur est un circuit squentiel comportant n bascules dcrivant au rythme dune horloge un cycle de comptage rgulier ou quelconque dun maximum de 2n combinaisons. Dnition 10.2 tat, Modulo : la combinaison de sortie dun compteur est appel tat, et le nombre dtats possibles dun compteur est appel modulo.
Un compteur modulo N passera donc successivement par N tats. Un compteur binaire naturel comptera donc de 0 N 1. Le graphe suivant prsente les diffrents tats parcourus par un compteur modulo 8.

135

Chapitre 10 : Les compteurs

7
@ABC GFED 000

@ABC GFED 001

+ GFED @ABC
010

@ABC GFED 011

@ABC GFED 111

@ABC GFED 100

@ABC GFED 110 k

@ABC GFED 101

10.1 Compteur asynchrone ( propagation)


Nous avons vu dans la section 8.12.5 page 128 comment raliser une division par deux laide de bascules JK. En cascadant des bascules JK montes en diviseurs de frquence, on peut donc raliser un compteur dont le modulo dpendra du nombre de bascules.

10.1.1 Compteur asynchrone cycle rgulier


Exemple 10.1

Compteur asynchrone 4 bits (compte de 0 15).


10.1.1.a Ralisation laide de bascules JK
A H 1 1 J K Q Q 1 1 J K Q Q B 1 1 J K Q Q C 1 1 J K Q Q D

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 ;

136

M. Siadat & C. Diou

10.1. Compteur asynchrone ( propagation)

la sortie de la bascule 1 sert dhorloge pour la bascule 2 B commute chaque 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. 10.1.1.b Table dimplication squentielle Elle montre les tats binaires pris par les bascules aprs chaque front descendant. N D C B A 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 0 0 1 1 3 4 0 1 0 0 5 0 1 0 1 . . . . . . . . . . . . . . . 15 1 1 1 1 16 0 0 0 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 afche 0000 : un nouveau cycle commence. 10.1.1.c Chronogramme H A B C D

M. Siadat & C. Diou

137

Chapitre 10 : Les compteurs

chaque bascule divise par deux la frquence dhorloge qui alifinitale mente son entre CLK : fD = . 16 Application : avec ce genre de circuit, on peut diviser la frquence initiale par nimporte quelle puissance de 2. 10.1.1.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.

10.1.2 Dcompteurs asynchrones


Il suft de piloter chaque entre CLK des bascules au moyen de la sortie complmente de la bascule prcdente.

Exemple 10.2

Dcompteur modulo 8
H A A B B C C

Chronogramme : H A B C

138

M. Siadat & C. Diou

10.1. Compteur asynchrone ( propagation)

10.1.3 Compteur asynchrone modulo N < 2n ( cycle rgulier)


10.1.3.a Mthode Pour raliser un compteur ou un dcompteur dont le cycle nest pas une puissance de 2, la seule solution est dagir sur lentre Clear lorsque la combinaison correspondant au modulo du compteur se produit sur les sorties de celui-ci. Ainsi, 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 10.3

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
Q0 H Q1 Q2 Q1 Q2

M. Siadat & C. Diou

139

Chapitre 10 : Les compteurs

10.1.3.b Table dimplication squentielle N Q2 Q1 Q0 0 0 0 0 0 0 1 1 2 0 1 0 3 0 1 1 1 0 0 4 5 1 0 1 6 1 1 0 0 0 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. 10.1.3.c Chronogramme H Q0 Q1 Q2

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

10.1.4 Comptage asynchrone dans un ordre quelconque (cycle irrgulier)


1re mthode On ralise un compteur de mme modulo, puis on transcode ses sorties pour obtenir le cycle demand.

Exemple 10.4

Cycle 2, 5, 6, 8, 4, 10
H
modulo 6 Transcodeur Q0 Q1 Q2 Q3

140

M. Siadat & C. Diou

10.1. Compteur asynchrone ( propagation)

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

Q3 0 0 0 1 0 1

Q2 0 1 1 0 1 0

Q1 1 0 1 0 0 1

Q0 0 1 0 0 0 0

2 5 6 8 4 10

2me mthode Utilisation des entres RAZ et RAU.

Exemple 10.5

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.

10.1.5 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.

7493 TTL
MR 1 MR 2 Q 3 Q 2 Q 1 Q 0

CP1 CP0

Circuit interne
H=CP1 H=CP0 MR1 MR2
RAZ RAZ RAZ RAZ

Q0

Q1

Q2

Q3

MR Master Reset.

M. Siadat & C. Diou

141

Chapitre 10 : Les compteurs

10.1.6 Inconvnients des compteurs asynchrones


Chaque bascule introduit un retard de Dp (Dp =25ns). Comme les bascules ne commutent pas sur le mme signal dhorloge, les retards sadditionnent : la n ime bascule, on a un retard Tm de n Dp . Ainsi, la frquence maximum de fonctionnement FH dun compteur modulo n , constitu de n bascules de dlai de propagation Dp dpend du nombre de bascules du compteur et donc du modulo du compteur. Cette frquence peut tre tablie comme suit : Tm = Dp n : TH = 2 T m : Dlai de propagation du compteur Priode min de lhorloge

FH = 1/(2 Tm ) : Frquence max de lhorloge = 1/(2 n Dp ) Laccumulation des retards des bascules implique une utilisation du compteur limite en frquence, particulirement lorsque le nombre de bits est lev, puisque le nombre de bascules augmente en mme temps que le nombre de bits. Les fronts des signaux appliqus sur les entres dhorloge des bascules nayant pas lieu au mme instant cause des retards diffrents, 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). Dautre part, ces retards de commutation introduisent des tats transitoires relativement consquents, particulirement lorsque le nombre de bascules traverses est important. Mais linconvnient le plus important est li au fait que cette structure ncessite de la logique sur des signaux asynchrones (lhorloge est gnre par une bascule et le signal Clear est gnr par une structure combinatoire). Cette logique combinatoire peut donc engendrer (ou propager) des tats transitoires qui peuvent entraner des dysfonctionnements du compteur.

142

M. Siadat & C. Diou

10.2. Compteur synchrone (parallle)

10.2 Compteur synchrone (parallle)


Toutes les bascules sont dclenches en mme temps par le mme signal dhorloge. Ceci vite le problme du retard de propagation.

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

Exemple 10.6

Ralisation dun compteur modulo 8 ( cycle complet) laide de bascules T Table dexcitation Q2 Q1 Q0 Q+ T2 T1 T0 Q+ 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 1 0 0 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 1 0 0 1 1 1 0 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
1

`  `  `  #a 0 #a 0 #a 0 @b @bP @bP P

&

Clk

Clk

Clk

Exemple 10.7

Ralisation dun compteur synchrone dcrivant le cycle 4, 9, 1, 3, 2.

M. Siadat & C. Diou

143

Chapitre 10 : Les compteurs

a) laide de bascules JK :

b) laide de bascules D :

c) laide de bascules T :

10.2.2 Exemples de circuit intgr


Compteur pr-rglable 74160 (74161, 74162, 74163) ltat initial du compteur est rglable laide des entres D1 , D2 , D 3 , D 4 ; validation : elle permet de verrouiller le compteur. Circuit Comptage Chargement RAZ 74160 synchr. DCB synchrone asynchrone 74161 synchr. bin. synchrone asynchrone 74162 synchr. DCB synchrone synchrone 74163 synchr. bin. synchrone synchrone RAZ synchrone : indpendant de lhorloge. RAZ asynchrone : 000 est obtenu au coup dhorloge suivant linstant ou clear est port ltat actif 0.

144

M. Siadat & C. Diou

10.2. Compteur synchrone (parallle)

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 10.2
Toutes les commandes agissant sur le comptage sont regroupes sur la gure ci-dessous :

10.2.3 Applications
10.2.3.a Compteur de frquence Circuit qui mesure et afche la frquence dun signal impulsionnel (mesure de frquence inconnue).

M. Siadat & C. Diou

145

Chapitre 10 : Les compteurs

Principe dun compteur de frquence : dure pendant laquelle les impulsions sont comptes : RAZ met le compteur zro : f = contenu t2 t 1

Remarque 10.3
Le compteur est un montage en cascade de compteurs DCB, chacun ayant une unit dcodeur/afcheur (afchage dcimal). La prcision de cette mthode est fonction de lintervalle dchantillonnage. 10.2.3.b Horloge numrique

146

M. Siadat & C. Diou

Chapitre 11
Mthodes dtude des circuits squentiels
Charles Lutwidge Dodgson ou Lewis Carroll 1832 1898

Can you do addition ? the White Queen asked. Whats one and one and one and one and one and one and one and one and one and one ? I dont know, said Alice I lost count. (Lewis Carroll, Through the Looking Glass)

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 mmoire inclus dans les systmes et ltat A B S S+ des sorties : ; 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 ches 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.

147

Chapitre 11 : Mthodes dtude des circuits squentiels

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.

148

M. Siadat & C. Diou

Quatrime partie Architecture des ordinateurs

Chapitre 12
Concepts de base des processeurs
John von Neumann 28 dc. 1903, Budapest, Hongrie 8 fv. 1957, Washington D.C., E.-U.

Si quelquun croit que les mathmatiques sont diHciles, cest simplement quil ne ralise pas comme la vie est complexe ! (John von Neumann)

151

Cinquime partie Technologie des portes logiques

Chapitre 13
Famille des circuits logiques
William Bradford Shockley 13 fv. 1910, London, R.-U. ; 12 aot 1989, London, R.-U. John Bardeen 23 mai 1908, Madison, Wisconsin, E.-U. ; 30 jan. 1991 Walter Houser Brattain 10 fv. 1902, Amoy, Chine ; 13 oct. 1987

Laurats du Prix Nobel de Physique de 1956 pour linvention du transistor. John Bardeen obtiendra un second Prix Nobel de Physique en 1972 pour ses travaux sur la supraconductivit. La qualit des travaux de Shockley sur le transistor ne doit cependant pas crdibiliser ses thories eugniques dun autre ge ...

Les technologies de portes logiques ont volu partir de la technologie Diode-Logic (DL). Celle-ci a volu en Resistor-TransistorLogic (RTL) puis Diode-Transistor-Logic (DTL), avant daboutir la famille la plus populaire en son temps, la famille TransistorTransistor Logic (TTL, CI 54xx ou 74xx). Dautres technologies existent qui prsentent chacunes des avantages et des inconvnients propres : ECL (Emitter-Coupled Logic) pour des circuits rapides (10xxx) ; MOS (Metal Oxyd Semiconductor ) haute intgration ; CMOS (Complementary Metal Oxyd Semiconductor ) faible consom. (40xx) ; I2 L (Integrated Injection Logic) haute intgration. Certaines fonctionnent en logique positive, dautres en logique ngative.

155

Chapitre 13 : Famille des circuits logiques

13.1 Caractristiques dune famille de circuits numriques


Une famille de circuits logiques est dnie par les caractristiques dont les dnitions suivent. Ces dnitions sont ncessaires pour bien comprendre les diffrentes notions dont il est question dans ce chapitre.

Dnition 13.1 Amplication : Lamplication reprsente la capacit dune porte logique damplier la tension ou le courant prsent son entre de manire ce que le signal ne soit pas dgrad aprs avoir travers plusieurs portes. Dnition 13.2 Gain en courant : Le gain en courant dune porte reprsente le rapport du courant la sortie de cette porte sur celui son entre pour le mme niveau de tension. Il y a donc deux valeurs de ce gain une pour chaque niveau logique. Dnition 13.3 Sortance : La sortance ou fan-out est le nombre dunits de charge logique disponibles la sortie dune porte ; cette unit correspond la valeur du courant ncessaire pour commander une entre de circuit logique Dnition 13.4 Entrance : Lentrance ou fan-in est le nombre dunits de charge logique ncessaire en entre pour faire fonctionner la porte. Dnition 13.5 Temps de traverse : Le temps de traverse est lintervalle de temps qui spare le signal dentre du signal de sortie qui en est la consquence.

156

M. Siadat & C. Diou

13.2. volution des diffrentes familles logiques

Dnition 13.6 Temps de monte, temps de descente : Les temps de monte (respectivement de descente) dun signal et lintervalle de temps ncessaire au signal pour passer de 10% 90% (respectivement de 90% 10%) de sa valeur nominale.
Dautres paramtres caractristiques des circuits logiques peuvent avoir un impact lors du choix technologique, mais nentrent pas dans le cadre de ce chapitre : dissipation dnergie, tolrance, abilit, immunit aux parasites, cot, packaging, etc.

13.2 volution des diffrentes familles logiques Pourquoi cette volution ?


Le principal moteur de lvolution des technologies de circuits intgrs est, comme bien souvent, le prix. En 1960, une diode cotait autant que 10 rsistances, et un transistor autant que 50 rsistances (ou 5 diodes). En 1966, une diode valait autant que 2 rsistances, et un transistor autant que 10 rsistance (toujours 5 diodes). Cet tat de fait a inu sur les premires technologies de circuits composants discrets utilisant peu de transistors est beaucoup de rsistances et de diodes : DL, DTL, DCTL, RTL, etc. Aujourdhui un transistor ne cote pas plus cher quune diode, mais une rsistance vaut autant que de nombreuses diodes pour plusieurs raisons : une raison technologique dabord qui tient compte de la nature du matriaux utilis pour raliser la rsistance, mais aussi et surtout par la place importante quoccupe une rsistance sur le silicium. De plus, une rsistance, par dnition, dissipe beaucoup dnergie et entrane une lvation de la temprature du circuit.

M. Siadat & C. Diou

157

Chapitre 13 : Famille des circuits logiques

Toutes ces raisons font que les technologies actuelles utilisent principalement des transistors et peu de rsistances (TTL, ECL) voire pas du tout de rsistances (I2 L, CMOS).

tat de lart actuel


Les technologies transistors bipolaires : DTL : DCTL : RTL : RCTL : ECL : CML : TTL : CTL : I2 L : diode transistor logic (abandonn) direct coupled transistor logique resistor transistor logic resistor capacitor transistor logic (abandonn) emitter coupled logic current mode logic transistor transistor logic complementary transistor logic (abandonn) integrated injection logic

Les technologies transistors MOS : MOSP : MOSN : CMOS : SOS : SOI : metal oxyd semiconductor canal P metal oxyd semiconductor canal N complementary metal oxyd semiconductor silicon on sapphir or spinel (MOS dpos sur saphir ou spinelle) silicon on insulator (MOS dpos sur isolant SiO2 )

13.3 Prsentation des diffrentes familles logiques 13.3.1 Diode Logic (DL)
La logique DL tire parti du fait que la diode est un composant lectronique qui ne conduit le courant lectrique que dans une seule direction. Ainsi, la diode agit comme un interrupteur lectronique.

158

M. Siadat & C. Diou

13.3. Prsentation des diffrentes familles logiques

Le schma ci-contre illustre une D1 Z = A+B porte OU conue en technologie DL. On A considre que le 1 logique est reprsent D par +5 V, et que le 0 logique est repr- B 2 sent par la masse, ou 0 V. Si les deux entres sont laisses non connectes, ou R1 sont toutes les deux ltat 0, la sortie Z  sera galement force la masse par la rsistance, et donc force ltat 0. Si lune ou lautre des entres est force +5 V, la diode correspondante devient alors passante, ce qui force la sortie ltat logic 1. Si les deux entres sont 1, la sortie sera toujours 1 galement. Le schma ci-aprs illustre une porte ET en DL. Les mmes niveaux logiques sont utiliss, mais les diodes sont inverses et la rsistance est congure pour rappeler la tension de sortie ltat logique 1. Si les deux entres sont non connec+V tes ou si elles sont toutes les deux ltat logique 1, la sortie Z sera galement ltat logique 1. Si lune ou lautre des enR1 tres est connecte la masse (tat lo D2 gique 0), la diode conduit et ramne la A masse vers la sortie, qui est donc force ltat logique 0 galement. D1 Z = A.B Dans les exemples prcdents, nous B avons considr que les diodes nintroduisaient aucune erreur ni aucune perte dans le circuit, ce qui nest pas vraiment le cas : une diode va entraner une perte de tension denviron 0,650,7 volts lorsquelle conduit. Nous pouvons cependant nous affranchir de ce problme en dnissant un tat logique 1 comme une tension suprieure 3,5 V, et un tat logique 0 comme une tension infrieure 1,5 V. Tout niveau compris entre 1,5 et 3,5 V sera considr comme illgal : cest la rgion pour laquelle le niveau logique est non dni.

M. Siadat & C. Diou

159

Chapitre 13 : Famille des circuits logiques

Lutilisation de portes individuelles reposant sur cette technologie ne pose pas de problme, du moment que lon respecte les contraintes sur les niveaux de tension. Cependant, si nous cascadons plusieurs portes DL, des problmes peuvent apparatre. Dans lexemple ci-contre, nous avons deux portes ET dont les sorties sont connectes aux entres dune porte OU. Ce schma est trs simple et ne semble pas poser de problme. En pratique, il en va diffremment ! Si nous forons les entres ltat bas 0, la sortie sera galement force 0 ; aucun problme donc. Cependant, si les deux entres de lune ou lautre des portes ET sont +5 V, les diodes de la porte OU seront alors passantes (niveau haut ramen sur les anodes), et le courant circulera alors travers la rsistance de la porte ET, travers la diode, et travers la rsistance de la porte OU. Si on considre que les rsistances sont dgale valeur (ce qui est typiquement le cas), elles vont se comporter comme un diviseur de tension et ainsi partager le +5 V en deux parties gales ; la diode de la porte OU va galement introduire une lgre perte de tension, et la tension de sortie du systme sera alors denviron 2,1 ou 2,2 V. Si les deux portes ET voient leurs deux entres au niveau logique 1, la tension de sortie peut monter 2,8 ou 2,9 V. En tout tat de cause, la tension de sortie de la porte OU sera dans la zone interdite , rgion de la tension pour laquelle le niveau logique nest pas dni. En poursuivant plus avant, si on connecte les sorties de deux ou plus de ces structures une autre porte OU, nous perdons tout contrle sur la tension de sortie : il va se trouver quelquepart une diode polarise en inverse qui va bloquer le signal dentre, emp-

160

M. Siadat & C. Diou

13.3. Prsentation des diffrentes familles logiques

chant le circuit de fonctionner correctement. Cest pourquoi la logique DL ne peut tre utilise que pour des portes uniques, et dans des circonstance spciques.

13.3.2 Resistor Transistor Logic (RTL)


Considrons le circuit transistor le plus simple qui soit, comme celui-ci ci-contre gauche. Nous appliquerons uniquement lune des deux tensions suivantes lentre I : 0 V (0 logique) ou +V volts (1 logique). La valeur exacte de la tension +V dpend des paramtres du circuit ; dans les circuits intgrs RTL, la tension habituellement utilise est +3,6 V. Considrons que le transistor utilis ici est un transistor NPN avec un gain en courant raisonnable, une tension metteur-base de 0,65 V, et une tension de saturation collecteur-metteur infrieure 0,3 V. Dans les circuits intgrs RTL standards, la rsistance de base est de 470 , et la rsistance de collecteur est de 640 . Lorsque la tension dentre est zro volt (en pratique, nimporte quelle tension infrieure 0,5 V), il ny a pas de courant metteurbase et le transistor est bloqu. Ainsi, aucun courant ne circule travers la rsistance de collecteur, et la tension de sortie est de +V volts. En dautres termes, un 0 logique en entre rsulte en un 1 logique en sortie. Lorsque la tension dentre est de +V volts, la jonction metteurbase est polarise est le transistor passant. La tension de sortie sera donc de 3, 6 0, 65 = 2, 95 volts appliqu au travers dune combinaison de rsistances en srie de 640 pour la rsistance de sortie et de 470 pour la rsistance dentre. Ceci nous donne un courant de base de 2, 95/1110 = 0, 0026576577 = 2, 66 mA. La logique RTL est une technologie relativement ancienne, et les transistors utiliss dans les circuits intgrs RTL ont un gain denviron 60 100. Si on considre un gain de 60, un courant de base de 2,66 mA supporte un courant de collecteur maximal de 159,6 mA.

M. Siadat & C. Diou

161

Chapitre 13 : Famille des circuits logiques

Si la chute de tension aux bornes de la rsistance de collecteur de 640 est de 3,3 V (3, 6 0, 3), le courant sera alors de 5,1 mA. Ainsi, le transistor sera compltement satur. Avec un 1 logique en entre, ce circuit produit un 0 logique en sortie, et nous vu quun 0 logique en entre, il produit un 1 logique en circuit : ce circuit est un inverseur. Comme nous pouvons le constater lissue des calculs prcdents, la quantit de courant fournie la base du transistor est beaucoup plus importante que ce qui est ncessaire pour faire commuter le transistor vers la saturation. Ainsi, il est possible dutiliser une seule sortie pour commander plusieurs entres dautres portes, ainsi que davoir des portes comportant plusieurs rsistances dentre. Un tel circuit est reprsent ci-dessus. Dans ce circuit, nous avons quatre rsistances dentre. Porter lune des entres 3,6 V est sufsant pour saturer le transistor, et appliquer dautre 1 logique additionnels en entre naura pas rellement deffet sur la tension de sortie. Rappelons que la tension de polarisation sur la base du transistor nexcdera pas 0,65 V, ainsi le courant travers une rsistance dentre relie la masse ne dpassera pas 0, 65/470 = 1, 383 mA. Ceci nous donne une limite pratique pour le nombre de rsistances dentres pour un seul transistor, mais ne gnre aucun problme srieux lintrieur de cette limite. La porte RTL dcrite prcdemment fonctionne, mais elle pose problme cause dune possible interaction des signaux dentre travers les multiples rsistances dentre. Une meilleure faon dimplanter une fonction NON-OU est montre sur le schma suivant. Ici, chaque transistor a seulement une rsistance dentre, de manire ce quil ny ait aucune interaction entre les entres. La fonction NON-OU est ralise la connexion du collecteur commun

162

M. Siadat & C. Diou

13.3. Prsentation des diffrentes familles logiques

de tous les transistors qui partagent une seule rsistance de charge du collecteur. Ceci est en fait la structure utilise pour tous les circuits intgrs RTL. Le circuit L914, trs rpandu, est un double porte NON-OU deux entres, o chaque porte est une version deux transistors du circuit ci-dessus droite. Il consomme 12 mA lorsque toutes les sorties sont au niveau logique 0. Ceci correspond parfaitement aux calculs que nous avons effectus prcdemment. Le fan-out standard pour les portes RTL est de 16. Cependant, le fan-in pour une porte RTL standard est de 3. Ainsi, une porte produit 16 units de courant en sortie, mais ncessite 3 units pour commander une entre. Il existe des version basse consommation (low-power ) de ces portes qui augmentent les valeurs des rsistances de base et de collecteur 1,5 k et 3,6 k respectivement. De telles portes demandent moins de courant, et ont typiquement un fanin de 1 et un fan-out de 2 ou 3. Elles ont galement une rponse en frquence rduite, de sorte quelles ne peuvent fonctionner aussi rapidement que les portes standards. Pour obtenir une plus grande capacit de commande en sortie (fan-out plus lev), on utilise des buffers : ce sont des inverseurs conu de manire avoir un fan-out de 80. Ils ont galement un fan-in de 6, puisquils utilisent des paires de transistors pour obtenir cette capacit de fournir plus de courant. On peut obtenir une fonction NON-ET de deux faons : on peut dinverser les entres dune porte NON-OU/OU, la transformant ainsi en porte ET/NON-ET, ou on peut utiliser le circuit prsent ci-contre. Dans ce circuit, chaque transistor possde sa propre rsistance dentre, ainsi chacun est contrl par un diffrent signal dentre. Cependant, la seule faon dont la sortie peut tre ramene au niveau logique 0 est que les deux transistors soient activs par des entres

M. Siadat & C. Diou

163

Chapitre 13 : Famille des circuits logiques

au niveau logique 1. Si lune ou lautre des entres est au niveau logique 0 le transistor correspondant ne peut conduire, ainsi aucun courant ne circule dans aucun des transistors. La sortie est donc au niveau logique 1. Cest le comportement dune porte NON-ET. Il est possible dinclure un inverseur pour raliser une sortie ET par la mme occasion. Le problme avec ce circuit NON-ET tient au fait que les transistors ne sont pas parfaits. La tension de collecteur de 0,3 V lorsque le transistor est satur devrait idalement tre de 0 V. Comme elle ne lest pas, il faut examiner ce quil se passe lorsque lon empile les transistors de cette faon. Avec deux transistors, la tension de collecteur en saturation cumule est de 0,6 V, cest--dire seulement trs peu en de de la tension de base de 0,65 V qui sature un transistor. Si lon empile trois transistors pour raliser une porte NON-ET trois entres, la tension de collecteur en saturation cumule est de 0,9 V : ceci est trop lev, et provoquera la conduction dans le transistor suivant quelquesoit le niveau logique appliqu en entre. De plus, la charge que constitue le transistor le plus haut la porte qui le pilote sera diffrente de la charge que constitue le transistor le plus bas. Ce genre dirrgularit peut causer lapparition de problmes, plus particulirement lorsque la frquence des oprations augmente. cause de ces problmes, cette approche nest pas utilise avec les circuits intgrs RTL standards.

13.3.3 Diode Transistor Logic (DTL)


Nous lavons vu 13.3.1, le principal problme avec les portes DL est quelles dtriorent rapidement le signal logique. Cependant, elles fonctionnent pour un tage la fois si le signal est r-ampli entre deux portes : cest le but de la technologie Diode Transistor Logic.

164

M. Siadat & C. Diou

13.3. Prsentation des diffrentes familles logiques

La porte droite est une porte OU DL suivie par un inverseur tel que celui prsent 13.3.2. La fonction OU est toujours ralise par les diodes. Cependant, quelquesoit le nombre dentres au niveau logique 1, il est certain quil y aura une tension dentre sufsante pour faire passer le transistor en saturation. Le transistor restera bloqu uniquement si toutes les entres sont au niveau logique 0. Ainsi le circuit ralise la fonction NON-OU. Lavantage de ce circuit sur son quivalent RTL est que le OU logique est ralis par les diodes, et non par les rsistances. Ainsi, il ny a aucune interaction entre les diffrentes entres, et un nombre quelconque de diodes peut tre utilis (donc un nombre quelconque dentres). Un inconvnient de ce circuit est la rsistance dentre du transistor. Sa prsence a tendance ralentir le circuit, et limite ainsi la vitesse laquelle le transistor est capable de changer dtat. En premire lecture, la version NON-ET ci-contre devrait liminer ce problme. Un niveau logique 0 devrait ramener immdiatement la masse la base du transistor et ainsi bloquer ce dernier... En fait, a ne se passe pas rellement ainsi. Rappelons que la tension de seuil de la diode lorsquelle conduit est trs proche de la tension prsente la base du transistor (0,65 V). Ainsi, mme lorsque

M. Siadat & C. Diou

165

Chapitre 13 : Famille des circuits logiques

toutes les entres sont relies la masse, la base du transistor sera un potentiel denviron 0,65 V, et le transistor peut conduire ... Pour rsoudre ce problme, il est possible dajouter une diode en srie avec le transistor comme montr sur le schma ci-contre. Maintenant, la tension ncessaire pour faire commuter le transistor est de 1,3 V. Pour plus de scurit, on pourrait ajouter une seconde diode en srie, ce qui ncessiterait 1,95 V pour saturer le transistor. De plus, on peut ainsi tre sr que des changements de temprature naffecteront pas de manire signicative le fonctionnement du circuit. En tout tat de cause, ce circuit fonctionne comme une porte NON-ET. De plus, comme pour la porte NON-OU, on peut utiliser autant de diodes dentres que lon veut sans augmenter la tension de seuil. De plus, en labsence de rsistance en srie dans le circuit dentre, il y a moins deffet de ralentissement, et le transistor peut commuter plus rapidement et donc grer des frquences plus leves. Ceci tant, est-il possible dappliquer la mme raisonnement la porte NON-OU et liminer la rsistance pour permettre une commutation plus rapide ? La rponse est oui. Considrons le circuit ci-contre. On utilise ici des transistors spars connects ensembles. Chacun a une entre unique, et fonctionne donc comme un inverseur. Cependant, si les collecteurs sont connects ensembles, un

166

M. Siadat & C. Diou

13.3. Prsentation des diffrentes familles logiques

1 logique appliqu lune des entres forcera la sortie au niveau logique 0. Cest une porte NON-OU. La mme approche peut tre utilise pour les portes NON-OU/OU RTL, de manire ce que lopration NON-OU soit ralise au niveau des collecteurs plutt quen utilisant des rsistances. Cette approche limine galement la limite sur le nombre dentres pouvant tre utilises, puisquil ny a aucune interaction entre les entres.

13.3.4 Transistor Transistor Logic (TTL)


Avec le dveloppement rapide des circuits intgrs, des nouveaux problmes sont apparus, et des nouvelles solutions furent dveloppes pour y remdier. Lun des problmes avec les circuits DTL tait quil fallait autant de place sur le circuit pour raliser une diode que pour un transistor. Il tait donc souhaitable de ne pas avoir ncessiter autant de diodes. La question est donc de savoir par quoi remplacer ces diodes ... En tudiant la porte DTL ci-contre, on peut constater que les diodes montes en opposition ressemblent normment aux deux jonctions dun transistor. En fait, si nous avions un inverseur, il naurait quune seule diode dentre, et il aurait t possible de remplacer ces deux diodes opposes par un transistor NPN qui jouerait le mme rle. En pratique, ceci fonctionne parfaitement. La gure suivante illustre linverseur rsultant de cette transformation. De plus, il est possible dajouter plusieurs metteurs au transistor dentre sans accrotre normment lespace ncessaire sur le circuit. Ceci nous permet de raliser une porte plusieurs entres dans pratiquement le mme espace quun inverseur.

M. Siadat & C. Diou

167

Chapitre 13 : Famille des circuits logiques

Les conomies despaces ralises se traduisent en une conomie signicative sur les cots de fabrication, ce qui rduit les cots au niveau de lutilisateur nal. Un problme partag par toutes les portes logiques avec un seul transistor de sortie et une rsistance de rappelle +V (pull-up) sur le collecteur est la vitesse de commutation. Le transistor tire la sortie vers le niveau logique 0 de manire active, mais la rsistance nest pas active lorsquelle tire la sortie vers le niveau logique 1. cause de facteurs invitables comme les capacitances du circuit ainsi qu une caractristique des transistors bipolaire appele stockage de charge , cela prendrait un certain temps aux transistor pour se bloquer compltement et la sortie pour atteindre le niveau logique 1. Ceci limite la frquence laquelle la porte peut fonctionner. Les concepteurs de circuits TTL commerciaux rduisent ce problme en modiant le circuit de sortie. Le rsultat est le circuit de sortie totem pole utilis dans la plupart des circuits intgrs TTL des sries 7400/5400. Le circuit nal utilis dans la plupart des circuits intgrs commerciaux standards est prsent sur la gure de gauche. Le nombre dentres peut varier un CI commercial peut avoir 6 inverseurs, quatre portes deux entres, trois portes trois entres, ou deux portes quatre entres. Une porte 8 entre dans un seul boitier est galement disponible. Dans tous les cas la structure du circuit reste la mme.

168

M. Siadat & C. Diou

13.3. Prsentation des diffrentes familles logiques

13.3.5 Complementary Metal Oxyd Semiconductor Logic (CMOS)


La technologie CMOS est une technologie plus rcente base sur lutilisation de transistors MOS complmentaires pour raliser les fonctions logiques et qui ncessite un courant pratiquement nul pour fonctionner. Ceci rend cette technologie particulirement intressante dans les applications alimentes par batteries. De plus, elles peuvent fonctionner avec des tensions variant de 3 V (voire moins pour les dernires technologies : 1,3 V) 15 V. Les portes CMOS sont toutes bases sur linverseur prsent sur la gure de droite. Les deux transistors sont des MOSFETs en mode tendu ; un canal N avec sa source relie la masse, et un canal P avec sa source connecte +V. Leurs grilles sont relies pour former lentre, et leurs drains sont relis pour former la sortie. Les deux MOSFETs sont conus pour avoir des caractristiques crorrespondantes ; ainsi, ils sont complmentaires lun de lautre. Lorsquils sont bloqus, leur rsistance est innie, et lorsquil sont passants, la rsistance de leur canal est denviron 200 . Puisque la porte est essentiellement un circuit ouvert, elle ne consomme aucun courant, et la tension de sortie sera gale soit la masse, soit la tension dalimentation, selon le transistor en train de conduire. Lorsque lentre A est mise la masse (0 logique), le MOSFET canal N nest pas polaris, il est bloqu. Cest un circuit ouvert, et donc il laisse la ligne de sortie dconnecte de la masse. En mme temps, le MOSFET canal P est polaris ; il devient passant et son canal a une rsistance denviron 200 , connectant ainsi la ligne de sortie lalimentation. Ceci ramne donc la tension +V la sortie (1 logique). Lorsque lentre A est +V (1 logique), le MOSFET canal P est bloqu et le MOSFET canal N est passant, ramenant la masse vers la sortie (0 logique). Ainsi, le circuit ralise bien linversion logique

M. Siadat & C. Diou

169

Chapitre 13 : Famille des circuits logiques

en mme temps quil gnre des rappels actifs +V (pull-up) ou la masse (pull-down), selon ltat de la sortie. Ce concept peut tre tendu aux structures NON-OU et NON-ET en combinant des inverseurs dans une structure partiellement srie, partiellement parallle. Le circuit prsent cidessus est un exemple de porte NON-OU CMOS deux entres. Dans ce circuit, si les deux entres sont ltat bas, les deux MOSFETs canal P seront passant, induisant une connexion +V. Les deux MOSFETs canal N seront bloqus, il ny aura donc pas de connexion la masse. Cependant, si lune des entres passe ltat haut, le MOSFET canal P correspondant se bloquera et dconnectera par l mme la sortie du +V, alors que le MOSFET canal N correspondant deviendra passant, ramenant la sortie la masse. La structure peut tre inverse, comme montr sur la gure prcdente. Ici, nous avons une porte NON-ET deux entres, pour laquelle un 0 logique sur lune ou lautre des entres forcera la sortie ltat logique 1. Il faudra par contre que les deux entres soient au niveau logique 1 pour autoriser la sortie passer ltat logique 0. Cette structure est moins limite que son quivalent bipolaire, mais il existe tout de

170

M. Siadat & C. Diou

13.3. Prsentation des diffrentes familles logiques

mme des limites pratiques. Lune de ces limites est la rsistance cumule des MOSFETs en srie. Ainsi, les totem-ples CMOS ne contiennent pas plus de quatre entres. Les portes avec plus de quatre entres sont construites en cascadant les structures plutt que comme des structures uniques. Mme avec cette limite, la structure totem-ple cause encore problme dans certaines applications. Les rsistances de rappel +V et la masse prsentes en sortie ne sont jamais les mmes, et peuvent changer de manire signicative lorsque les entres changent dtat, mme si la sortie ne change pas dtat logique. Le rsultat est des temps de monte et de descente irrguliers et imprdictibles pour le signal de sortie. Ce problme a t rsolu laide des versions bufferises (srie B) des portes CMOS. La technique utilise ici est de faire suivre la porte NON-ET par une paire dinverseurs. Ainsi, la sortie sera toujours pilote par un seul transistor, soit canal P, soir canal N. Puisque les transistor sont choisis pour tre aussi appairs que possible, la rsistance de sortie de la porte sera toujours la mme, le comportement du signal en est plus prdictible. Lun des principaux problmes avec les portes CMOS est leur vitesse. Elles ne peuvent pas fonctionner trs rapidement, cause de leur capacitance dentre inhrente. Les portes de la srie B permettent de rsoudre en partie ces limitations en fournissant un courant de sortie uniforme et commutant les tats en sortie plus rapidement, mme si le signal dentre change plus lentement. Un type de porte, illustr ci-aprs, est unique la technologie CMOS : il sagit du switch bilatral , plus couramment ap-

M. Siadat & C. Diou

171

Chapitre 13 : Famille des circuits logiques

pel porte de transmission . Cette porte fait un usage approfondi du fait que les TEC individuels dans un circuit intgr CMOS sont construits de manire tre symtriques. Et en pratique le drain et la source de nimporte quel transistor peuvent tre interchangs sans affecter les performances ni du transistor lui-mme, ni du circuit dans son ensemble. Lorsque les TEC de type N et P sont connects comme montr dans ce schma et que leurs grilles sont pilotes par des signaux de contrle complmentaires, les deux transistors seront passants ou bloqus ensemble, au lieu de ltre alternativement. Sils sont tous les deux bloqus, le chemin parcouru par le signal est un circuit ouvert : il ny a aucune connexion entre lentre et la sortie. Sils sont tous les deux passants, il y a une connexion de trs faible rsistance entre lentre et la sortie, et un signal pourra circuler. Ce qui est vraiment intressant dans cette structure est que le signal contrl de cette manire na pas besoin dtre un signal numrique. Aussi longtemps que la tension du signal ne dpassera pas la tension dalimentation, mme un signal analogique peut tre contrl par ce type de porte.

172

M. Siadat & C. Diou

13.4. Implantation des oprateurs en technologie CMOS

Chapitre 1

Algbre de commutation 13.4 Implantation des oprateurs en technologie CMOS


0 0

1.6 IMPLANTATION DES OPERATEURS EN TECHNOLOGIE C-MOS

Transistor N : ouvert si grille =0 ferm si grille =1

Transistor P : ouvert si grille =1 ferm si grille =0

B E S A A B A B A B 1 1 0 A A B B

M. Siadat & C. Diou

173

Sixime partie Annexes

Annexe A
Correction des exercices

177

[ Index ]

Symbols
etat . . . . . . . . . . . . . . . . . . . . . . . . . . 135

C
canonique forme canonique . . . 59, 80, 108 produit canonique . . . . . . 60 somme canonique . . . . . . 59 commutativit . . . . 54, 58, 62, 65 complmentarit. . . . . . . . . . . . .57 complmentation . . . . . . . . . . . . 57 compteur . . . . . . . . . . . . . . . . . . . 135 consensus . . . . . . . . . . . . . . . . . . . . 62

A
absorption . . . . . . . . 54, 58, 62, 80 allgement . . . . . . . . . . . . . . . . . . . 80 amplication. . . . . . . . . . . . . . . .156 associativit . . . . . . . . . . . . . . 58, 62

B
bascule verrouillage . . . . . . . . . . 119 D . . . . . . . . . . . . . . . . . . . . . . . 122 JK . . . . . . . . . . . . . . . . . . . . . . 121 matre-esclave . . . . . . . . . 120 RS . . . . . . . . . . . . . . . . . . . . . . 114 RS synchrone . . . . . . . . . . 118 RST. . . . . . . . . . . . . . . . . . . . .118 T . . . . . . . . . . . . . . . . . . . . . . . 124 base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 conversion de base . . 1013 binaire . . . . . . . . . . . . . . . . . . . . . . . . . 8

D
De Morgan 54, 59, 62, 64, 67, 80, 89 distributivit . . . . . . . . . . 54, 58, 62 dualit . . . . . . . . . . . . . . . . . . . . 58, 59

E
lment absorbant . . . . . . . . . . . 62 lment neutre . . . . . . . . . . . . . . . 62 lment nul . . . . . . . . . . . . . . . . . . 56 entrance. . . . . . . . . . . . . . . . . . . . .156 equivalence . . . . . . . . . . . . . . . . . . 57

179

Index

F
fan-in . . . . . . . . . . . . . . . . . . . . . . . 156 fan-out . . . . . . . . . . . . . . . . . . . . . . 156 fanout . . . . . . . . . . . . . . . . . . . . . . . 163 forme conjonctive . . . . . . . . . . . . 60 forme disjonctive. . . . . . . . . . . . .59

M
modulo. . . . . . . . . . . . . . . . . . . . . .135 MSB . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

O
octal . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

G
gain en courant . . . . . . . . . . . . . 156

P
polynomiale . . . . . . . . . . . . . . . . . . . 7

H
hexadcimal . . . . . . . . . . . . . . . . . . 10

S
sortance . . . . . . . . . . . . . . . . . . . . . 156

I
idempotence . . . . . . . . . . 54, 57, 62 identit . . . . . . . . . . . . . . . . . . . 56, 62 identit . . . . . . . . . . . . . . . . . . . 54, 63 induction parfaite . . . . . . . . . . . . 56 involution . . . . . . . . . . . . . 54, 57, 62

T
temps de descente . . . . . . . . . . 157 temps de monte . . . . . . . . . . . 157 temps de traverse . . . . . . . . . . 156

L
latch . . . . . . . . . . . . . . . . . . . . . . . . . 119 LSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

V
virgule virgule xe . . . . . . . . . . . . . . 19 virgule ottante . . . . . 2025

180

M. Siadat & C. Diou

[ Bibliographie ]

[WHI61] J.E. Whitesitt, Boolean algebra and its applications, 1961, Addison-Wesley. [KAR53] Maurice Karnaugh, The Map Method for Synthesis of Combinational Logic Circuits, Trans. AIEE. pt I, 72(9) :593599, November 1953. [LAF] J.-C. Lafont & J.-P. Vabre, Cours et Problmes dlectronique Numrique , d. Ellipses. [TOC] R. J. TOCCI, Circuits Numriques, Thorie et Applications , d. Dunod. [WWW01] Site Web sur la reprsentation des nombres dans les ordinateurs : http://www.trotek.ec-lyon.fr/~muller/

cours/index.html
[WWW02] Site Web sur la technologie des portes logiques : www.

play-hookey.com

181

[ Table des matires ]

Notes sur cet ouvrage

Partie I : Les nombres


1 Les systmes de numration 1.1 La reprsentation polynomiale . . . . . . . . . . . . . 1.2 Le systme binaire . . . . . . . . . . . . . . . . . . . . 1.3 Le systme octal . . . . . . . . . . . . . . . . . . . . . . 1.4 Le systme hexadcimal . . . . . . . . . . . . . . . . . 1.5 Conversion dun systme de numration un autre . . . . . .

5
7 . 7 . 8 . 9 . 10 . 10 . . . . . . . . . 15 16 16 19 26 31 33 33 38 42 45 47

Codage des nombres dans les machines numriques 2.1 Reprsentation des nombres entiers positifs . . . . . . 2.2 Reprsentation binaire des entiers signs . . . . . . . . 2.3 Reprsentation des nombres rels dans un calculateur 2.4 Arithmtique binaire . . . . . . . . . . . . . . . . . . . . 2.5 En rsum . . . . . . . . . . . . . . . . . . . . . . . . . . Les codes numriques 3.1 Codes numriques pondrs . . . . . . . . . . 3.2 Codes numriques non pondrs . . . . . . . 3.3 Codes dtecteurs derreurs et autocorrecteurs 3.4 Les codes alphanumriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Exercices sur les nombres

183

Table des matires

Partie II : La logique combinatoire


4 Algbre boolenne et oprateurs logiques 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . 4.2 Proprits de lalgbre boolenne . . . . . . . . 4.3 Algbre binaire ou algbre de commutation . . 4.4 Thormes monovariables . . . . . . . . . . . . 4.5 Thormes multivariables . . . . . . . . . . . . . 4.6 Oprateurs logiques lmentaires et composs 4.7 Universalit des portes NON-ET et NON-OU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

49
51 51 54 55 56 57 62 67

Reprsentation et simplication des fonctions logiques 73 5.1 Mthodes de reprsentation des fonctions logiques . . . 73 5.2 Simplication dexpressions logiques . . . . . . . . . . . 80 Les circuits combinatoires 89 6.1 Circuits logiques combinatoires usuels . . . . . . . . . . 89 6.2 Synthse des circuits combinatoires . . . . . . . . . . . . 98 Fonctions et oprateurs arithmtiques 105 107

Exercices sur les systmes combinatoires

Partie III : Les circuits squentiels


8 Les bascules 8.1 Introduction . . . . . . . . . . . . . . . . . . . . 8.2 Point mmoire . . . . . . . . . . . . . . . . . . . 8.3 Bascule RS . . . . . . . . . . . . . . . . . . . . . 8.4 Bascule RS synchrone ou bascule RSH . . . . . 8.5 Bascule verrouillage (D-latch) . . . . . . . . . 8.6 Bascules matre-esclave . . . . . . . . . . . . . 8.7 Bascule JK . . . . . . . . . . . . . . . . . . . . . 8.8 Bascule D synchrone . . . . . . . . . . . . . . . 8.9 Bascule T . . . . . . . . . . . . . . . . . . . . . . 8.10 Entres prioritaires asynchrones des bascules 8.11 Paramtres temporels des bascules . . . . . . 8.12 Applications des bascules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

109
111 . 111 . 113 . 114 . 118 . 119 . 120 . 121 . 122 . 124 . 124 . 126 . 126

184

M. Siadat & C. Diou

Table des matires

Registres : stockage et transfert de donnes 129 9.1 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 9.2 Registre de mmorisation : criture et lecture parallles 130 9.3 Registres dcalage . . . . . . . . . . . . . . . . . . . . . . 131 9.4 Registre universel . . . . . . . . . . . . . . . . . . . . . . . 132

10 Les compteurs 135 10.1 Compteur asynchrone ( propagation) . . . . . . . . . . 136 10.2 Compteur synchrone (parallle) . . . . . . . . . . . . . . 143 11 Mthodes dtude des circuits squentiels 147

Partie IV : Architecture des ordinateurs


12 Concepts de base des processeurs

149
151

Partie V : Technologie des portes logiques 153


13 Famille des circuits logiques 13.1 Caractristiques dune famille de circuits numriques 13.2 volution des diffrentes familles logiques . . . . . . . 13.3 Prsentation des diffrentes familles logiques . . . . . 13.4 Implantation des oprateurs en technologie CMOS . . 155 . 156 . 157 . 158 . 173

Partie VI : Annexes
A Correction des exercices Index Bibliographie

175
177 179 181

M. Siadat & C. Diou

185

Vous aimerez peut-être aussi