You are on page 1of 11

UNIVERSITE PAUL SABATIER DE TOULOUSE

" LICENCE 2 : ARCHITECTURE DES ORDINATEURS "

LOGIQUE COMBINATOIRE
FONCTIONS LOGIQUES DE BASE

A. MZOUGHI
L2.v1 UPS/M. A.

LOGIQUE COMBINATOIRE
FONCTIONS LOGIQUES DE BASE

I. ETUDE DE LADDITIONNEUR BINAIRE

Laddition est lopration la plus frquemment ralise dans un calculateur : il faut loptimiser au
maximum. Faire un circuit 2 tages (ET-OU) dune addition par exemple, de 2 nombres de 32 bits est
probablement possible, mais conduit un volume de logique important. Heureusement, une autre
approche, plus naturelle est possible, calque sur notre faon de procder :

il suffit de raliser n fois la logique suivante (figure 1) :

ai bi
ri

+ Additionneur complet
"Full-adder"

ri+1
Si

Figure 1 : reprsentation symbolique dun additionneur complet

I. 1. Association de demi-additionneurs

Considrons laddition de 2 bits : a (plus) b, donnant pour rsultat : un bit de somme S et un bit de
report R.

De cette table de vrit, on obtient les quations logiques : R=


S=

Le schma logique correspondant est reprsent sur la figure 2 :


1
L2.v1 UPS/M. A.

a
S
b

Figure 2 : demi-additionneur

Considrons le cas le plus gnral o on doit effectuer laddition de 3 bits a plus b plus r.
r tant le report issu de laddition des bits du rang prcdent (r est dit report entrant Carry In). Le
rsultat sera : 1 bit de somme S
1 bit de report R ( R est dit report sortant Carry Out).

De cette table de vrit, on obtient les fonctions R et S

R=

S=

Les fonctions R et S peuvent tre ralises en utilisant deux demi-additionneurs et un oprateur OU


logique.

La figure 3 reprsente un additionneur complet ralis partir de deux demi-additionneurs.

2
L2.v1 UPS/M. A.

r
a S
b

Figure 3 : schma logique dun additionneur complet partir de deux demi-additionneurs

I. 2. Additionneur complet intgr

En rcrivant lquation du report R partir de la table de vrit de ladditionneur complet :


(a plus b plus r).

R
10

R=

On a S=

La figure 4a montre le schma de l'additionneur complet intgr.


r
a S
b

Figure 4a : additinneur complet intgr

En exprimant les fonctions S et R avec des oprateurs NON-ET logique, on obtient :

S= R=

Le schma logique est donn sur la figure 4b :

3
L2.v1 UPS/M. A.
r a b

ai bi
ri
S

+
Ri
R Si

Figure 4b : additinneur complet intgr ralis avec des portes logiques NON-ET

Comparaisons des deux solutions :

Lintrt de la solution avec deux demi-additionneurs est quelle ncessite moins de portes logiques.
Mais on a obtenu de la simplicit au dtriment de la performance. Le facteur bloquant est le temps de
propagation de la report :
dans la 1re solution : 3 tages de logique par bit
dans la 2me solution : 2 tages de logique par bit

Pour additionner 32 bits, le rsultat nest donc obtenu quau bout dun temps correspondant la
traverse de 65 couches doprateurs pour la premire solution contre 64 couches pour la seconde. Ces
additionneurs sont dits des additionneurs a report en cascade (Figure 5).

an-1 bn-1 rn-1 ai bi ri a1 b1 a0 b0


r1 r0 = 0

+ + + +
Rn-1 Sn-1 Ri Si R1 S1 R0 S0

Figure 5 : additionneur report en cascade

I. 3. Addition rapide report anticip (Carry look-ahead).

Dans un additionneur report anticip on fait pour chaque rang, le calcul de Ri directement en
fonction des bits ai, bi, et tous les rangs infrieurs et de r0. Il faut donc dterminer les fonctions
logiques qui permettent deffectuer ce calcul de R pour un rang quelconque.
Nous avons vu que le report dun additionneur complet est donn par :

R=

R=
Cette quation signifie que R = 1 si et seulement si une des deux conditions suivantes est vrifie :
4
L2.v1 UPS/M. A.

