Vous êtes sur la page 1sur 15

Chapitre 3 : Les circuits arithmétiques

I. Addition arithmétique en binaire

L'addition arithmétique en binaire est effectuée de la même façon que l'addition décimale,
avec une table d'addition plus simple puisqu'il n'y a que quatre cas qui peuvent se
manifester lorsqu'on additionne des bits qui ne prennent que deux valeurs 0 ou 1.

Table d'addition arithmétique en binaire :

0+0=0
0+1=1
1+0=1
1 + 1 = 0 + retenue de 1 sur le bit de rang supérieur

II. Demi-Additionneur

Un demi-additionneur est un circuit logique combinatoire capable d’effectuer l’addition


arithmétique de deux bits a et b. La figure n°1 illustre son symbole.
Les sorties sont la somme () et la retenue (r).

a Demi- 
Additionneur
b r

Figure n°1 : Schéma symbolique d'un demi-additionneur

KARIM Mohammed www.fsdmfes.ac.ma Page 1


 Son fonctionnement obéit à la table de vérité suivante :

b a r 
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

 On déduit facilement de cette table de vérité les équations logiques suivantes :


ababab
rab

 On obtient ainsi le circuit suivant pour un demi-additionneur :

III. Additionneur complet


Les nombres binaires sont additionnés de la même façon que les nombres décimaux.

Exemples :

Retenues :  1 1
8  1000 9  1001 9  1001
+7  + 0111 + 5  +0101 + 8  + 1000
15 1111 14 1110 17 10001

2
La figure n°2 illustre d’une manière générale l’addition de deux nombres binaires A et B à 3
bits chacun.

A a a a
2 1 0
+ B b b b
2 1 0
______________________________________
r  r  r 
3 2 2 1 1 0
    0
3 2 1

Figure n°2

On commence par additionner les deux bits a0 et b0 de poids le plus faible, ce qui donne une
somme 0 et une retenue r1. On additionne ensuite les deux bits a1 et b1 en tenant compte
de la retenue précédente r1, ce qui donne à nouveau, une somme 1 et une retenue r2. Cette
dernière est ajoutée aux bits a2 et b2, ce qui génère, à nouveau, une somme 2 et une
retenue r3. Le résultat de l’addition est  = 3210.
D’une manière générale, il faut additionner les bits de même poids et la retenue éventuelle
de l’addition des deux bits de poids inférieur.

Un demi-additionneur ne tient pas compte de la retenue éventuelle provenante d’une


addition précédente. D’où la nécessité d’un circuit logique capable d’effectuer la somme de
trois bits : les entrées ai et bi de l’étage i considéré et la retenue éventuelle ri en provenance
de l’étage précédant i-1. Ce circuit est appelé additionneur complet (figure n°3).

ai
Additionneur i
bi complet
ri ri+1

Figure n°3 : Schéma symbolique d'un additionneur complet

3
 Son fonctionnement obéit à la table de vérité suivante :

ri bi ai i ri+1
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

 Mise en équation :

 i  ai bi r  ai bi ri  ai bi ri  ai bi ri
 i  (ai bi  ai bi ).ri  (ai bi  ai bi ).ri
 i  ( ai  bi ).ri  ( ai  bi ).ri  ai  bi  ri
ri 1  ai bi ri  ai bi r i  ai bi ri  ai bi ri  ai bi  (ai  bi ).ri

 On en déduit le circuit suivant pour un additionneur complet :

i

4
IV. Additionneur de deux nombres binaires

IV. 1. Additionneur à retenue série

L’addition de deux nombres binaires à n bits nécessite la mise en cascade de n étages


additionneurs complets. Ces étages sont raccordés en connectant la retenue sortante de
l’étage i à la retenue entrante de l’étage i+1.
A titre d'illustration, voyons la figure n°4 où quatre additionneurs complets sont raccordés
en cascade afin de pouvoir additionner deux nombres A et B à 4 bits chacun.

A = (a a a a )2 B =( b b b b )2
3 2 1 0 3 2 1 0

b3 a3 b2 a2 b1 a1 b0 a0

r0 =0
r3 r2 r1

additionneur additionneur additionneur additionneur


complet complet complet complet

r4

    
4 3 2 1 0

Figure n°4 : additionneur à retenue série (4 bits)

Les additionneurs à retenue série sont les types d'additionneurs les plus simples à
concevoir. Ils ont cependant un inconvénient majeur dû au phénomène de propagation
de la retenue. En effet, à cause du retard de propagation  introduit par chaque étage, la
retenue r n'est délivrée qu'après un temps , la retenue r n'est délivrée qu'après 2, et
1 2
ainsi de suite. Autrement dit, les retards de propagation introduits par les étages
s'additionnent de sorte que la retenue rn'est obtenue qu'après un temps de n .
n
Evidemment, à mesure qu'augmente le nombre de bits, la durée nécessaire pour obtenir
le résultat d'une addition augmente. Cette limitation est contournée en utilisant des
additionneurs à retenue anticipée qui sont plus rapides au prix d’une complexité plus
grande.

