IFT-19638
Organisation matérielle et logicielle de
l'ordinateur
Corrigé du TP2
À remettre le ou avant le vendredi 27 octobre 2000.
1. Donnez un circuit capable de déterminer si un nombre de 4 bits A = A3A2A1A0 est plus grand
qu'un nombre de 4 bits B = B3B2B1B0.
Si A3 = 1 et B3 = 0, A > B quelle que soit la valeur des autres bits. Pour ce cas, on a A > B =
A3B
3
.Si A3 = B3, A > B si A2 = 1 et B2 = 0, quelle que soit la valeur des autres bits. Pour ce
cas, on a A > B = (A3 B3)A2B
2
. On obtient donc finalement :
A>B=A
3B3+(A3B3)A2B2+(A3B3)(A2B2)A1B1+(A3B3)(A2B2)(A1B1)A0B0
d'où le circuit :
2.Considérez le circuit d'un additionneur 4 bits (supplément, p. 23, transparent 144),
où chaque carré contient un circuit additionneur de 1 bit (Transparent 143). En
supposant que le délai de propagation (temps entre l'application d'une entrée et
l'apparition de la sortie) des porte ET et OU est de 1 ns et que celui d'une porte OU-
exclusif est de 3 ns, quel temps faut-il pour que les quatre bits S3 à S0 du résultat
soient valides. Quel temps faut-il pour que la retenue C4 soit correcte ?
Le circuit ci-dessous est le circuit de chaque additionneur. Les chiffes au-dessus de chaque fil
indiquent le temps où le signal est valide dans le cas de l'additionneur de droite, i.e. le moins
significatif.
A
B
C
S
C’
0
0
0
3
3
0
0
0
1
4
6
5
Pour l'additionneur suivant, puisque la sortie C' du premier est appliquée à l'entrée C, elle
n'est valide qu'au bout de 5 ns. On a donc :
A
B
C
S
C’
0
0
5
3
3
5
0
0
1
6
8
7
On voit donc que les sorties sont retardées de 2 ns chacune par rapport à celles du premier
additionneur. En raisonnant ainsi sur les quatre additionneurs, les sorties S0, S1, S2 et S3
seront donc valides respectivement aux temps 6, 8, 10, et 12 ns, tandis que la sortie C4 ne
sera disponible qu'au bout de 11 ns.
Cet exercice avait pour but de vous faire réaliser qu'un tel additionneur serait beaucoup trop
lent pour un processeur moderne. Si on faisait une additioneur de 32 bits de la sorte, le
résultat de 32 bits ne serait valide qu'au bout de 68 ns. Or, les processeurs actuels exécutent
une instruction environ chaque ns.
La solution consiste à calculer les retenues en parallèle plutôt qu'en série.
3. Dans beaucoup de dispositifs électroniques (montres, voltmètres, etc), on trouve des
afficheurs numériques. Dans ce problème, nous nous intéressons au fonctionnement de tels
dispositifs. Considérons un afficheur pour un chiffre décimal. Il est constitué de 7 segments,
numérotés de a à g, comme les représente la figure ci-dessous.
Chaque segment est allumé ou éteint selon le chiffre décimal que l’afficheur doit
représenter:
a. Déterminez les entrées et les sorties du circuit logique qui contrôle l’afficheur et
faites sa table de vérité :
A B C D a b c d e f g
0 0 0 0 1 1 1 1 1 1 0
0 0 0 1 0 1 1 0 0 0 0
0 0 1 0 1 1 0 1 1 0 1
... ...
b. Trouvez l’équation logique simplifiée pour le segment b.
c. Tracez le circuit résultant pour le segment b.
La table de vérité complète est :
A B C D a b c d e f g
0 0 0 0 1 1 1 1 1 1 0
0 0 0 1 0 1 1 0 0 0 0
0 0 1 0 1 1 0 1 1 0 1
0 0 1 1 1 1 1 1 0 0 1
0 1 0 0 0 1 1 0 0 1 1
0 1 0 1 1 0 1 1 0 0 1
0 1 1 0 1 0 1 1 1 1 1
0 1 1 1 1 1 1 0 0 0 0
1 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 1 1 1 0 1 1
1 0 1 0 x x x x x x x
1 0 1 1 x x x x x x x
1 1 0 0 x x x x x x x
1 1 0 1 x x x x x x x
1 1 1 0 x x x x x x x
1 1 1 1 x x x x x x x
Pour le segment b, on a les tables de Karnaugh suivantes :
1 1 1 1
1 0 1 0
1 1 x x
x x x x
AB
CD
00
01
11
10
00 01 11 10
b = A + B + C.D + C.D
= A + B + C
On obtient le circuit suivant :
B
A
C
D
b
4. Donnez le circuit d'un détecteur de séquence 0-0-1 synchrone. On applique dans le temps une
séquence de bits quelconques à l'entrée de ce circuit. Si l'entrée 0-0-1 se présente lors de trois
périodes d'horloge successives, alors la sortie devient 1 pour une période d'horloge, sinon elle
est 0. (Voir la page Exemples, circuits logiques, circuits séquentiels).
On obtient le diagramme d'états et la table de transition :
A
B
C
D
0/0
0/0
1/0
0/0
1/1
0/1
1/0
État
présent
A
A
B
B
C
C
D
D
Entrée
0
1
0
1
0
1
0
1
État
futur
B
A
C
A
C
D
B
A
Sortie
0
0
0
0
0
0
1
1
On assigne arbitrairement des valeurs à A, B, C et D : 00, 01, 11 et 10. On remplace ces
valeurs dans la table de transition :
Q1Q
2
00
00
01
01
10
10
11
11
x
0
1
0
1
0
1
0
1
Q1+Q2
+
01
00
10
00
10
11
01
00
Sortie
0
0
0
0
0
0
1
1
D1D
2
01
00
10
00
10
11
01
00
0 0
1 0
0 0
1 1
1 0
0 0
0 1
1 0
D1
D2
x
0 1
Q1Q
2
00
01
11
10
x
0 1
Q1Q
2
00
01
11
10
D
1 = Q1Q2 + x.Q1Q2
D2 = x.Q2 + x.Q1Q2 + x.Q1Q
2
= x.Q2 + Q1(xQ2 + x.Q2)
= x.Q2 + Q1(x Q2)
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !