Vous êtes sur la page 1sur 9

Architecture des Ordinateurs, corrig TD 4 e

Exercice 1. Ralisation dun additionneur/soustracteur (portes logiques disponibles : ET, OU, e NON, OU EXCL) 1. Raliser un demi-soustracteur (1 bit A avec 1 bit B sans retenue dentre) : e e Ecrire la table de vrit. e e Donner les quations de sortie. e Etablir le schma logique. e 2. En comparant le circuit du demi-soustracteur avec celui dun demi-additionneur, concevoir le plus simplement possible un circuit, appel demi-additionneur/soustracteur, qui ` partir e a dun signal de commande C et des entres A et B, simule le demi-additionneur sur A et B e lorsque la commande C est ` 0, et le demi-soustracteur sur A et B lorsque la commande a C est ` 1 (suggestion : appliquer le signal de commande ` une des entres dune porte OU a a e EXCL). 3. A partir du demi-additionneur/soustracteur qui vient dtre ralis, concevoir un additione e e neur/soustracteur complet (1 bit A avec un bit B avec retenue dentre). e 4. Donner le schma dun additionneur/soustracteur quatre bits par quatre bits. e

Correction. 1. Un demi-soustracteur est un circuit qui soustrait simplement un bit dun autre. Le rsultat e est obtenu sur deux bits, S pour le poids faible (la dirence), R pour le poids fort (la e retenue). A partir de la table de vrit suivante : e e 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 ralis par le circuit suivant : e e A B =1 S R S 0 0 1 1 0 1 0 0

&

2. On constate que la seule dirence entre un demi-soustracteur et un demi-additionneur e tient a la prsence dune ngation sur lentre A de la porte ET qui gn`re la retenue. ` e e e e e 1

