Corrigé du TP2

publicité
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 =
A3B3.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 = (A 3 ⊕ B 3)A 2B2 . On obtient donc finalement :
A > B = A3 B3 +( A3 ⊕ B3 )A2 B2 + (A3 ⊕ B3 )(A2 ⊕ B2 )A1 B1 + (A3 ⊕ B3 )( A2 ⊕ B2 )(A1 ⊕ B1 )A0 B0
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 OUexclusif 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
0
0
3
6 S
0
C
3
0
4
0
1
5 C’
0
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
0
0
3
8 S
5
3
5
6
0
1
7 C’
0
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é :
ABCD
0000
0001
0010
...
abcdefg
1111110
0110000
1101101
...
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 :
ABCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
abcdefg
1111110
0110000
1101101
1111001
0110011
1011001
1011111
1110000
1111111
1111011
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
Pour le segment b, on a les tables de Karnaugh suivantes :
CD
AB 00 01 11 10
00 1 1 1 1
01 1 0 1 0
11 1 1 x x
10 x x x x
b = A + B + C.D + C.D
=A+B+C⊕D
On obtient le circuit suivant :
B
A
C
b
D
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 :
1/0
A
1/0
0/0
0/0
B
C
État Entrée État
présent
futur
A
0
B
A
1
A
B
0
C
B
1
A
C
0
C
C
1
D
D
0
B
D
1
A
0/1
D
0/0
1/1
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 :
Q1Q2 x
00
00
01
01
10
10
11
11
Q1Q2
00
01
11
10
x
0
0
1
0
1
0
1
0
1
0
1
0
1
Q1+Q2+ Sortie D1 D2
01
00
10
00
10
11
01
00
x
1
0
0
0
1
D1
D1 = Q 1Q2 + x.Q 1Q2
01
00
10
00
10
11
01
00
0
0
0
0
0
0
1
1
Q1Q2
00
01
11
10
0
1
0
0
1
1
0
0
1
0
D2
D2 = x.Q 2 + x.Q 1Q2 + x.Q 1Q2
= x.Q2 + Q1 (xQ 2 + x.Q2 )
= x.Q2 + Q1 (x ⊕ Q 2)
x
D1 Q1
D2 Q2
Q1
Q2
Ck
5. Un DIMM de mémoire DRAM de 256 Mo est réalisé au moyen de puces de 16 M x 4.
a. Combien y a-t-il de puces sur le DIMM.
b. Combien de lignes d'adresses chaque puce comporte-t-elle?
d. Dessiner le circuit de cette mémoire en incluant les lignes RAS, CAS, R/W, etc. comme à
la figure de la p. 52 du supplément.
a. Il y a 32 puces sur le DIMM : 2 puces de 16 M x 4 donnent 16 Mo. Il faut 256 Mo. 256
Mo / 16 Mo = 16. Il faut donc 16 fois x 16 M x 4 x 2.
b. Chaque puce a besoin de log2(16M) bits d'adresse, soit 24 bits d'adresse. Toutefois,
comme il s'agit de mémoires dynamiques, ces 24 bits sont appliqués en deux moitiés
successives sur 12 fils (lignes) d'adresse.
c. Circuit :
6. Le Pentium II possède deux caches de niveau I : un cache de données et un cache
d'instructions. Chacun de ces caches a une capacité de 16 Ko et est accociatif par ensembles
de 4 blocs. Chaque bloc ou ligne contient 32 octets. Dans chacun de ces caches,
a. Quel est le nombre de bits dans le champ étiquette d'une adresse de 36 bits ?
b. Combien y a-t-il de bits dans le champ index ?
c. Dans quel ensemble trouverait-on l'étiquette de l'adresse 00000ABCDh ?
a. Le cache a 16 Ko. Il possède 16 K / (4 x 32) = 128 rangées. Le champ index contiendra
donc 7 bits (log2 128). Il faut 5 bits dans le champ adresse dans le bloc pour adresser
chacun des 32 octets (log2 32). Il reste donc 36 - 12 = 24 bits pour l'étiquette.
b. 7 bits.
c. On écrit l'adresse en binaire. Les bits en rouge sont l'étiquette, en bleu, l'index et en vert,
l'adresse dans le bloc.
0000 0000 0000 0000 0000 1010 1011 1100 1101
Cette étiquette sera dans la rangée 1011110 ou 5E16 ou 9410. Sa valeur sera 00000A16.
Téléchargement