Notes sur la logique combinatoire - 1° partie, Notes de Principes fondamentaux de physique. Université Claude Bernard (Lyon I)
Eleonore_sa
Eleonore_sa

Notes sur la logique combinatoire - 1° partie, Notes de Principes fondamentaux de physique. Université Claude Bernard (Lyon I)

PDF (271 KB)
12 pages
3Numéro de téléchargement
685Numéro de visites
Description
Notes de sciences physisques sur la logique combinatoire - 1° partie. Les principaux thèmes abordés sont les suivants: Addition binaire, Additionneur, Addition en parallèle, Addition séquentielle, Soustraction.
20 points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu3 pages / 12
Ceci c'est un aperçu avant impression
3 pages affichées sur 12 total
Télécharger le document
Ceci c'est un aperçu avant impression
3 pages affichées sur 12 total
Télécharger le document
Ceci c'est un aperçu avant impression
3 pages affichées sur 12 total
Télécharger le document
Ceci c'est un aperçu avant impression
3 pages affichées sur 12 total
Télécharger le document

Logique combinatoire Dans ce chapitre nous nous intéressons à une famille de circuits logiques pour lesquels la sortie dépend uniquement des états des entrées. III.1 Addition binaire

III.1.a Demi-additionneur Addition et soustraction sont deux opérations arithmétiques de base. Commençons par l'addition de deux nombres binaires, la soustraction sera étudiée dans le prochain paragraphe. En base 2 l'addition de deux bits s'écrit :

 

 

=+

=+

=+

=+

1011

0101

0110

0000

Comme en décimal, nous devons donc tenir compte d'une éventuelle retenue (carry). La figure 1 montre la décomposition de l'addition de deux nombres binaires de quatre bits.

a3 a aa 012 bb bb3 2 1 0 s3 2 1 0s ss

r3 2 1 0r rr

nombre A

nombre B

somme : S = A + B

retenues

+

Figure 1 L'addition des deux bits de plus bas poids (LSB : Least Significant Bit) a0 et b0, donne un résultat partiel s0 et une retenue r0. On forme ensuite la somme des deux bits a1 et b1 et de la retenue r0.

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 41

Nous obtenons un résultat partiel s1 et une retenue r1. Et ainsi de suite, nous obtenons un résultat sur quatre bits S et une retenue r3. Considérons la cellule symbolisée sur la figure 2, comptant deux entrées A et B, les deux bits à sommer, et deux sorties D le résultat de la somme et C la retenue.

A B

HA

C D

Figure 2 Ce circuit, qui permettrait d'effectuer l'addition des deux bits de plus bas poids est appelé demi- additionneur (Half-Adder). Ecrivons la table de vérité de celui-ci :

A B C D 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0

Table 1

Si nous écrivons ces deux fonctions sous leur forme canonique il vient :

  

= +=

BAC BABAD

Nous reconnaissons pour la sortie D une fonction OU exclusif, donc :

   = ⊕= BAC

BAD

Ce qui peut être réalisé par le circuit schématisé sur le logigramme de la figure 3.

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 42

A B D

C

Figure 3

III.1.b Additionneur Il faut en fait tenir compte de la retenue des bits de poids inférieurs, un circuit additionneur doit donc comporter trois entrées et deux sorties, comme représenté sur la figure 4.

A B

FA

CS

R

Figure 4 Ce serait possible en combinant deux demi-additionneurs comme présenté par la figure 5. En pratique pour minimiser le nombre de composants, ou de portes dans un circuit intégré, un tel additionneur est réalisé directement.

HA

HA C2

C

S

1

1

R

A

B

S

C

Figure 5 Les entrées A et B représentent les bits à additionner et R le report de la retenue de l'addition des bits de poids inférieurs. La sortie S représente le résultat de la somme et C la retenue. La table de vérité de ce circuit est la suivante :

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 43

A B R S C 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

Table 2

A partir de cette table nous pouvons écrire pour S et C les expressions booléennes suivantes :



  

+++=

+++=

RBARBARBARBAC

RBARBARBARBAS

Nous pouvons simplifier l'expression de C en utilisant un tableau de Karnaugh :

AB R 00 01 11 10

0

1 1

1

1 1

Figure 6

Nous en déduisons :

C = A B + A R + B R Le bit de carry est égal à 1 si au moins deux des entrées sont à 1. D'autre part, nous pouvons remarquer qu'intervertir les 0 et les 1 dans la table 2 revient à permuter les lignes 1 et 8, 2 et 7, 3 et 6, 4 et 5. La table de vérité reste globalement invariante par inversion des entrées et des sorties, nous avons donc :

