You are on page 1of 31

OPÉRATIONS LOGIQUES BOOLÉENNES DE BASE Opération ET (AND) Symbole électronique

:
b a & c

Ecriture: Fonction logique : abc --------------000 010 100 111 La porte ET détecte le cas où toutes ses entrées sont à l'état haut (1).
1

Opération OU (OR) Symbole électronique :
a b ≥1 c

Ecriture : Fonction logique : abc --------------000 011 101 111 La porte OU détecte le cas où toutes ses entrées sont à l'état bas (0).

2

Opération NON (NOT) Symbole électronique :
1

Ecriture: Fonction logique : ab ------01 10

3

Opération NON-ET (NAND) Symbole électronique :
a b & c

Ecriture: Fonction logique : abc --------------001 011 101 110

4

Opération NON-OU (NOR) Symbole électronique : Ecriture Fonction logique : abc --------------001 010 100 110

a b

≥1

c

5

Opération OU EXCLUSIF (XOR) Symbole électronique :
a b =1 c

Ecriture: Fonction logique : abc --------------000 011 101 110

6

La porte OU EXCLUSIF détecte le cas où ses entrées sont différentes. Remarque Il est possible de concevoir des circuits logiques à partir d’un seul type de circuits élémentaire. Exemple : Utilisation de portes logiques Réalisez la fonction OU EXCLUSIF à l'aide de portes NON-ET uniquement.

7

Conception et réalisation de systèmes logiques Etude d’un comparateur binaire. 1) Principe de base Le principe consiste à comparer d’abord les bits les plus significatifs ( Most Significant Bit ou M S B) . S’ils sont différents, il est inutile de continuer la comparaison. Par contre s’ils sont égaux, il faut comparer les bits de poids immédiatement inférieur et ainsi de suite. Organigramme pour deux mots de deux bits.

8

A1!B1 OUI NON A1>B1 OUI

NON

A0!B0

NON

NON

A0 >B0 OUI

A<B

A>B

A<B

A>B

A=B

9

Tableau d’analyse.
a b E 1 0 0 1 S 0 0 1 0 I 0 1 0 0

=

0 0 a⊕b 0 1 1 1 0 1

Pour A = B :

E= a b +

a

b

Pour A > B :

S= a
a

b

Pour A < B : I =

b =
a⊕b

E=

S+ I

=

a•b+a•b

Remarque : On peut donc réaliser un comparateur à l’aide de circuits logiques.
10

2) Présentation du circuit intégré HEF 4585 B Le circuit intégré HEF 4585B permet de comparer deux mots de 4 bits ( A3à A0 et B3à B0). Ce circuit possède trois sorties : - A supérieur à B :O
A>B

- A inférieur à B : O A<B - A égal à B : O A=B Trois entrée d’extension ( I A>B , I A<B , I A=B ) permettent la mise en cascade de plusieurs circuits afin d’effectuer un comparaison sur des mots plus grands.

11

Montage de base et fonctionnement.
A 1010 1010 &

1 0101

1

0111

A+ B

B 0110

1 1001

1 0110

& 1011

& 1100

A⊕ B

A A

⊕ ⊕

B = 0 B = 1

→ →

A = B

A ! B

A + A +

B B

= 1 = 0

→ →

A > B A < B 12

3) Réalisation d’un comparateur 12 bits. La réalisation d’un comparateur 12 bits nécessite l’emploi de trois comparateurs montés en cascade. La mise en cascade est conditionnée par la lecture de la table de vérité qui indique quelles sont les entrées prioritaires. Montage :
A3 à A0 LSB A7 à A4 A8 à A11 MS B

1 0

1

1

A>B A=B A<B

B3 à B0

B7 à B4

B8 à B11 13

Explications : Pour permettre les comparaisons, les entrées d’extension des positions de plus faible poids doivent être connectées comme suit : I A=B et I A>B = 1 , I A<B = 0 . Pour des mots supérieurs à quatre bits, les circuits peuvent être mis en cascade en connectant I A<B à O A<B , I A=B à O A=B et I A>B à 1.

14

Additionneur Additionneur parallèle Codée sur un bit, la table de vérité de l'addition est : A B A + B Retenue 0 0 0 1 1 0 1 1 Demi-additionneur À partir de cette table de vérité on peut par exemple construire le circuit suivant, appelé « demi-additionneur » :
15

0 1 1 0

0 0 0 1

Demi-additionneur (1 bit) où A et B sont les entrées, S la somme A + B et C la retenue. Additionneur complet Un additionneur complet nécessite une entrée supplémentaire : une retenue. L'intérêt de celle-ci est de permettre le chaînage des circuits. La table de vérité d'un additionneur complet est :
16

A B REntrée A + B + REntrée RSortie 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1

Le circuit correspondant, l'additionneur complet, est composé de deux demi-additionneurs en série accompagnés d'une logique pour
17

calculer la retenue (un OU entre les deux retenues générables par chacun des demi-additionneurs) :

Un additionneur complet 1 bit Additionneur parallèle à propagation de retenue Il est possible de chaîner plusieurs additionneurs un bit pour en fabriquer un capable de traiter des mots de longueurs arbitraires :
18