Si a = b = 1 quelque soit r ; il y a gnration systmatique dun report. On dfinit alors un terme de


gnration.
G=
Si r = 1 et si lun des deux bits a ou b est gal 1 ; il y a alors propagation du report r. On dfinit alors
un terme de propagation.

P=
r plus a 1 <---- r 0 <---- r 1 <---- r
plus b 1 1 0

R=1 S R=r S R=r S

cas de gnration de r ---> G = a.b cas de propagation de r ---> P = a + b

Lquation de R peut alors se mettre sous la forme : R = G + P.r. Tandis que S = a b r.


Supposons maintenant quon possde des circuits qui dlivrent Gi, et Pi (figure 6).

ai bi

Gi Pi

Figure 6 : calcul de des termes de gnration et de propagation

Avec de tels circuits on se propose deffectuer laddition report anticip de 2 nombres A et B de 4 bits
chacun : A a3 a2 a1 a0
B b3 b2 b1 b0

Le circuit de rang 0 nous donne les termes G0 et P0,


Le circuit de rang 1 nous donne les termes G1 et P1,
Le circuit de rang 2 nous donne les termes G2 et P2,
Le circuit de rang 3 nous donne les termes G3 et P3.

Daprs la structure du circuit il nous faut calculer :


R0 = G0 + P0.r0 (bien que dans ce cas r0 = 0)
R1 = G1 + P1.r1 avec r1 = R0
R2 = G2 + P2.r2 avec r2 = R1
R3 = G3 + P3.r3 avec r3 = R2

Soit en remplaant les termes r par leurs valeurs :


5
L2.v1 UPS/M. A.

R0 =
R1 =
R1 =
R2 =
R2 =
R3 =
R3 =

Ces quations nous conduisent la ralisation de la figure 7 sur laquelle on constate que le calcul du
report R de chaque rang (y compris le dernier R3) ne se fait qu travers 3 couches doprateurs
seulement au lieu de 9 couches pour un additionneur report en cascade.
En contre partie le nombre doprateurs ncessaires reste trs important et cest pourquoi ceci ne
prsente un rel intrt que dans loptique des techniques dintgration moyenne et grande chelle
(MSI, LSI et VLSI). Le nombre doprateurs ncessaires prend alors une importance tout fait
secondaire en regard des autres avantages du procd.
a3 b3 a2 b2 a1 b1 a0 b0

1re COUCHE

G3 P3 G2 P2 G1 P1 G0 P0

r0

2me COUCHE

3me COUCHE

R3 R2 R1 R0

4me COUCHE

R3 S3 S2 S1 S0

Figure 7 : additionneur 4 bits report anticip

Les circuits intgrs proposs actuellement effectuent laddition rapide avec anticipation du report de 2
nombres de 4 bits chacun.

Pour additionner 2 nombres X et Y de 32 bits, par exemple, on peut monter des additionneurs 4 bits en
cascade, comme le montre la figure 8.

6
L2.v1 UPS/M. A.
x31 x28 x7 x4 x3 x0
y31 y28 y7 y4 y3 y0

a3 b3 a0 b0 a3 b3 a0 b0 a3 b3 a0 b0
R27 R7 R3
R3 ADD7 r0 R3 ADD1 r0 R3 ADD0 r0 0
s3 s2 s1 s0 s3 s2 s1 s0 s3 s2 s1 s0

R31 S31 S30 S29 S28 S7 S6 S5 S4 S3 S2 S1 S0

Figure 8 : additionneur 32 bits un seul niveau

Avec ce montage le report R3 par exemple doit se propager travers 2 couches doprateurs dans
chacun des additionneurs ADD1 ADD7 soit 14 couches au total. Le report R0 issu de laddition des
bits de plus faible poids se propage travers 14 + 3 = 17 couches doprateurs.

II. ETUDE DU DECODEUR

Un dcodeur est un circuit possdant n entres et N sorties tel que (N = 2n) et une entre de
validation (Enable) ou de commande. La reprsentation symbolique et la table de vrit dun dcodeur
2 vers 4 sont les suivants :
A0 S0\
A1 S1\
2 4
S2\
E\ S3\

E A B S0 S1 S2 S3 Remarque