5
IV.2. Additionneur à retenue anticipée

Dans ce type d'additionneurs, toutes les retenues sont obtenues simultanément (en
parallèle) à partir des données à additionner.

Pour faciliter le raisonnement, nous allons étudier le cas d’un additionneur anticipé de
deux nombres binaires à 3 bits chacun.
Nous avons vu que pour un additionneur complet la retenue est donnée par :

ri 1  ai bi  ri .(a i  bi )

 calcul de r1 :
r1  a0 b0  r0 .( a0  b0 )  a0 b0

 calcul de r2 :
r2  a1b1  r1 .( a1  b1 )  a1b1  (a1  b1 ).a0 b0 
r2  a1b1  a 0 b 0 .(a1  b1 )

 calcul de r3 :

r3  a2 b2  r2 .( a2  b2 )  a2 b2  a1b1  a 0 b 0 .(a1  b1 ).( a2  b2 )


r3  a2 b2  a1b1 .( a2  b2 )  a0 b0 .( a1  b1 ).(a2  b2 )

On obtient ainsi le circuit d’un additionneur à retenue anticipée qui effectue l'addition de
deux nombres binaires de 3 bits chacun :

6
En observant le schéma ci-dessus, on constate que le temps de traversée qui est lié au
nombre de couches traversées est le même pour toutes les retenues. Ce phénomène est
appelé anticipation de la retenue.

IV.3. Additionneur intégré à retenue anticipée (CI 7483)

Le circuit intégré 7483 est un additionneur à retenue anticipée qui effectue l'addition de
deux nombres binaires de quatre bits chacun. La figure n°6 reproduit le schéma logique
du 7483 tel qu'il apparaît dans la fiche technique du fabricant.

7
Figure n°6

Il possède deux groupes d'entrée (A -A ) et (B -B ) qui représentent les deux nombres


3 0 3 0
de 4 bits à additionner et une retenue entrante (C ). Les sorties du résultat (S) sont les 4
0
bits S3S2S1S0 et la retenue sortante C (bit le plus significatif). Cette dernière permet
4
d’avoir des additionneurs de deux nombres de longueur quelconque en mettant en
cascade plusieurs puces sans devoir ajouter des circuits supplémentaires. La retenue
sortante C est raccordée à la retenue entrante C de la puce de rang supérieur. A titre
4 0
d’illustration voyons la figure n°7 où deux puces 7483 sont mises en cascade afin
d’obtenir un additionneur de deux nombres à 8 bits chacun.

Figure n°7

V. Addition et soustraction de deux nombres signés en complément à 2

La notation complément à 2 est la plus utilisée pour représenter des nombres signés dans
un calculateur. Il se prête, comme on le verra au paragraphe V.2., à faciliter l’opération de
soustraction.

V.1. Addition en complément à 2

Pour faciliter la compréhension, nous allons raisonner sur des exemples d'addition des
nombres binaires de 5 bits (bit de signe y compris).
Avec 5 bits, on peut représenter les nombres signés allant de -16 à +15.

Exemple 1 : addition de +7 et +2
00111
+ 00010
01001

8
Le bit de signe est celui d'un nombre positif. Le résultat apparaît sous sa forme exacte.

Exemple 2 : addition de +7 et -2
00111
+ 11110
1 00101

La retenue ne doit pas être prise en compte.

Exemple 3 : addition de -7 et +2
11001
+ 00010
11011

Le bit de signe est celui d'un nombre négatif. Le résultat apparaît en complément à 2.
Pour retrouver la valeur exacte de ce résultat (à titre de vérification), il suffit de le
complémenter à 2, ce qui donnera : 0101. Le résultat est bien -5.

Exemple 4 : addition de -7 et -2

11001
+ 11110
1 10111

Dans ce cas aussi, la retenue doit être rejetée. Le résultat apparaît en complément à 2.

Exemple 5 : addition de -7 et +7
11001
+ 00111
1 00000

Le report ne doit pas être pris en compte.

Exemple 6 : addition de +9 et +8

01001
+ 01000
10001

Le bit de signe est celui d'un nombre négatif. Le résultat devrait être +17. Ce qui est bien
entendu une erreur. En effet, on ne peut pas représenter avec 5 bits le nombre +17. Il y a
donc un dépassement.

9
Exemple 7 : addition de -9 et -8

10111
+ 11000
101111

Le bit de signe est celui d'un nombre positif. Le résultat devrait être -17. Dans ce cas
aussi, il y a un dépassement.

On peut en déduire règles générales suivantes :

