You are on page 1of 8

Architecture des Ordinateurs, corrig e TD 3

Exercice 1. R ealisation dun additionneur/soustracteur (portes logiques disponibles : ET, OU, NON, OU EXCL) 1. R ealiser un demi-soustracteur (1 bit A avec 1 bit B sans retenue dentr ee) : Ecrire la table de v erit e. Donner les equations de sortie. Etablir le sch ema logique. 2. En comparant le circuit du demi-soustracteur avec celui dun demi-additionneur, concevoir le plus simplement possible un circuit, appel e demi-additionneur/soustracteur, qui ` a partir dun signal de commande C et des entr ees A et B , simule le demi-additionneur sur A et B lorsque la commande C est ` a 0, et le demi-soustracteur sur A et B lorsque la commande C est ` a 1 (suggestion : appliquer le signal de commande ` a une des entr ees dune porte OU EXCL). 3. A partir du demi-additionneur/soustracteur qui vient d etre r ealis e, concevoir un additionneur/soustracteur complet (1 bit A avec un bit B avec retenue dentr ee). 4. Donner le sch ema dun additionneur/soustracteur quatre bits par quatre bits.

Correction. 1. Un demi-soustracteur est un circuit qui soustrait simplement un bit dun autre. Le r esultat est obtenu sur deux bits, S pour le poids faible (la di erence), R pour le poids fort (la retenue). A partir de la table de v erit e suivante : A B 0 0 0 1 1 0 1 1 on obtient : S = A.B + A.B = AB R = A.B Le demi-soustracteur est r ealis e par le circuit suivant : A B =1 S R S 0 0 1 1 0 1 0 0

&

2. On constate que la seule di erence entre un demi-soustracteur et un demi-additionneur tient a ` la pr esence dune n egation sur lentr ee A de la porte ET qui g en` ere la retenue. 1

Lajout dune porte OU EXCL dont une des entr ees est la commande C doit donc permettre de simuler la n egation pr esente dans le demi-soustracteur lorsque C = 1, et labsence de cette n egation dans le demi-additionneur lorsque C = 0. Il est ais e de v erier partir de la table de v erit e de OU EXCL quil sut de prendre directement A pour lautre entr ee de la porte OU EXCL : lorsque C = 0, la sortie de la porte est equivalente a ` A, lorsque C = 1 cette sortie prend la valeur de A. C A 0 0 0 1 1 0 1 1 C A 0 1 1 0

Bien entendu, une etude syst ematique des sorties a ` partir de toutes les entr ees permet de retrouver les equations bool eennes attendues : C A B 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 on obtient : S = C.A.B + C.A.B + C.A.B + C.A.B = C.(A B ) + C.(A B ) = (C + C ).(A B ) = AB R = C.A.B + C.A.B = (C.A + C.A).B = (C A).B Le sch ema dun demi-additionneur/soustracteur est donc : A B =1 S R S 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 0

&

=1

3. La table de v erit e de ladditionneur/soustracteur est (avec Re , retenue en entr ee et Rs

retenue en sortie) : C Re A B 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 on obtient : S = C.Re .A.B + C.Re .A.B + C.Re .A.B + C.Re .A.B + C.Re .A.B + C.Re .A.B + C.Re .A.B + C.Re .A.B = (C + C ).Re .A.B + (C + C ).Re .A.B + (C + C ).Re .A.B + (C + C ).Re .A.B = Re .(A.B + A.B ) + Re .(A.B + A.B ) = Re .(A B ) + Re .A B = Re A B R = C.Re .A.B + C.Re .A.B + C.Re .A.B + C.Re .A.B + C.Re .A.B + C.Re .A.B + C.Re .A.B + C.Re .A.B = C.Re .(A.B + A.B ) + C.Re .(A.B + A.B ) + C.(Re + Re ).A.B + C.(Re + Re ).A.B = (C.(A B ) + C.(A B )).Re + (C.A + C.A).B = (C A B ).Re + (C A).B
R2 R1

Rs S 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1

Le sch ema de ladditionneur/soustracteur est imm ediat : C A B Re


1/2-a-s R1 1/2-a-s

S
R2

Rs

4. Le sch ema dun additionneur/soustracteur quatre bits par quatre bits sobtient de fa con toute aussi imm ediate : C B3 A3 R2 B2 A2 R1 B1 A1 R0 B0 A0 0

Add/Sou D epassement

Add/Sou

Add/Sou

Add/Sou

S3

S2

S1

S0

Exercice 2. Etudier un circuit combinatoire ` a quatre entr ees a0, a1, a2, a3, et une sortie Z tel que Z = 1 chaque fois que le num ero cod e par lentier a3a2a1a0 est divisible enti` erement par 4 ou 5. Correction.
a1 a0 a3 a2 00 01 11 10 00 1 1 1 1 1 1 1 01 11 10