S0 = E + A + B S0\\ = (E + A + B)\\ = (E\.A\.B\)\


S1 = E + A + B\ S1\\= (E + A + B\ )\\ = (E\.A\.B)\
S2 = E + A\ + B S2\\ = (E + A\ + B)\\ = (E\.A.B\)\
S3 = E + A\ + B\ S3\\ = (E + A\ + B\)\\ = (E\.A.B)\

Un dcodeur est identificateur de minterm. On remarquera quil fonctionne en logique positive sur les
entres et en logique ngative sur les sorties et lentre de validation. La ralisation dun dcodeur de
2 vers 4 avec portes logiques NON-ET est donne sur la figure 9.

7
L2.v1 UPS/M. A.
E A1 A0

S0

S1

S2

S3

Figure 9 : schma logique dun dcodeur de 2 vers 4

II. 1. Association de dcodeurs

Le signal de validation permet dassocier deux dcodeurs 2 vers 4 pour obtenir un dcodeur de 3
vers 8 (3 entres, 8 sorties) (figure 10).

A0 A0 S0\ S0\
A1 A1 S1\ S1\
2 4 S2\
S2\
A2 E\ S3\ S3\
A0 S0\ S4\
A1 S1\ S5\
2 4 S2\
S6\
E\ S3\ S7\

Figure 10 : dcodeur de 3 vers 8 par association de 2 dcodeurs de 2 vers 4

Ce dcodeur de 3 vers 8 ne possde pas de signal de validation. Il est possible de le rajouter si


ncessaire en conditionnant par deux portes logiques OU les deux signaux /E des deux dcodeurs par ce
signal global de validation (figure 11).

A0 S0\ S0\
A0
A1 A1 S1\ S1\
2 4 S2\
A2 S2\
E\ S3\ S3\
A0 S0\ S4\
A1 S1\ S5\
2 4 S2\
S6\
E\ S3\
E\ S7\

Figure 11 : dcodeur de 3 vers 8 avec un signal de validation partir de 2 dcodeurs de 2 vers 4

En procdant, de faon rcursive on voit quil est possible dobtenir un dcodeur de taille quelconque.

8
L2.v1 UPS/M. A.

III. ETUDE DU MULTIPLEXEUR

Un multiplexeur permet de raliser un aiguillage dinformations, il possde N entres de donnes


tel que (N = 2n) qui reprsentent les informations aiguiller, une sortie de donne et n entres de
contrle permettant de donner le numro de lentre aiguiller sur la sortie.
La reprsentation symbolique et la table de vrit dun multiplexeur de 4 vers 1 sont les suivantes :

E0
A1 A0 S
E1 0 0 E0
MUX S
E2 0 1 E1
1 0 E2
E3 1 1 E3

A1 A0

S=

Le schma logique du circuit multiplexeur de 4 vers 1 est reprsent sur la figure 12 :


A1 A0

E0

E1

S
E2

E3

Figure 12 : schma logique dun multiplexeur de 4 vers 1

On ne voit pas de signal de validation comme dans le dcodeur. Ce signal pourrait tre envisag, mais
napporterait rien ici : si le multiplexeur est bloqu, cela veut dire quil ne peut laisser passer aucune
entre. Mais quy aurait-il alors sur sa sortie : il faudrait convenir dun tat 1 ou 0 dans ce cas, rsultat
qui peut tre paramtr en conservant lune des entres pour ce cas.

III. 1. Association de multiplexeurs

Lassociation de multiplexeurs est possible comme le montre la figure suivante : ralisation dun
multiplexeur de 8 vers 1 partir de 3 multiplexeurs de 4 vers 1 (Figure 13).

9
L2.v1 UPS/M. A.

E0 E0 MUX 8 1

E1 E1
MUX S E0
E2 E2 4 1
E1
E3 MUX S
E3 E2 4 1 S
E3
A0 A1
E4 E0 A0 A1
0
E5 E1
MUX S
E6 E2 4 1
E7 E3

A0 A1

A0 A1 A2

Figure 13 : multiplexeur de 8 vers 1 par association de 3 multiplexeurs de 2 vers 4

Cette association peut tre tendue pour obtenir le multiplexeur dsir.

10