- Les bits de même poids (y compris les bits de signe) sont additionnés successivement
en tenant compte de l'éventuelle retenue de l'addition précédente.

- On rejette toujours la retenue au-delà du bit de signe, s'il existe.

- Il y a dépassement quand les deux nombres additionnés sont positifs et que le bit de
signe du résultat est ‘1’, ou quand les deux nombres additionnés sont négatifs et que le
bit de signe du résultat est ‘0’.

V.2. Soustraction en complément à 2

Rappelons que le complément à 1 d’un nombre A codé sur n bits est tout simplement son

complément A .
Ainsi : A an-1 ...............a0
+ +
A an-1 ................ a0
2n-1 1 ................ 1

n
A+A=2 -1

Le complément à 2 du nombre A (Ã) est le complément à 1 auquel on additionne 1.

n
à = A + 1 = (2 -1-A) + 1
n
Ã=2 -A

n
Or, le nombre binaire le plus grand qu’il est possible de représenter avec n bits est 2 -1.
Ainsi, le bit de poids n ne doit pas être pris en compte. D’où :

10
à = -A

Donc, le complément à 2 de A est son opposé. Ainsi, une opération de soustraction A-B
se ramène à une addition A+(-B). On additionne le nombre A et le complément à 2 du
nombre B et on ignore la retenue si elle existe.

VI. Comparateur

Un comparateur est un circuit combinatoire qui effectue la comparaison de deux nombres


binaires A et B. Les trois résultats de comparaison des deux nombres A et B S(A>B),
E(A=B) et I(A<B) sont directement disponibles en sortie.
La figure n°8 représente le symbole d’un comparateur.

S(A>B)
A
E(A=B)
comparateur
B
I(A>B)

Figure n°8 : schéma symbolique d’un comparateur

VI.1. fonction égalité : E(A=B)

Soient A et B deux nombres binaires que nous supposerons à 3 bits chacun. A et B sont
égaux si tous les bits ayant le même poids sont égaux deux à deux.

A  a 2 a1 a 0 B = b2 b1b0

A  B si ( a 2  b2 ) ET ( a1  b1 ) ET ( a 0  b0 )

Au chapitre II, nous avons vu qu'on peut facilement détecter l'égalité de deux bits x et y

en utilisant la fonction inverse de XOR, notée : f  x  y . Donc :

E  ( a 2  b 2 ) . ( a1  b1 ) . ( a 0  b0 )

VI.2. Fonction supériorité : S(A>B)

A  B si a 2  b2  OU (a 2 = b2 ) ET (a1 > b1 ) OU (a 2 = b2 ) ET (a1 = b1 ) ET (a 0 > b0 )

11
Soient x et y deux bits indépendants. On détermine la fonction s(x>y) à partir de la table
de vérité suivante :

y x s(x>y)
0 0 0
0 1 1
1 0 0
1 1 0

Selon cette table :


s( x  y)  x y
D' où :
S ( A  B)  a 2 b2  (a 2  b 2 ).a1b1  (a 2  b 2 ).(a1  b1 ).a 0 b0

VI.2. Fonction infériorité : I(A<B)

A B si a2 b2 OU ( a2 = b2 ) ET ( a1 b1 ) OU ( a2 = b2 ) ET ( a1 = b1 ) ET ( a0 b0 )

Soient x et y deux bits indépendants. On détermine la fonction i(x<y) à partir de la table


de vérité suivante :

y x i(x<y)
0 0 0
0 1 0
1 0 1
1 1 0

i( x  y)  x y
D' où :
I ( A  B)  a 2 b2  (a 2  b 2 ).a1b1  (a 2  b 2 ).(a1  b1 ).a 0 b0

12
On obtient ainsi le circuit du comparateur des deux nombres A et B à 4 bits chacun
(figure n°9).

Figure n°9

Comparateur intégré 7485 :

Le 7485 effectue la comparaison de deux nombres à 4 bits chacun. La figure n°10


reproduit son schéma logique tel qu'il apparaît dans la fiche technique du fabricant. Il
reçoit deux groupes d'entrée (A -A ) et (B -B ) qui représentent les deux nombres de 4
0 3 0 3
bits à comparer et délivre le résultat de comparaison sur trois sorties S, E, I dont une
seule est active.
Pour en faciliter la mise en cascade, le 7485 possède 3 entrées S’, E’ et I’. Ces dernières
servent à raccorder plusieurs 7485 pour réaliser un comparateur de deux nombres de
longueur quelconque en reliant respectivement les sorties S, E et I aux entrées S’, E’ et I’
de la puce de rang supérieur. L’entrée E’ de la puce comparant les 4 bits de poids le plus
faible doit être à l’état logique 1.

13
Figure n°10

14
15

Vous aimerez peut-être aussi