RBRABAC ++= A partir de cette relation, qui peut également être démontrée en appliquant l’algèbre de Boole, nous pouvons écrire :

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 44

  

 

=

++=++⇒=

=

RBACR

RBARBARBAC)RBA(RBACB

RBACA

Ce qui nous permet de réécrire l'expression de S :

RBAC)RBA(S +++= La figure 7 donne un exemple de réalisation d'un additionneur 1 bit basé sur deux portes AOI (AND OR INVERT), c'est-à-dire un ensemble de portes ET suivies d'une porte NON-OU.

A B R

S

C

Figure 7

III.1.c Addition en parallèle L'addition de nombres comptant plusieurs bits peut se faire en série (bit après bit) ou en parallèle (tous les bits simultanément). La figure 8 montre l'exemple d'un additionneur 4 bits comptant quatre "Full Adders", comparables à celui schématisé figure 7, montés en parallèle ou en cascade. Chaque additionneur FAi est affecté à l'addition des bits de poids i. L'entrée correspondant au report de retenue pour FA0 est imposée à 0 (en logique positive). La retenue

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 45

finale C indique un dépassement de capacité si elle est égale à 1. Le temps d'établissement du résultat correspondant au temps de propagation des retenues au travers des diverses cellules. Si δt est le temps réponse d'une cellule, la sortie S0 et la retenue R0 sont valables après un retard δt, la sortie S1 et la retenue R1 ne sont correctes qu'après un retard 2 δt, et ainsi de suite. La figure 9 présente un exemple de réalisation logique d'un additionneur de deux mots de 2 bits.

A B

FA

C S

3

3 3

3

FA2 FA1 FA0

A AA2 1 0B BB2 1 0

S SS 012

Figure 8

RA B0 0 A1 1B

S0 S1

C1

Figure 9

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 46

III.1.d Addition séquentielle Dans un additionneur séquentiel chacun des nombres A et B est représenté par un train d'impulsions (figure 10) synchrones par rapport à un signal d'horloge. L'ordre chronologique d'arrivée des impulsions correspond à l'ordre croissant des poids : le bit le moins significatif se présentant le premier. Ces impulsions sont injectées sur les deux lignes d'entrée d'un additionneur (figure 11). A chaque cycle d'horloge, la retenue provenant des bits de poids inférieurs doit être mémorisée (par exemple, à l'aide d'une bascule D qui sera étudiée dans le chapitre suivant). Un additionneur parallèle est plus rapide mais nécessite plus de composants.

A = 01101

B = 01011

D = 11000

LSB

20 2 2 22 2 3 41 t

Figure 10

A B

FA

CS

R

TD

Figure 11

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 47

III.2 Soustraction

III.2.a Demi-soustracteur La table de vérité pour un demi-soustracteur (ne tenant pas compte d'une éventuelle retenue provenant des bits de poids inférieurs) est la suivante :

A B D C 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0

Table 3

Où D représente le résultat de la soustraction A − B et C la retenue. Nous en déduisons les expressions logiques définissant D et C :



  

=

⊕=+=

BAC

BABABAD

et le schéma correspondant :

A B D

C

Figure 12

Nous pourrions maintenant étudier un soustracteur prenant en compte la retenue. Nous allons plutôt tirer parti de certaines propriétés de la numération binaire pour traiter de la même manière l'addition et la soustraction.

III.2.b Additionneur-soustracteur Nous savons qu'avec un mot de n bits nous pouvons représenter un entier positif dont la valeur est comprise entre 0 et 2n − 1. Le complémentaire d'un mot de n bits est obtenu entre prenant le complément de chacun des n bits. Ainsi, si nous sommons un nombre et son complément nous obtenons un mot dont tous les bits sont à 1. C'est-à-dire :

12AA n −=+

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 48

Attention : dans ce paragraphe le signe + représente l'opération addition et non la fonction logique OU. Nous pouvons encore écrire :

n21AA −+=− Mais sur n bits l'entier 2n est identique à 0 :

)bitsn(02n ≡ C'est-à-dire qu'il est possible d’écrire un nombre entier négatif comme le "complément à 2" de sa valeur absolue :

1AA +=− Nous reviendrons sur les divers codages des entiers signés plus tard. Nous pouvons utiliser cette propriété pour écrire la soustraction de deux mots de n bits sous la forme suivante :

)bitsn(1BA21BABA n ++≡−++=− Ce résultat conduit au schéma de principe présenté sur la figure 13 combinant les fonctions addition et soustraction. Celui-ci est basé sur l'emploi d'un additionneur n bits et d'un multiplexeur à deux lignes d'entrée. Nous étudierons ce type de circuit un peu plus loin dans ce chapitre. Selon le code opération O (0 pour une addition et 1 pour une soustraction) ce multiplexeur permet de sélectionner une des deux entrées, B ou son complémentaire. Le code opération est également injecté sur l'entrée report de retenue de l'additionneur. Pour simplifier le schéma et éviter de représenter n lignes de connexion parallèles, on ne matérialise qu'une seule ligne. Celle-ci est barrée et accompagnée d'une valeur qui indique le nombre réel de connexions.

n

n

n n

n

n 1

0 C

DA

B

O

A D D

Figure 13

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 49

III.3 Comparaison On rencontre très souvent la nécessité de comparer deux entiers (A = B, A > B ou A < B). Ecrivons la table de vérité correspondant à ces trois fonctions de comparaison de 2 bits. La fonction C doit être égale à 1 si et seulement si A > B, la fonction D si et seulement si A < B et la fonction E si et seulement si A = B. Ce qui nous donne :

A B C (A > B) D (A < B) E (A = B) 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1

Table 5

Nous en déduisons les expressions logiques de C, D et E :

  

 

+=+=⊕=

=

=

DCBABABAE

BAD

BAC

La figure 14 présente le diagramme d'un bloc logique comparant deux bits A et B.

A B

C

E

D

Figure 14 III.4 Contrôle de parité La parité d'un mot binaire est définie comme la parité de la somme des bits, soit encore :

- parité paire (ou 0) : nombre pair de 1 dans le mot; - parité impaire (ou 1) : nombre impair de 1 dans le mot.

La fonction OU-exclusif donne la parité d'un sous-ensemble de deux bits. Le contrôle de parité est basé sur la constatation que le mot de n+1 bits formé en adjoignant à un mot de n bits son bit de parité est toujours de parité 0. La figure 15 représente le diagramme logique d'un générateur-

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 50

contrôleur de parité pour 4 bits. Si l'entrée P' est imposée à 0 ce circuit fonctionne comme générateur de parité : la sortie P représente la parité du mot composé par les bits A, B, C et D.

P

A B C D P'

Figure 15

Le contrôle de la parité est utilisé, par exemple, pour augmenter la fiabilité d'un système

de transmission ou de stockage de données. La figure 16 montre l'utilisation du circuit précédent en générateur de parité du côté de l'émission et contrôleur de parité du côté de la réception. La sortie P2 doit être à 0 pour chaque mot transmis, sinon cela indique un problème de transmission.

Emetteur

A

C D P'

P B

Récepteur

A

C D P'

P B

P2

Figure 16 Remarquons cependant que la parité ne permet de détecter qu'un nombre impair de bits en erreur dans un mot. Par ailleurs il ne permet pas corriger les erreurs détectées. Pour ce faire il faut utiliser des codes correcteurs d'erreur qui nécessitent plusieurs bits supplémentaires. III.5 Décodage Dans un système numérique les instructions, tout comme les nombres, sont transportées sous forme de mots binaires. Par exemple un mot de 4 bits peut permettre d'identifier 16 instructions différentes : l'information est codée. Très souvent l'équivalent d'un commutateur à 16 positions permet de sélectionner l'instruction correspondant à un code. Ce processus est appelé décodage. La fonction de décodage consiste à faire correspondre à un code présent en entrée sur n lignes une seule sortie active parmi les N = 2n sorties possibles. A titre d'exemple, nous allons étudier le décodage de la représentation DCB des nombres.

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 51

III.5.a Représentation DCB (Décimale Codée Binaire) Le code DCB (ou en anglais BCD : Binary Coded Decimal) transforme les nombres décimaux en remplaçant chacun des chiffres décimaux par 4 chiffres binaires. Cette représentation conserve donc la structure décimale : unités, dizaines, centaines, milliers, etc… Chaque chiffre est codé sur 4 bits selon le code de la table 6 :

Décimal DCB 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001

Table 6

Par exemple le nombre décimal 294 sera codé en DCB : 0010 1001 0100. Ce type de codage permet, par exemple, de faciliter l'affichage en décimal du contenu d'un compteur. Pour ce faire on peut utiliser des tubes de Nixie, contenant 10 cathodes ayant chacune la forme d'un chiffre (fig. 17) ou des afficheurs lumineux à sept segments (fig. 18).

centaines

décodeur

4

10

dizaines

4

unités

4

N i x i e

10

N i x i e

10

N i x i e

décodeur décodeur

Figure 17

S. Tisserant – ESIL – Architecture et Technologie des Ordinateurs - 2003 52

Aucun commentaire n'a été pas fait
Ceci c'est un aperçu avant impression
3 pages affichées sur 12 total
Télécharger le document