Quatre additionneurs 1 bit chaînés pour former un additionneur 4 bits. L'inconvénient de ce circuit est sa lenteur car il dépend du temps de propagation de la retenue de module en module. Cette conception ne peut être choisie pour des circuits dépassant quelques bits, à moins de n'avoir aucune contrainte de temps.

19

Additionneur parallèle à retenue anticipée Dans ce qui suit on note A et B le cumulande et le cumulateur. R est la retenue. Xindice indique le bit auquel on s'intéresse, 0 étant l'indice de poids le plus faible. La fonction logique OU est notée « + ». La fonction logique ET est notée « . » ou n'est pas notée du tout (ainsi A B est l'équivalent de A . B ou A ET B). Tout d'abord on constate que le calcul de la retenue est tout à fait faisable théoriquement : dans la pratique il nécessite beaucoup trop de portes logiques. Pour le second additionneur, la retenue (en entrée) est égale à : R1 = (A0 . B0) + (A0 . R0) + (B0 . R0) (1) Pour le troisième additionneur, la retenue est égale à : R2 = (A1 . B1) + (A1 . R1) + (B1 . R1) (2)
20

et ainsi de suite. On peut substituer R1 dans (2) par sa valeur (1). On voit immédiatement que le résultat est une formule très longue rendant cette technique totalement impraticable pour un additionneur de, par exemple, 16 bits.

Additionneur 1 bit avec les sorties p et g complémentaires Il faut donc trouver un compromis entre vitesse et complexité du circuit chargé de calculer les retenues. Cela peut se faire par
21

l'utilisation de deux valeurs intermédiaires : la retenue propagée et la retenue générée. Nommées p et g, elles sont définies ainsi : p, la retenue propagée sera égale à 1 si l'un des bits du cumulande ou cumulateur est à 1 : pi = Ai OUexclusif Bi. g, la retenue générée sera égale à 1 si à la fois le bit en question du cumulande et du cumulateur sont à 1 : gi = Ai ET Bi. Comme en base 10, si les deux chiffres à additionner forment un résultat supérieur à 9, alors une retenue est générée, et si deux chiffres forment le total 9, alors la retenue (éventuellement issue de la colonne de chiffres précédente) sera propagée. On peut facilement modifier un additionneur complet pour en extraire ces deux nouveaux signaux. Ensuite, on peut constater que la retenue du second additionneur peut être facilement calculée : en effet, à partir du premier
22

additionneur et de ses sorties p et g, la retenue sera à 1 si g est à 1 (elle est générée), ou bien p est à 1 en même temps qu'on à déjà une retenue. C’est-à-dire : R1 = g0 OU (p0 ET R0), et ainsi de suite : R2 = g1 + (p1 . g0) + (p1 . p0 . r0) R3 = g2 + (p2 . g1) + (p2 . p1 . g0) + (p2 . p1 . p0 . r0) R4 = g3 + (p3 . g2) + (p3 . p2 . g1) + (p3 . p2 . p1 . g0) + (p3 . p2 . p1 . p0 . r0)

23

Additionneur 4 bits utilisant une unité de calcul anticipé de la retenue On peut étendre ce principe à des additionneurs N bits, chacun composé de N additionneurs 1 bit et son unité de calcul anticipé de la retenue. Par exemple, un bloc de base avec N = 4 peut être représenté schématiquement comme ceci :
24

Additionneur 4 bits avec sorties P et G Ces blocs sont à leur tour cascadables pour former un additionneur 16 bits :

25

Additionneur 16 bits à partir de blocs 4 bits

26

Additionneur série Les premiers ordinateurs utilisaient un additionneur série. Ce circuit n'est plus combinatoire mais capable de produire un bit du résultat à chaque impulsion de l'horloge qui le cadence. Un tel circuit est extrêmement simple :

27

28

Additionneur série 1 bit. Le chronogramme schématise le déroulement de l'opération X + Y = S avec X = 5, Y = 7, S = 12. Ce circuit est constitué de trois parties : • la porte ET commandée par l'entrée L qui permet de spécifier l'arrivée du premier bit de poids faible dans le circuit ; • une bascule de type D pour mémoriser la valeur de la retenue à l'étape précédente ; • un additionneur complet 1 bit dont les entrées X et Y sont les nombres à ajouter et dont l'entrée Retenue est reliée à la sortie de la bascule D. Le chronogramme indique bien que 5 (X) + 7 (Y) = 12 (S) (101 + 111 = 0011 en binaire, en lisant de droite à gauche). L'état des retenues Co et Coo est indiqué de manière purement informative.
29

Optimisation des additionneurs Les additionneurs sont au cœur des unités arithmétique et logique des processeurs. Des techniques très particulières sont mises en œuvre pour additionner le plus vite possible, le plus souvent en utilisant des techniques complexes de prédiction de la retenue (cf. références). Par exemple on peut détecter des blocs (série de bits consécutifs) ne générant pas de retenue, et donc très rapides à additionner. On peut aussi calculer deux résultats indépendamment et en parallèle, l'un avec une retenue, l'autre sans, et ensuite choisir le bon (via un multiplexeur).

30

Exemple : Train d’atterrissage d’un avion

31