Post on 09-Oct-2015
5/19/2018 .pdf
1/16
Architecture des ordinateurs
premire partie des annalesArnaud Giersch, Benot Meister et Frdric Vivien
1 TD 1 : Arithmtique des ordinateurs et codage
1. Donner la valeur dcimale des entiers suivants, la base dans laquelle ces entiers sont cods tant prcise.
(a) 1011011 et 101010 en binaire (base 2) ;
Correction :10110112=9110,1010102=4210.
(b) A1BE et C4F3 en hexadcimal (base 16) ;Correction :A1BE16=41 40610,C4F316=50 41910.
(c) 77210 et 31337 en octal (base 8).
Correction :772108=32 39210,313378=13 02310.
2. Coder lentier 2 397 successivement en base 2, 8 et 16.
Correction :2 39710=1001010111012=45358=95D16.
3. Donner la valeur dcimale du nombre 10101, dans le cas o il est cod en base 2, 8 ou 16.
Correction :101012=2110,101018=4 16110,1010116=65 79310.
Mme question avec le nombre 6535 cod en base 8 ou 16.Correction :65358=3 42110,653516=25 90910.
4. Combien dentiers positifs peut-on coder en binaire sur un octet ?
Correction :Un octet contient 8 bits, on peut donc coder28 =256entiers.
Combien de bits faut-il pour reprsenter 65 563 entiers diffrents en binaire ?
Correction :Avec b bits, on peut coder2b entiers diffrents. Pour coder n entiers, il nous faut donc m bits tels que2m1
5/19/2018 .pdf
2/16
6. Coder en binaire sur un octet les entiers 105 et 21 puis effectuer laddition binaire des entiers ainsi cods. Vrifierque le rsultat sur un octet est correct. Mme question avec les entiers 184 et 72.
Correction :
1101001 (105)+ 10101 (21)
1111110 (126)
10111000 (184)+ 1001000 (72)
(1)00000000 (0)Ce rsultat est correct. Ce rsultat nest pas correct (sur 8 bits).
7. Coder en binaire sur un octet les entiers 79 et 52 puis effectuer la multiplication binaire des entiers ainsi cods.Mme question avec les entiers 135 et 46.
Correction :
1001111 (79) 110100 (52)
10011111001111
+ 10011111000000001100 (4108)
10000111 (135) 101110 (46)
1000011110000111
10000111
+ 100001111100001000010 (6 210)
8. Indiquer la valeur code par le mot de 16 bits 1101100101110101 suivant quil reprsente un entier non sign, ouun entier sign.
Correction :En non sign, la valeur est11011001011101012=55 66910. En sign, le premier bit (bit de signe)vaut 1, cest donc un nombre ngatif dont la valeur est1011001011101012= 22 90110.
Mme question avec le mot 1001000011101101.
Correction :En non sign, la valeur est10010000111011012=37 10110. En sign, cest un nombre ngatif dontla valeur est10000111011012= 4 33310.
2 TD 2 : Arithmtique des ordinateurs (suite)
1. Indiquer la valeur code par la suite 1101100101110101 qui reprsente un entier sign en complment 2 sur 16bits.
Correction :Cest un nombre ngatif. Complment 2 : 0010011010001011 donc 9867.
Mme question avec la suite 1001000011101101.
Correction :Cest un nombre ngatif. Complment 2 : 0110111100010011 donc 28435.
2. Reprsentation binaire des entiers ngatifs
(a) Coder sur 4 bits les entiers 7, 2, 0,2, 7 et 8 avec les reprsentations suivantes : signe et valeur absolue ;
Correction :0111, 0010, 0000 ou 1000, 1010, 1111, n/a
complment 1;
Correction :0111, 0010, 0000 ou 1111, 1101, 1000, n/a
complment 2.
Correction :0111, 0010, 0000, 1110, 1001, 1000
(b) Coder les entiers 61 et 61 sur un octet en utilisant la reprsentation par le signe et la valeur absolue. Montrerque laddition binaire de ces entiers ainsi cods produit un rsultat incorrect. Montrer quen revanche le rsultatest correct si ces entiers sont cods en utilisant la reprsentation par le complment 2.
2
5/19/2018 .pdf
3/16
Correction :
Signe et valeur absolue : Complment deux :
00111101+ 10111101
11111010
(61)(61)
(122)
00111101+ 11000011
00000000
(61)(61)
(0)
3. Effectuer en binaire (8 bits) les oprations 12, 51 +127, 3127, 127 + 127, 6363. Prciser, pour chaqueopration, la retenue et le dbordement.
Correction :On code les nombres ngatifs en complment 2.
Dbordement :
Laddition de deux nombres de signes diffrents ne produit jamais de dbordement (la valeur absolue du rsultat
est toujours infrieure au maximum des valeurs absolues des deux oprandes).
Laddition de deux nombres de mme signe produit un dbordement si le signe du rsultat est diffrent du signe
des deux oprandes.
00000001 (1)
+ 11111110 (2)11111111 (1)
00110011 (51)
+ 01111111 (127)10110010 (78)
11111101 (3)
+ 10000001 (127)01111110 (126)
retenue : 0, dbordement : 0 retenue : 0, dbordement : 1 retenue : 1, dbordement : 1
10000001 (127)+ 01111111 (127)
00000000 (0)
11000001 (63)+ 11000001 (63)
10000010 (126)
retenue : 1, dbordement : 0 retenue : 1, dbordement : 0
4. Reprsentation des rels
(a) En virgule fixe, dcoder le nombre binaire 11.011 puis coder en binaire le rel 11.625.
Correction :
11.0112=121 + 120 + 021 + 122 + 123
10= [2 + 1 + 0.25 + 0.125]10=3.37510
11.62510= [8 + 2 + 1 + 0.5 + 0.125]10=23 + 21 + 20 + 21 + 23
10=1011.1012
(b) En virgule flottante normalise, coder en binaire au format simple prcision le rel 12.575
Correction :
12.57510=1100.1001001 . . .2=0.11001001001. . .10100
2
0|10000011|11001001001100110011001|
puis effectuer le codage inverse.Correction :bit de signe = 0 nombre positif.exposant biais =100000112=13110 exposant :1000001101111111=1002=410la mantisse est normalise : 0.11001001001100110011001
0.1100100100110011001100110100
2=1100.10010011001100110012
=23 + 22 + 21 + 24 + 27 + 28 + 211
+212 + 215 + 216 + 219
10
=12.574998855590820312510
3
5/19/2018 .pdf
4/16
5. Oprations en virgule flottante.Soita=
0.1001010101
2etb=
0.11010101
2. Calculera + betab.
Correction :Avant de faire laddition, il faut que les deux exposants soient gaux (a =1001101, b=0.1101101). Pour faire la multiplication, on multiplie les mantisses puis on additionne les exposants. Dans les deux cas,le rsultat doit ensuite tre normalis.
1001.0000101
+ 0.1101101
1001.1101101
= 0.1001110110101
0.100110101
0.1101101
10011001
+ 10010.0111010110110
= 0.111010110101
3 TD 3 : Algbre de Boole
1. Montrer comment loprateuret peut tre obtenu partir des oprateursouet non. De mme pour loprateur
ouavec les oprateursetetnon.Correction :non(a ou b) = (non a) et (non b) non((non a) ou (non b)) = a et bnon(a et b) = (non a) ou (non b) non((non a) et (non b)) = a ou b
2. On note respectivement les oprateurs ou, et, xor et non par +, , et . Montrer laide de tables de vritqueAB=A B +A Bet queAB= (A +B) (A +B)
Correction :Tables de vrits :
A B A B AB A B A B A B +A B1 1 0 0 0 0 0 01 0 0 1 1 0 1 1
0 1 1 0 1 1 0 10 0 1 1 0 0 0 0
A B A B AB A +B A +B (A +B) (A +B)1 1 0 0 0 1 0 01 0 0 1 1 1 1 10 1 1 0 1 1 1 10 0 1 1 0 0 1 0
3. Montrer queA + (A B) =A +Bet queA (A +B) =A B
Correction :On utilise la distributivit de loprateurou sur loprateuret, et inversement :
A + (A B) = (A +A).(A +B) =1.(A +B) =A +B
A (A +B) = (A A) + (A B) =0 + (A B) =A B
4. Dterminer le complment de lexpressionA +B C
Correction :On utilise les lois de de Morgan ; loprateuret est prioritaire :
A +B C=A B C=A (B +C) =A B +A C
5. Montrer que les deux rgles dassociativit sont duales, i.e. montrer qu partir de la rgle dassociativit deloprateurou, on peut dduire, en utilisant les lois de de Morgan, lassociativit de loprateur et (et inverse-ment).
4
5/19/2018 .pdf
5/16
Correction :
A + (B +C) = (A +B) +C A + (B +C) = (A +B) +C A (B C) = (A B) C
A, B, et C sont des variables muettes. Par changement de variable {(A A), (B B), (C)C} on obtient laproprit dassociativit du ou : A (B C) = (A B) C
6. crire lexpressionABuniquement avec les oprateursou,etetnonCorrection :Daprs 2. :
AB=A B +A B AB=A B +A B AB= (A +B) (A +B)
7. Montrer que la fonction norforme un groupe logique complet.
Correction :Pour cela, on montre que la fonctionnor permet dexprimer tous les oprateurs logiques : non: nor(A,A) =A
et: nor(nor(A,A),nor(B,B)) =nor(A,B) =A +B=A B
ou: nor(nor(A,B),nor(A,B)) =nor(A,B) = (A +B) = (A +B).
8. Simplifier au maximum les expressions logiques suivantes.
(a) A B +A BCorrection :
A B +A B= (A +A) B=1 B=B
(b) (A +B) (A +B)
Correction :
(A +B) (A +B) =A +B B=A + 0=A
(c) A +A B
Correction :
A +A B=A 1 +A B=A (1 +B) =A 1=A
(d) A (A +B)
Correction :
A (A +B) = (A + 0) (A +B) =A + 0 B=A + 0=A
(e) A B +A +B +C+D
Correction :
A B +A +B +C+D= (A +B) (A +B +C+D)
= (A +B) ((A +B) + (C+D))
donc, daprs lexercice 8d,
=A +B
(f) A +B C+A (B C) (A D +B)
Correction :
A +B C+A (B C) (A D +B) = (A +B C) + (A +B C) (A D +B)
daprs lexercice 3,
A +B C+A (B C) (A D +B) = (A +B C) + (A D +B) = (A +A D) + (B +B C)
daprs lexercice 8c,
A +B C+A (B C) (A D +B) =A +B
5
5/19/2018 .pdf
6/16
(g) (AB) B +A B
Correction :
daprs lexercice 2,
(AB) B +A B= (A B +A B) B +A B=A B +A B B +A B
=A B +A B
daprs lexercice 8a,
=B
(h) A +A B +A B
Correction :
A +A B +A B= (A +A B) +A B
daprs lexcercice 3,
A +A B +A B= (A +B) + (A +B) =1
9. Dmontrer que toute fonction trois variablesF(A,B,C)est gale
F(A,B,C) =A F(1,B,C) +A F(0,B,C)
Correction :A est une variable boolenne : les deux valeurs quelle peut prendre sont0et1: si A=0,0 F(1,B,C) + 1 F(0,B,C) =F(0,B,C) =F(A,B,C) ; si A=1,1 F(1,B,C) + 0 F(0,B,C) =F(1,B,C) =F(A,B,C).
10. Montrer que les lois de de Morgan stendent un nombre quelconque de variables.
Correction :
(a) A1 A2 An= A1+A2+ +An avec n 2. La dmonstration se fait par rcurrence sur n (le nombre
de variables).n=2 cest la loi de de Morgan basique ;
n>2 on utilise lassociativit de+ et :
A1 A2 An= (A1 A2 An1) An
= (A1 A2 An1) +An
= (A1+A2+ +An1) +An
=A1+A2+ +An1+An
(b) A1+A2+ +An= A1 A2 Anavec n 2. Le raisonnement est similaire.
11. Gnration et simplification dexpressions logiques
Considrer la fonction dfinie par la table de vrit ci-dessous :A B C F(A,B,C)0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 11 0 1 11 1 0 11 1 1 0
6
5/19/2018 .pdf
7/16
(a) Gnrer une expression logique correspondante :
i. sous forme de sommes de produits ;
Correction :
A B C+A B C+A B C+A B C+A B C
ii. sous forme de produits de sommes.Correction :
A B C+A B C+A B C= (A +B +C) (A +B +C) (A +B +C)
(b) Simplifier les deux expressions en utilisant les rgles de lalgbre de Boole.
Correction :
i.
A B C+A B C+A B C+A B C+A B C
=A B C+ (A +A) B C+A B (C+C)
=A B C+B C+A B= (A +A C) B +B C
= (A +C) B +B C
=A B +B C+B C
=A B + (BC)
ii.
(A +B +C) (A +B +C) (A +B +C)
= (A A +A B +A C+B A +B B +B C+CA +CB +CC) (A +B +C)
= (A +A B +A C+A B +A C+B C+B C) (A +B +C)
=A A +A B A +A CA +A B A +A CA +B CA +B CA +
A B +A B B +A CB +A B B +A CB +B CB +B CB +
A C+A B C+A CC+A B C+A CC+B CC+B CC
=A B C+A B +A B C+A B C+A C+B C+B C
= (A B) (1 +C+C) +B C+ (A + 1) (B C)
=A B +B C+B C
=A B + (BC)
(c) Construire le diagramme de Karnaugh et dterminer une expression logique associe.
Correction :Une table de Karnaugh se construit partir de lexpression logique sous forme de sommede produits. Dans la somme de produits utilise, chaque produit doit contenir toutes les variables de
lexpression. Par exemple, on mettra une expression dpendant de A et B sous la forme dune somme de
produits de A, A, B, B. Pour mettre lexpression sous la forme voulue, la formule(A +A)B= B est trsutile.
A B C+A B C+A B C+A B C+A B C
Chaque colonne de la table de Karnaugh doit diffrer de ses voisines dun et un seul littral. Nous avons
3 variables et les tables de Karnaugh sont 2 dimensions : il faut regrouper deux variables. Ici nous choi-
sissons de regrouper B et C. On regroupe les 1 en morceaux rectangulaires, selon les principes suivants :
faire les plus grands morceaux possibles,
7
5/19/2018 .pdf
8/16
faire le moins de morceaux possibles,
le nombre de 1 dans un morceau doit tre une puissance de 2,
ne faire un nouveau morceau que sil permet de regrouper des 1 qui nont pas encore t regroups,
en se rappelant que la ligne du bas et la ligne du haut sont considres comme adjacentes, et quil en est
de mme pour la colonne la plus droite et la colonne la plus gauche.
BCA
A
1 110A
0 1 0 1
BCBCBC BC
Chaque morceau donne naissance un produit de variables. Lorsquune variable et son inverse sont dans
le mme morceau, cette variable slimine (parce que(A +A) =1).
B C+A B +B C
12. Considrer les fonctions logiques suivantes. Pour chacune delles, construire le diagramme de Karnaugh; utiliser le diagramme pour simplifier les expressions.
(a) F1(A,B,C) =A B C+A B C+A B C
Correction :La table de Karnaugh est prsente figure 1.
BCA
A
1 101
0 0 0 0
BCBCBC BC
A
FIG . 1 Table de Karnaugh pourF1(A,B,C).
BCA
1 011A
0 0 1 0
BCBC BC
A
BC
FIG . 2 Table de Karnaugh pourF2(A,B,C).
Expression simplifie : F1(A,B,C) =A B +A C.
(b) F2(A,B,C) =A B C+A B +A B C
Correction :La table de Karnaugh est prsente figure 2.
Expression simplifie : F2(A,B,C) =A C+B C
(c) F3(A,B,C) =A B +A B C+B C+A B CCorrection :
F3(A,B,C) =A B +A B C+B C+A B C
=A B C+A B C+A B C+A B C+A B C+A B C
La table de Karnaugh est prsente figure 3.
Expression simplifie : F3(A,B,C) =B +A C
(d) F4(A,B,C,D) =B CD +A B D +A B CD
8
5/19/2018 .pdf
9/16
BCA
A
1 010A
0 1 1 1
BCBC BCBC
FIG . 3 Table de Karnaugh pourF3(A,B,C).
AB
0 110
0 0 1 1
CD
A B
A B
0
0 0
0 0 0
00
C D C D C DC D
A B
A B
FIG . 4 Table de Karnaugh pourF4(A,B,C,D).
Correction :
F4(A,B,C,D) =B CD +A B D +A B CD
=A B CD +A B CD +A B CD +A B CD +A B CD
La table de Karnaugh est prsente figure 4.
Expression simplifie : F4(A,B,C,D) =B D
(e) F5(A,B,C,D) =A +A B +A B C+A B CD
Correction :
F5(A,B,C,D) =A B CD + A B CD +A B CD +A B CD +A B CD
+A B CD +A B CD +A B CD +A B CD +A B CD
+A B CD +A B CD +A B CD +A B CD +A B CD
La table de Karnaugh est prsente figure 5.
Expression simplifie : F5(A,B,C,D) =B +A +C
AB
1 111
1 1 1 1
CD
A B
A B
1
1 0
1 1 1
10A B
A B
C D C D C DC D
FIG . 5 Table de Karnaugh pour F5(A,B,C,D).
AB
1 001
0 0 1 1
CD
A B
A B
0
0 0
0 1 1
11
C D C DC D C D
A B
A B
FIG . 6 Table de Karnaugh pourF6(A,B,C,D).
(f) F6(A,B,C,D) =A B D +A CD +A B CD +A B D +B CD +A B CD
Correction :
F6(A,B,C,D) =A B CD +A B CD +A B CD +A B CD
+A B CD +A B CD +A B CD +A B CD +A B CD
+A B CD
9
5/19/2018 .pdf
10/16
La table de Karnaugh est prsente figure 6.
Expression simplifie : F6(A,B,C,D) =A D +A B D +B D
4 TD 4 : Circuits combinatoires
1. Exprimer la fonctionxorcomme un produit de sommes et raliser le circuit logique correspondant.Correction :AB= (A +B) (A +B)
(A +B) (A +B)
A
B
Mme question en exprimant xorcomme une somme de produits.
Correction :AB=A B +A BA
B
A B +A +B
2. La fonction nandformant un groupe logique complet, raliser, uniquement avec des portes nand, les circuitslogiquesnot, and, oretxor(les formules sont rappeles ci-dessous). not(A) =nand(A,A) and(A,B) =nand(nand(A,B),nand(A,B)) or(A,B) =nand(nand(A,A),nand(B,B)) xor(A,B) =nand(nand(nand(A,A),B),nand(A,nand(B,B)))
Correction :
A A
B
AA B
A B=A B
A
B
A
B
A B=A +B
B
AA
B
A B
A B
A B A B=AB
3. Raliser un circuit logique qui implmente la fonctionF.
F= (A +B +C) (A +B +C) (A +B +C)
Correction :
A
B
C
F
4. Ungnrateur de parit impaire est une fonction qui retourne 1 si le nombre de bits 1 est impair et 0 sinon.Dfinir cette fonction pour un mot de 4 bits. Donner un circuit logique implmentant cette fonction.
10
5/19/2018 .pdf
11/16
Correction :La formule pour le gnrateur de parit impaire sur 4 bits (P) obtenue directement partir de la
table de vrit est :
P=A B CD +A B CD +A B CD +A B CD
+
+A B CD +A B CD +A B CD +A B CD
ce qui donnerait un circuit beaucoup trop compliqu !
On remarque que pour deux bits, P=AB :
A B P
0 0 00 1 11 0 11 1 0
On en dduit les circuits suivants :
A
B
C
D
P ou
A
B
C
DP
5. Rappeler les principes dun demi-additionneur puis dun additionneur complet. Dduire de ces principes uncircuit logique qui implmente le complment 2 sur nbits.
Correction :Le demi-additionneur possde deux entres (x et y) et deux sorties (R et S). S correspond au bit de
rang zro du rsultat de laddition binaire de x et y, R au bit de rang1 (retenue).
y x
R
S
HA
x y R S
0 0 0 00 1 0 1
1 0 0 11 1 1 0
S=xy
R=x y
Un additionneur complet sobtient en enchanant des demi-additionneurs de manire propager correctement
la retenue.
On obtient selon le mme principe le circuit effectuant un complment deux :
En
1
E0E1E2E3
Sn S3 S2 S1 S0
HA HAHAHAHA
6. Raliser un circuit pour un dcrmenteur nbits.
Correction :On pourrait imaginer utiliser un soustracteur avec le deuxime oprande gal 1 pour raliserun dcrmenteur.
Or la dcrmentation (comme lincrmentation) est une opration frquente sur certains registres (compteur
ordinal, registre dindex, registre dadresse, . . .). Donc pour gagner du temps on souhaite construire un circuit
spcialis.
Considrons An1. . .A1A0 le nombre binaire dcrmenter. Appelons Sn1. . .S1S0 le rsultat de la dcrmen-
tation.
11
5/19/2018 .pdf
12/16
On sait que S est obtenu par soustraction de1et propagation de la retenue (Ri). On a donc :
S0=A0 1:
A0 1 S0 R0
0 1 1 11 1 0 0
S0=A0
R0=A0
et Si=Ai Ri1 :
Ai Ri1 Si Ri0 0 0 00 1 1 11 0 1 01 1 0 0
Si=Ai Ri1
Ri=Ai Ri1
Do le circuit :An
Sn
A3
S3 S2
A2 A1
S1 S0
A0
Overflow
R0R1R2R3Rn1
7. Le soustracteur
(a) Raliser un demi-soustracteur (table de vrit et circuit).
Correction :Le demi-soustracteur est dfini par la table de vrit suivante (le bit Bi est retranch au bit
Ai) :
Ai Bi Di Ri0 0 0 00 1 1 11 0 1 01 1 0 0
Di contient la diffrence Ai BiRi contient la retenue ventuelle
On a donc :
Di=Ai Bi
Ri=Ai Bi
Do le circuit logique :
Di= Ai Bi
Ri= Ai Bi
Ai
Bi
(b) Raliser un soustracteur binaire complet (ou tage de soustracteur) selon deux modes :
i. avec deux demi-soustracteurs ;
12
5/19/2018 .pdf
13/16
Correction :Pour obtenir un soustracteur binaire complet il faut prendre en compte lventuelle
retenue prcdente Ri1. La table de vrit est :
Ri1 Ai Bi Di Ri0 0 0 0 00 0 1 1 1
0 1 0 1 00 1 1 0 01 0 0 1 11 0 1 0 11 1 0 0 01 1 1 1 1
Di=Ri1 (Ai Bi) +Ri1 (Ai Bi)
= (AiBi)Ri1
Ri=Ri1 Ai Bi+Ri1 Ai Bi+Ri1 Ai Bi+Ri1 Ai Bi
=Ai Bi (Ri1+Ri1)
+ (Ai Bi+Ai Bi) Ri1
=Ai Bi+ (Ai Bi) Ri1
do le circuit :Ai Bi
Ai Bi
Ai
Bi
Ri1
Di= Ai Bi Ri1
Ri= Ai Bi+ (Ai Bi ) Ri1
HSHS
Ce schma correspond au fait que le soustracteur est ralis en
(1) retranchant Bi de Ai (1er
demi-soustracteur) ;(2) puis en retranchant Rii de la diffrence obtenue.
ii. avec un demi-additionneur et un demi-soustracteur.
Correction :Une autre manire de procder consiste :
(1) additionner Bi et Ri1 avec un demi-additionneur (cette opration peut videmment engendrer
une retenue);
(2) puis en retrancher le rsultat obtenu de Ai.
Cela est obtenu par transformation des fonctions logiques :
Di=Ai (Bi Ri1)
Ri=Ai (Bi Ri1+Bi Ri1) + (Ai+Ai) Bi Ri1
=Ai (Bi Ri1) +Bi Ri1
do le circuit :
Bi Ri1
Ai
Ri1
Bi
Ri= Ai (Bi Ri1)+ Bi Ri1
Di= Ai Bi Ri1
Bi Ri1
Ai (Bi Ri1)
HA
HS
(c) Raliser un soustracteur parallle pour mots de 8 bits.
Correction :On utilise 8 soustracteurs complets :A0B0
D0
R0
A1B1
D1
R1
A2B2
D2
R2
A3B3
D3
R3
A4B4
D4
R4
A5
D5
B5
R5
A6B6
D6
R6
A7B7
D7
R7
Overflow
0FS FS FS FS FS FS FS FS
8. Le (d)multiplexeurUnmultiplexeurest un circuit logique qui dispose de 2n entres, dune unique sortie et denlignes de slection.Son principe de fonctionnement consiste connecter, selon la configuration binaire prsente sur les nlignes deslection, lune des entres la sortie. Lesnlignes de slection diffrencient 2n configurations binaires, chacunede ces configurations correspondant lentre du multiplexeur qui doit tre connecte la sortie.Un dmultiplexeur, pour sa part, est un circuit logique qui dispose dune unique entre, de 2 n sorties et de nlignes de slection. Son principe de fonctionnement, linverse de celui du multiplexeur, consiste connecter,selon la configuration binaire prsente sur les lignes de slection, lentre lune des sorties.
13
5/19/2018 .pdf
14/16
(a) Raliser un multiplexeur quatre voies (cest--dire un multiplexeur quatre entres).
Correction :Soit S0,S1 les lignes de slection, I0, . . . ,I4les entres et O la sortie (cf. fig. 7).
(b) Raliser un dmultiplexeur quatre voies (cest--dire un dmultiplexeur quatre sorties).
Correction :Soit S0,S1 les lignes de slection, I lentre et O0, . . . ,O3les sorties (cf. fig. 8).
I0
I1
I2
I3
S1 S0
O
FIG . 7 Multiplexeur 4 voies.
S1 S0I
O0
O1
O2
O3
FIG . 8 Dmultiplexeur 4 voies.
9. Les hasards logiquesLetemps de passage dune porte logique est la dure entre linstant o les signaux sont appliqus lentre etcelui o leur effet se rpercute en sortie. Jusqu prsent, ce temps de passage a t ignor dans un souci desimplification. Toutefois, le temps de passage dune porte logique nest jamais nul (de lordre de 5 25 ns).
Si un tage logique est construit laide de portes logiques (cest--dire si la sortie dune porte logique attaquelune des entres de la porte logique suivante) alors le temps de passage de ltage est au moins gal la sommedes temps de passage des portes logiques qui le composent : dans ce cas, les temps de passage sajoutent. Ilen rsulte quun changement des donnes en entre dun montage, non seulement mettra un certain temps se rpercuter en sortie, mais pourra en plus provoquer des changements dtat (impulsions) non souhaits lasortie. De telles impulsions parasites sont appeles hasards logiques.
(a) Mise en vidence dun hasard logique.
i. Exprimer la valeur de la sortieSdu circuit ci-dessous en fonction de son entreE.
S2
S1E
S
Correction :
S1=E
S2=EE=1
S=S2=1=0
ii. Complter le chronogramme suivant de ce circuit (on considre que toutes les portes logiques misesen jeu ont un mme temps de passage t).
14
5/19/2018 .pdf
15/16
10
0
0
0
1
1
1
t
EntreE
SortieS1
SortieS2
SortieS
Correction :
10
0
0
0
1
1
1
t
EntreE
SortieS1
SortieS2
SortieS
Ce circuit se comporte comme un dtecteur de transitions. Il peut tre simplifi en remplaant lenandet le deuximenotpar unand, carnot(nand(a,b)) =and(a,b).
(b) Exemples de mise profit des hasards logiques : dtecteur de transitions.
i. Exprimer la valeur de la sortieSdu circuit ci-dessous en fonction de son entreE.
S
S10
E
Correction :
S1=E0=E (cest la fonction identit, mais avec un dlai)
S=EE=0
La sortie de ce circuit devrait donc toujours valoir 0. Mais le retard introduit par le premierxorimplique que tout changement dun tat de E entrane une impulsion positive de S comme le montre
le chronogramme ci-dessous.
ii. Complter le chronogramme suivant de ce circuit (on considre que toutes les portes logiques misesen jeu ont un mme temps de passage t).
10
01
EntreE
SortieS1
10SortieS
t
Correction :
10
01
EntreE
SortieS1
10SortieS
t
iii. Raliser un dtecteur de transitions pour lequel la dure des impulsions enSest de 3t.
15
5/19/2018 .pdf
16/16
Correction :Il suffit davoir un dlai de3t entre les deux entres duxor. Ce dlai peut tre obtenuen ajoutant au circuit prcdent deux portes xor, ou laide dun autre circuit ralisant lidentitavec un dlai de3t, comme par exemple unxoret deuxnot.
S4
32
1E
0
31E
S
0 2
4
(c) Raliser undtecteur de front montant, cest--dire un dtecteur de transitions qui ne rpond que lorsquele signal dentre passe dun niveau bas un niveau haut.
Correction :On se base toujours sur un dlai entre deux entres dune porte logique. Les portes logiques
choisies filtrent ensuite les cas souhaits. Ici, on utilise une porte notetand.
S1
SE 1
2
10
01
EntreE
SortieS1
1
0SortieS
t
(d) Raliser un dtecteur de front descendant, cest--dire un dtecteur de transitions qui ne rpond que lorsquele signal dentre passe dun niveau haut un niveau bas.
Correction :Ici on utilise une porte logiquenotetnor.
S1
SE
10
01
EntreE
SortieS1
10SortieS
t
16