Z = a1.a0 + a3.a2.a1 + a3.a2.a0 + a3.a2.a1.a0 = a1.(a0 + a3.a2) + a3.(a2.a0 + a2.a1.a0

do` u le sch ema :


a3 a2 a1 a0

&

1 & & 1 & & &

Exercice 3. R ealisation dun multiplicateur 2 bits par 2 bits : 1. R ealiser un circuit qui eectue la multiplication 1 bit par 1 bit. 2. R ealiser un multiplicateur 2 bits par 2 bits (a) directement ` a laide de portes ET, OU , NON, NONET, NONOU. . . (b) alternativement, ` a laide du multiplicateur 1 bit par 1 bit r ealis e ci-dessus et de demiadditionneurs.

Correction. 1. Circuit qui eectue la multiplication 1 bit par 1 bit : a et b etant les deux bits a ` multiplier, la fonction bool eenne P = a.b 2. On note a1a0 les deux bits du premier nombre, et b1b0 les deux bits du deuxi` eme nombre ; le r esultat s ecrit sur 4 bits p3p2p1p0. (a) b1 b0 a1 a0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 p3 = b1.b0.a1.a0 p2 = b1.b0.a1.a0 + b1.b0.a1.a0 + b1.b0.a1.a0 = b1.b0.a1.a0 + b1.b0.a1.a0 + b1.b0.a1.a0 + b1.b0.a1.a0 = b1.b0.a1 + b1.a1.a0 = b1.a1.(b0 + a0) = b1.a1.b0.a0 p1 = b1.b0.a1.a0 + b1.b0.a1.a0 + b1.b0.a1.a0 + b1.b0.a1.a0 + b1.b0.a1.a0 + b1.b0.a1.a0 = b1.b0.a1 + b1.b0.a0 + b1.b0.(a1 a0) = b1.b0.a1 + b1.(b0.a0 + b0.(a1 a0)) p0 = b1.b0.a1.a0 + b1.b0.a1.a0 + b1.b0.a1.a0 + b1.b0.a1.a0 = b1.b0.a0 + b1.b0.a0 = b0.a0 5 p3 p2 p1 p0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1

(b) Remarquons que (d eveloppement polyn omial dun nombre en base 2) : a1a0 = a1 21 + a0 20 b1b0 = b1 21 + b0 20 Rappelons que lexposant associ ea ` la base correspond au rang de chacun des bits qui codent le nombre. On a alors : a1a0 b1b0 = (a1 21 + a0 20 ) (b1 21 + b0 20 ) = a1 b1 22 + (a1 b0 + a0 b1) 21 + a0 b0 20 Dans cette equation p0 = a0 b0 p1 = a1 b0 + a0 b1 qui repr esente une somme de deux bits r ealis ee avec un demiadditionneur, et donc g en` ere une retenue R1 de rang sup erieur do` u: p2 = a1 b1 + R1 qui repr esente une somme de deux bits r ealis ee avec un demiadditionneur, et donc g en` ere une retenue R2 de rang sup erieur do` u: p3 = R2 Autrement dit, p3p2p1p0 = R2 23 + (a1 b1 + R1 ) 22 + (a1 b0 + a0 b1) 21 + (a0 b0) 20 Exemple : 11 x 11 ---11 11 ---1001 a1a0 = 11 b1b0 = 11

p3 = 1, p2 = 0, p1 = 0, p0 = 1

A partir des equation de p3, p2, p1, p0 obtenues ci-dessus, on obtient le sch ema :

a1

b1

a1

b0

a0

b1

a0

b0

Mult 11

Mult 11

Mult 11

Mult 11

Add 11 Add 11

p3

p2

p1

p0

Exercice 4. R ealisation dun multiplicateur 4 bits par 4 bits : 1. A laide du multiplicateur 2 bits par 2 bits de lexercice pr ec edent et dadditionneurs 2 bits par 2 bits, r ealiser un circuit multiplicateur 4 bits par 4 bits. Indication : A et B etant des entiers cod es sur quatre bits, on consid` ere les nombres ecrits par groupes de deux bits dont la place est, comme dans lexercice pr ec edent, indiqu ee par une notation puissance ; par exemple, A = M N et B = P Q, tels que M , N , P , Q s ecrivent sur deux bits. On note alors (par exemple) {M P } le r esultat (sur quatre bits) de la multiplication M P , r esultat qui se d ecompose en {M P }F (les deux bits de poids fort de {M P }) et {M P }f (les deux bits de poids faible de {M P }), do` u: M P = {M P }F b1 + {M P }f b0 (o` u b d esigne la base) Question subsidiaire : quelle est la valeur de b ici ? 2. Simuler la multiplication 1110 1101 sur le multiplicateur 4 bits par 4 bits ainsi r ealis e.

Correction. Question subsidiaire : puisque les nombres sont pris par groupes de 2 bits, b = 4. Comme dans lexercice pr ec edent, on pose A = M N, B = P Q o` u M, N, P, Q sont des couples de bits. Le produit A B s ecrit alors : A B = MN PQ = (M b1 + N b0 ) (P b1 + Q b0 ) = {M P } b2 + ({N P } + {M Q}) b1 + {N Q} b0 = ({M P }F b1 + {M P }f b0 ) b2 + ({N P }F b1 + {N P }f b0 ) b1 + ({M Q}F b1 + {M Q}f b0 ) b1 + ({N Q}F b1 + {N Q}f b0 ) b0 = {M P }F b3 + R2 b3 + ({M P }f + {N P }F + {M Q}F ) b2 + R1 b2 + ({N P }f + {M Q}f + {N Q}F ) b1 + {N Q}f b0 On obtient le sch ema et la multiplication 1110 1101 :
M
11 11

P
10

N
11

P
11

M
01

Q
10

N
01

Mult 22 F f

Mult 22 F
01

Mult 22 F
00

Mult 22 F
00

f
11

Add 22
10 00 01 01

00

Add 22
11

00

10

dpassement

Add 22

Add 22

Add 22

00

10

11

01

10

Exercice 5. A partir de quatre bascules JK utilis ee en mode T (J = K ), r ealiser un compteur binaire asynchrone modulo 16 sur quatre bits. Correction. Voir la r ealisation dun compteur binaire asynchrone dans le chapitre 5 du cours.

You might also like