2012-archi-td3

Telechargé par Wayto Flutter
Architecture des ordinateurs
L3 Informatique 2012-2013
Fiche 3 - Circuits combinatoires non s´equentiels
Points abord´es
´
Etude des circuits combinatoires (suite).
´
Etude des d´ecodeurs, multiplexeurs, d´emultiplexeurs.
´
Etude des incr´ementeurs, additionneurs.
1 Circuits combinatoires
Exercice 1. (D´ecodeurs)
1. Rappeler ce qu’est un d´ecodeur (rˆole, table de v´erit´e).
2. Construire un circuit combinatoire r´ealisant un d´ecodeur 2 vers 4 en utilisant exclu-
sivement des portes NON et ET.
3. Montrer comment associer deux d´ecodeurs 2 vers 4 pour r´ealiser un d´ecodeur 3 vers
8 (en utilisant au plus une porte NON et huit portes ET).
4. Supposons que l’on dispose d’un d´ecodeur nvers 2net d’une porte OU (`a un nombre
arbitraire d’entr´ees). Montrer qu’il est alors possible de construire le circuit combi-
natoire correspondant `a n’importe quelle fonction logique `a nentr´ees. Illustrer cette
construction en donnant le circuit de la fonction palindrome sur 4 variables d’entr´ee.
Exercice 2. (Multiplexeurs et d´emultiplexeurs)
1. Rappeler ce qu’est un multiplexeur (rˆole, table de v´erit´e).
2. Construire un circuit combinatoire r´ealisant un multiplexeur 4 vers 1 en utilisant
exclusivement des portes NON,ET,OU.
3. Supposons que l’on dispose uniquement d’un multiplexeur 2nvers 1 – auquel il est
possible d’affecter des valeurs `a ses entr´ees une bonne fois pour toute. Montrer qu’il
est alors possible de construire le circuit combinatoire correspondant `a n’importe
quelle fonction logique `a nentr´ees. Illustrer cette construction en donnant le circuit
de la fonction majorit´e sur 3 variables d’entr´ee.
4. Rappeler ce qu’est un d´emultiplexeur.
5. Construire un circuit combinatoire r´ealisant un d´emultiplexeur 1 vers 4 en utilisant
exclusivement des portes NON et ET.
6. Montrer comment utiliser un d´emultiplexeur 1 vers 2npour r´ealiser un d´ecodeur n
vers 2n.
1
Exercice 3. (Test de parit´e)
On souhaite construire un circuit combinatoire qui permet de tester la parit´e d’un mot
binaire b3b2b1b0en entr´ee. La sortie vaut 1 si le nombre de bits `a 1du mot est pair (par
exemple, 1001) et 0 sinon (par exemple, 0111).
1. ´
Ecrire la table de v´erit´e encodant la fonction logique correspondante.
2. Utiliser un multiplexeur 16 vers 1 pour r´ealiser cette fonction.
Exercice 4. (Test d’´egalit´e)
Un comparateur nbits est un circuit combinatoire r´ealis´e pour comparer deux mots binaires
an1. . . a0et bn1. . . b0de longueur n. La sortie vaut 1 si ai=bipour tout 0 in1,
et 0 sinon.
1. Construire un circuit combinatoire r´ealisant un comparateur 1 bit en utilisant exclu-
sivement des portes NON,ET,OU.
2. En d´eduire un circuit combinatoire r´ealisant un comparateur 4 bits.
2 Circuits arithm´etiques
Exercice 5. (Additionneur)
1. Rappeler la table de v´erit´e du demi-additionneur 1 bit et construire le circuit com-
binatoire correspondant `a partir de portes ET et XOR.
2. Rappeler la table de v´erit´e de l’additionneur complet 1 bit.
3. Construire le circuit combinatoire correspondant `a l’additionneur complet 1 bit en
associant deux demi-additionneurs et une porte OU.
4. Construire un additionneur 4 bits avec retenue d’entr´ee et retenue de sortie en uti-
lisant exclusivement des additionneurs complets 1 bit.
Exercice 6. (Incr´ementeur)
Une tr`es grande partie des op´erations r´ealis´ees par un ordinateur consiste `a ajouter 1 `a
une variable, `a savoir, r´ealiser une incr´ementation.
1. ´
Ecrire la table de v´erit´e de l’incr´ementeur 1 bit avec retenue entrante. La comparer
avec celle de l’additionneur complet 1 bit de l’exercice 5.
2. R´ealiser un incr´ementeur 1 bit avec retenues entrantes et sortantes en utilisant un
additionneur 1 bit. Le circuit comporte deux entr´ees, le bit `a incr´ementer et la retenue
entrante ainsi que deux sorties : le bit apr`es incr´ementation et la retenue sortante.
3. En d´eduire un incr´ementeur 4 bits avec retenue sortante en utilisant des addition-
neurs complets 1 bit.
Exercice 7. (D´ecaleur)
Les multiplications (resp. divisions) par 2 de nombres binaires sont r´ealis´ees par des
d´ecalages d’un bit vers la gauche (resp. vers la droite).
1. R´ealiser un circuit combinatoire qui prend en entr´ee un mot binaire b3b2b1b0de
4 bits, poss´edant quatre sorties c3c2c1c0contenant le r´esultat du d´ecalage vers la
gauche, c’est `a dire c3=b2,c2=b1,c1=b0,c0=0.
2. R´ealiser un circuit combinatoire qui prend en entr´ee un mot binaire b3b2b1b0de
4 bits, poss´edant quatre sorties c3c2c1c0contenant le r´esultat du d´ecalage vers la
droite, c’est `a dire c3=0,c2=b3,c1=b2,c0=b1.
2
3. Associer les deux circuits combinatoires pr´ec´edents de mani`ere `a former un circuit
admettant en entr´ee un mot binaire b3b2b1b0de 4 bits et un bit ssp´ecifiant le sens
de d´ecalage `a r´ealiser, 0pour gauche et 1pour droite.
4. Pour quelle plage de valeurs ce circuit combinatoire permet-il de r´ealiser sans erreurs
les multiplications et divisions par 2 ?
3 Suppl´ements
Exercice 8. (Profondeur d’un circuit combinatoire)
La profondeur d’un circuit combinatoire est le nombre maximal de portes que les signaux
en entr´ee doivent traverser avant d’atteindre la sortie. Plus la profondeur est faible, plus
le circuit poss`ede un temps de r´eponse faible. Il est donc avantageux, lorsque cela ne com-
plexifie pas le circuit outre mesure, de s’assurer de dessiner des circuits avec la plus petite
profondeur possible. Formellement, la profondeur d’un circuit combinatoire contenant des
portes NON,ET et OU est d´efinie de la mani`ere suivante :
la profondeur des entr´ees du circuit est 0 ;
la profondeur `a la sortie d’une porte ET et OU dont les entr´ees sont e1, . . . , enest
1 + max{p(e1), . . . , p(en)}o`u p(ei) est la profondeur du circuit lorsque l’on consid`ere
que sa sortie est ei;
la profondeur `a la sortie d’une porte NON dont l’entr´ee est eest 1 + p(e) ;
la profondeur d’un circuit qui poss`ede les sorties s1, . . . , snest max{p(s1), . . . , p(sn)}.
Reprendre les circuits combinatoires r´ealis´es dans les exercices pr´ec´edents et donner leur
profondeur.
3
1 / 3 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 !