Professional Documents
Culture Documents
1) Le multiplexeur
On a 2n entres, n fils de slection qui sont aussi des entres, et une seule sortie. Quel est le rle
du multiplexeur ? Il slectionne lune des 2n entres pour lenvoyer en sortie. En effet chacune des
2n entres est numrote par un nombre en binaire de longueur n. Le choix se fait par le mot de
longueur n des fils de slection, et cest lentre correspondant ce mot qui passe en sortie. Cela
sappelle plus prcisment un multiplexeur un parmi 2n.
2
1) Le multiplexeur 1 parmi 2 : il a deux entres e0 e1 et un fil de slection s0 pour choisir lune
des deux entres et la mettre en sortie S. Il est ainsi reprsent :
On a la table de vrit :
s0 e0 e1 S
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
On en dduit lquation :
S = s0e0 e1 + s0 e0e1 + s0 e0e1 + s0e0e1
= s0 e0 (e1 + e1 ) + s0 e1 (e0 + e0 )
= s0 e0 + s0e1
On peut retrouver cette simplification grce au tableau de Karnaugh :
do S = s0e0 + s0 e1
Par exemple ce qui passe dans le fil e1, correspondant au numro 01, et qui est envoy en sortie,
est obtenu avec s0=1 et s1=0, tant entendu que la slection scrit s1 s0 dans cet ordre.
Le multiplexeur 1 parmi 4 demande 9 portes
Exercice 1:
1) En sinspirant de ce qui prcde, combien de portes NON comporte un multiplexeur 1 parmi
2n ? Et combien de portes au total ?
2) Vrifier que le multiplexeur 1 parmi 4 peut aussi tre obtenu avec trois multiplexeurs 1
parmi 2 de la faon suivante :
On en dduit un procd rcursif pour construire un
multiplexeur 1 parmi 2n.
Ainsi pour avoir un multiplexeur 1 parmi 8, il faudrait deux
multiplexeurs 1 parmi 4 et un multiplexeur 1 parmi 2. Dans ce
cas, combien faudrait-il de multiplexeurs 1 parmi 2 ? Et
combien de portes ?
En dduire le nombre de portes quil faudrait pour un
multiplexeur 1 parmi 2 construit selon ce procd. Comparer avec le nombre de portes quil
faudrait si on le construisait par la mthode du 1).
n
Exercice 2 : faire le schma dun dmultiplexeur 2 bits : il a une entre, deux fils de slection,
et 4 sorties. Cest linverse du multiplexeur 1 parmi 4. Suivant la slection correspondant un
certain numro (de longueur 2), il envoie ce qui est dans lentre sur la sortie qui porte ce numro.
Intrt du multiplexeur
La conversion parallle-srie. Imaginons une instruction code sur huit bits qui arrive en
parallle sur les huit lignes dun multiplexeur. Si on lche squentiellement les nombres de 000
111 sur les trois lignes de slection, les huit bits passent dans la ligne de sortie S lun aprs lautre.
Cest notamment intressant lorsquil sagit de passer des informations de lordinateur vers une
ligne tlphonique.
*
4
dutiliser un multiplexeur 1 parmi 8, avec a, b et c comme lignes de slection, et de mettre les
entres 0, 1, 2, 4 0, et les autres entres 1.
* Lexemple prcdent se gnralise toute fonction logique dont on connat la table de vrit.
Il suffit denvoyer en entres les 0 et les 1 obtenus dans la colonne des rsultats dans lordre o ils
apparaissent, et dutiliser comme slections les entres de la table. Par exemple, avec cette table de
x y S
0 0 0
0 1 1
1 0 1
1 1 0
on peut construire ce circuit avec un multiplexeur 4 bits :
2) Le dcodeur
Un dcodeur k bits est un circuit k entres et 2k sorties. Les k entres forment un nombre en
binaire de longueur k. Le dcodeur fait en sorte que la sortie qui porte le numro correspondant au
nombre en entre passe 1 (elle est active) tandis que toutes les autres sont 0 (inactives).
Traitons le cas du dcodeur deux bits, k = 2. Sa table de vrit est la suivante :
a0
0
0
1
1
a1
0
1
0
1
S0
1
0
0
0
S1
0
1
0
0
S2
0
0
1
0
S3
0
0
0
1
Nous avons pris lexemple o linstruction 00 place dans e0 e1 est le code du ET, cest le
cblage qui le veut. Sur les quatre lignes dactivation la sortie du dcodeur, la ligne 0 est active,
elle est 1, tandis que les autres restent 0. Seul le rsultat ab traverse les portes jusqu la sortie.
Pour ladditionneur, nous laissons son schma en attente, nous le verrons plus tard.
* Une autre application des dcodeurs se situe lentre de la mmoire principale. Imaginons
une mmoire dun Mo, cest--dire 106 = (103)2 =(210)2 = 220 octets. En supposant quun octet
occupe une cellule mmoire, il faudrait utiliser 220 fils dadresses pour pouvoir accder nimporte
quelle cellule mmoire. Cela est impensable.
Aussi met-on en place une autre organisation, avec un dcodeur et un multiplexeur qui vont
permettre de rduire le nombre de fils de transfert dadresses lentre de la mmoire. Dabord la
mmoire est rendue rectangulaire, avec des lignes et des colonnes, par exemple avec 210 colonnes et
autant de lignes. Chaque cellule a son adresse dfinie par la ligne et la colonne o elle se trouve.
Dautre part on utilise 20 fils o passent les adresses, une adresse ayant pour longueur 20, soit
a19 a18 a1 a0. Ces adresses sont ensuite coupes en deux : a19 a18 a10, et a9 a8 a1 a0. La
demi-adresse a9 a8 a1 a0 est envoye sur les 10 lignes dentre dun dcodeur qui les dispatche
en sortie sur les 210 lignes de la mmoire rectangulaire (ici carre). On accde ainsi la ligne o se
trouve la cellule concerne. Reste trouver sa colonne, ce qui donnera la position exacte de la
cellule dont on pourra envoyer le contenu en sortie. Pour cela on utilise un multiplexeur avec 10
fils de slection contenant lautre moiti de ladresse, soit a19 a18 a10 correspondant ladresse
de la colonne concerne. Ce multiplexeur a aussi 210 lignes dentre provenant des 210 colonnes de
la mmoire, permettant grce aux fils de slection datteindre la colonne o se trouve la cellule
concerne, et denvoyer dans le fil de sortie le contenu de la cellule.
3) Le comparateur
Ce circuit logique prend deux nombres A et B de n bits chacun en entre, soit 2n entres. La
sortie est 1 si A est gal B, et 0 sinon.
Si les deux nombres ont un bit chacun, il suffit de faire jouer la porte de la discorde. On sait que
a b donne 0 si a et b sont diffrents et 1 sils sont gaux. La ngation de ce rsultat est ce qui est
attendu en sortie.
Cela se gnralise deux nombres ayant un nombre quelconque de bits. Par exemple pour n = 4,
les deux nombres A et B scrivent a0 a1 a2 a3 et b0 b1 b2 b3. On envoie les 4 chiffres respectifs de
chacun des deux nombres sur quatre portes XOR. Il y aura galit de A et B si et seulement si les
quatre portes sortent un 0. On envoie alors ces rsultats dans une porte NON OU, qui sort 1 en cas
dgalit de A et B, et 0 sinon.
do lquation S = a1.
2) k = 2. La table de vrit est encore trs simple :
a1
0
0
1
1
do S = a1.
a2
0
1
0
1
s
0
1
1
2
S
0
0
1
1
8
3) k = 3.
a1
0
0
0
0
1
1
1
1
a2
0
0
1
1
0
0
1
1
a3
0
1
0
1
0
1
0
1
s
0
1
1
2
1
2
2
3
S
0
0
0
1
1
0
1
1
On en dduit lquation : S = a1 a2 a3 + a1 a2 a3 + a1 a2 a3 + a1 a2 a3
Simplification :
S = a1 a2 a3 + a1 a2 a3 + a1 a3 a2 + a1 a3 a2
= ( a1 + a1 ) a2 a3 + a1 a3 ( a2 + a2 )
= a2 a3 + a1 a3
Cela se retrouve aussi par le tableau de Karnaugh
S = a2 a3 + a1 a3
On reconnat le schma dun multiplexeur deux bits, avec a1 et a2 en entre, et a3 qui joue le rle
du slectionneur.
4) k = 4. A faire.
Nous allons maintenant passer aux circuits proprement arithmtiques. Comme nous lavons vu,
toutes les oprations ralises en binaire, quil sagisse dadditions, de soustractions ou de
multiplications, se font avec des additions, avec en plus des dcalages quand on pratique une
multiplication ou une division. Cest notamment le cas pour les multiplications ou les divisions par
2 qui sont des dcalages. Des additions particulires, et trs courantes, consistent ajouter ou
retrancher 1, elles sont appeles incrmentation ou dcrmentatation, lincrmentation jouant
notamment dans le compteur de programme (PC ou compteur ordinal). Deux circuits arithmtiques
se dgagent de cela : le dcaleur et ladditionneur.
4) Le dcaleur
On a un mot avec n bits en entres, ainsi quune entre sens note s, et n sorties. Si s = 1, il se
produit un dcalage du mot dun cran vers la droite. Par exemple pour n = 4, le mot d c b a en
entre devient 0 d c b. Si s = 0, le dcalage se fait vers la gauche, le mot d c b a devient c b a 0 en
sortie. Sauf aux deux extrmits du mot o lon nutilise quune porte ET, les bits intermdiaires
ont chacun deux portes ET, lune tant 0 sa sortie et lautre laissant passer le bit, comme
indiqu sur le dessin dans le cas o s = 1 :
5) Ladditionneur
Commenons par laddition de deux bits a et b en entre, avec en sortie la somme S et la retenue
R. Cela sappelle le demi-additionneur, parce quil ne tient pas compte de la retenue qui peut aussi
arriver en entre, provenant de calculs prcdents.
a) Le demi-additionneur
Sa table de vrit scrit :
a
0
0
1
1
b
0
1
0
1
S
0
1
1
0
R
0
0
0
1
10
b
0
0
1
1
0
0
1
1
r
0
1
0
1
0
1
0
1
S
0
1
1
0
1
0
0
1
R
0
0
0
1
0
1
1
1
R = a b + r (a b) .
On pourra vrifier la validit de cette formule en prenant sa table de vrit et en la comparant
avec celle de R = ab + ar + br.
11
Un tel circuit, o les calculs se font lun aprs lautre, a le dfaut de demander un temps assez
long. Avec des nombres de 16 bits, et a fortiori de 32 ou 64 bits, on utilise dautres mthodes,
comme celle par anticipation de la retenue.
12
13
Nous avons gard R0 mais si lon se contente de faire une addition (et pas une soustraction), on
peut prendre R0 = 0. Toujours est-il que les quatre retenues sont calcules uniquement partir des gi
et des pi. Or ces derniers peuvent tre obtenus simultanment partir des quatre additionneurs 1 bit.
Do le schma :
Certains auteurs prennent pi = ai bi au lieu de pi = ai + bi . Cest faux. Mais si lon prend la formule
finale Ri+1 = gi + pi Ri , elle donne le mme rsultat que lon prenne lun ou lautre des pi. Le fait dutiliser
ai bi a alors lavantage dtre une opration dj traite dans ladditionneur.
14