Lajout dune porte OU EXCL dont une des entres est la commande C doit donc permettre e de simuler la ngation prsente dans le demi-soustracteur lorsque C = 1, et labsence de e e cette ngation dans le demi-additionneur lorsque C = 0. Il est ais de vrier partir de la e e e table de vrit de OU EXCL quil sut de prendre directement A pour lautre entre de la e e e porte OU EXCL : lorsque C = 0, la sortie de la porte est quivalente a A, lorsque C = 1 e ` 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 tude systmatique des sorties a partir de toutes les entres permet de e e ` e retrouver les quations boolennes attendues : e e 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 schma dun demi-additionneur/soustracteur est donc : e 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 vrit de ladditionneur/soustracteur est (avec Re , retenue en entre et Rs e e e

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 schma de ladditionneur/soustracteur est immdiat : e e Re A B C


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

S
R2

Rs

4. Le schma dun additionneur/soustracteur quatre bits par quatre bits sobtient de faon e c toute aussi immdiate : e C A0 0

B3

A3 R2

B2

A2 R1

B1

A1 R0

B0

Add/Sou Dpassement e

Add/Sou

Add/Sou

Add/Sou

S3

S2

S1

S0

Exercice 2. Etudier un circuit combinatoire ` quatre entres a0, a1, a2, a3, et une sortie Z tel a e que Z = 1 chaque fois que le numro cod par lentier a3a2a1a0 est divisible enti`rement par 4 e e e 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` le schma : u e
a3 a2 a1 a0

&

1 & & 1 & & &

Exercice 3. Ralisation dun multiplicateur 2 bits par 2 bits : e 1. Raliser un circuit qui eectue la multiplication 1 bit par 1 bit. e 2. Raliser un multiplicateur 2 bits par 2 bits e (a) directement ` laide de portes ET, OU , NON, NONET, NONOU. . . a (b) alternativement, ` laide du multiplicateur 1 bit par 1 bit ralis ci-dessus et de demia e e additionneurs.

Correction. 1. Circuit qui eectue la multiplication 1 bit par 1 bit : a et b tant les deux bits a multiplier, e ` la fonction boolenne P = a.b e 2. On note a1a0 les deux bits du premier nombre, et b1b0 les deux bits du deuxi`me nombre ; e le rsultat scrit sur 4 bits p3p2p1p0. e e (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 (dveloppement polynmial dun nombre en base 2) : e o a1a0 = a1 21 + a0 20 b1b0 = b1 21 + b0 20 Rappelons que lexposant associ a la base correspond au rang de chacun des bits qui e` 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 quation e p0 = a0 b0 p1 = a1 b0 + a0 b1 qui reprsente une somme de deux bits ralise avec e e e un demiadditionneur, et donc gn`re une retenue R1 de rang suprieur e e e do` : u p2 = a1 b1 + R1 qui reprsente une somme de deux bits ralise avec e e e un demiadditionneur, et donc gn`re une retenue R2 de rang suprieur e e e 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 quation de p3, p2, p1, p0 obtenues ci-dessus, on obtient le schma : e e

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. Ralisation dun multiplicateur 4 bits par 4 bits : e 1. A laide du multiplicateur 2 bits par 2 bits de lexercice prcdent et dadditionneurs 2 e e bits par 2 bits, raliser un circuit multiplicateur 4 bits par 4 bits. e Indication : A et B tant des entiers cods sur quatre bits, on consid`re les nombres crits e e e e par groupes de deux bits dont la place est, comme dans lexercice prcdent, indique e e e par une notation puissance ; par exemple, A = M N et B = P Q, tels que M , N , P , Q scrivent sur deux bits. On note alors (par exemple) {M P } le rsultat (sur quatre bits) e e de la multiplication M P , rsultat qui se dcompose en {M P }F (les deux bits de poids e e 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` b dsigne la base) u e Question subsidiaire : quelle est la valeur de b ici ? 2. Simuler la multiplication 1110 1101 sur le multiplicateur 4 bits par 4 bits ainsi ralis. e e

Correction. Question subsidiaire : puisque les nombres sont pris par groupes de 2 bits, b = 4. Comme dans lexercice prcdent, on pose A = M N, B = P Q o` M, N, P, Q sont des couples e e u de bits. Le produit A B scrit alors : e 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 schma et la multiplication 1110 1101 : e
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 utilise en mode T (J = K ), raliser un compteur e e binaire asynchrone modulo 16 sur quatre bits. Correction. Voir la ralisation dun compteur binaire asynchrone dans le cours. e Exercice 6. Soit le circuit squentiel synchrone suivant, compos de bascules D : e e
1

=1

D Q1 Q1

D Q2 Q2

=1

Ce circuit se caractrise par : e I = {0, 1}, lensemble des entres ; e Y = {0, 1}, lensemble des sorties ; Q = {(Q1 , Q2 ) | Qi {0, 1}, i = 1, 2} = {(0, 0), (0, 1), (1, 0), (1, 1)} = {q0 , q1 , q2 , q3 }, lensemble des tats du circuits. e une fonction de transition (I, Q) qui permet de dterminer ltat du circuit ` linstant e e a t + 1 en fonction de son tat ` linstant t ; e a une fonction (I, Q) qui permet de dterminer les valeurs de la variable de sortie. e On veut dterminer le comportement du circuit, cest-`-dire, ` partir des fonctions et , e a a dterminer la table de transition et le diagramme de transition : e 1. Donner les quations des sorties Q1 et Q2 des bascules ` linstant t + 1 en fonction des e a valeurs de ces sorties et des valeurs dentre du circuit ` linstant t ; e a 2. donner lquation de la sortie Y du circuit ` linstant t en fonction de ltat et des valeurs e a e dentre du circuit ` linstant t ; e a 3. donner les quations des fonctions et ; e 4. ` partir des quations de et , construire la table de transition et le diagramme de a e transition du circuit.

Correction. Notons par Q1 (t) et Q2 (t) les tats actuels des bascules, et par A1 (t+1) et A2 (t+1) e leurs tats suivants. A partir du schma, on obtient les quations suivantes : e e e Q1 (t + 1) = I(t) (Q1 (t) + Q2 (t)) Q2 (t + 1) = Q1 (t) Y (t) = I(t) Q2 (t) Par consquent, les deux fonctions de transition sexpriment par : e (I, Q) = {I(t) (Q1 (t) + Q2 (t)), Q1 (t)} (I, Q) = {I(t) Q2 (t)} La table de transition est construite a partir de ces relations : par exemple lorsque le circuit se ` trouve dans ltat q2 = (1, 0), caractris par Q1 (t) = 1 et Q2 (t) = 0, ltat suivant est e e e e 8

pour I(t) = 0, Q1 (t + 1) = 0 (1 + 0) = 1 Q2 (t + 1) = 1 donc ltat suivant est q3 = (1, 1) ; e pour I(t) = 1, Q1 (t + 1) = 1 (1 + 0) = 0 Q2 (t + 1) = 1 donc ltat suivant est q1 = (0, 1). e En mme temps, les sorties se caractrisent e e pour I(t) = 0, par Y (t) = 0 0 = 0, pour I(t) = 1, par Y (t) = 1 0 = 1. Par consquent, la troisi`me ligne de la table de transitions, qui correspond a ltat initial q2 , doit e e ` e contenir les informations suivante : q3 /0 pour I = 0, q1 /1 pour I = 1. On obtient en dnitive : e 0 q0 /0 q2 /1 q3 /0 q3 /1 1 q2 /1 q0 /0 q1 /1 q1 /0

q0 q1 q2 q3

Le diagramme de transitions dcoule directement de la table de transition : par exemple, en e partant du mme tat q2 = (1, 0), la `che qui eectue la transition vers ltat q3 = (1, 1) doit e e e e porter linformation 0/0, et la `che qui eectue la transition vers ltat q1 = (0, 1) doit porter e e linformation 1/1 :
0/0 1/0

q0
0/1 1/1 1/1

q1

1/0

q2
0/0

q3
0/1

En utilisant lune des mthodes danalyse exposes, on peut dnir le comportement du circuit e e e squentiel pour chaque squence assignes aux entres. Supposons que la squence 01001 ait t e e e e e ee assigne a lentre unique et que le circuit se trouve dans ltat q2 = (1, 0). Le comportement du e ` e e circuit se caractrise par : e squence a lentre : 0 1 0 0 1 ; e ` e squence des tats : q2 q3 q1 q2 q3 q1 ; e e squence a la sortie : 0 0 1 0 0. e `

Vous aimerez peut-être aussi