11
CIRCUITS LOGIQUES COMBINATOIRES Chap-I: Systèmes de numération et codes 1 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES Systèmes de numération et codes TRABELSI Hichem Attention ! Ce produit pédagogique numérisé est la propriété exclusive de l'UVT. Il est strictement interdit de la reproduire à des fins commerciales. Seul le téléchargement ou impression pour un usage personnel (1 copie par utilisateur) est permis.

chap01

Embed Size (px)

DESCRIPTION

electronique numerique

Citation preview

Page 1: chap01

CIRCUITS LOGIQUES COMBINATOIRES Chap-I: Systèmes de numération et codes

1 TRABELSI Hichem

Université Virtuelle de Tunis

CIRCUITS LOGIQUES COMBINATOIRES

Systèmes de numération et codes

TRABELSI Hichem

Attention !

Ce produit pédagogique numérisé est la propriété exclusive de l'UVT. Il est strictement interdit de la reproduire à des fins

commerciales. Seul le téléchargement ou impression pour un usage personnel (1 copie par utilisateur) est permis.

Page 2: chap01

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _______________________________________________________________________________________________________________________________________________________

Chap-I : Systèmes de numération et codes

TRABELSI Hichem 2

SYSTEMES DE NUMERATION

ET CODES Objectif du chapitre

Ce chapitre traite en détail les différents systèmes de numération : systèmes décimal, binaire, octal et hexadécimal ainsi que les méthodes de conversion entre ces systèmes de numération. Nous étudierons également les opérations arithmétiques sur les nombres binaires signés, après avoir introduit la notion du complément à 2 d’un nombre binaire. Nous terminons ce chapitre par l’étude de plusieurs codes numériques tels que les codes B.C.D, Gray et A.S.C.I.I Systèmes de numération

De nombreux systèmes de numération sont utilisés en électronique numérique. Les plus utilisés sont les systèmes :

- Binaire (base 2). - Octal (base 8). - Décimal (base 10). - Hexadécimal (base 16). - Représentation polynomiale

Tout nombre N peut se décomposer en fonction des puissances entières de la base de son système de numération. Cette décomposition s’appelle la forme polynomiale du nombre N et qui est donnée par :

N = an.bn + an-1.bn-1

+……a1.b1 + a0.b0 + a-1.b-1

+…. a-m.b-m

• b: base du système de numération, il représente le nombre de chiffres différents

qu’utilise ce système de numération. • ai: un chiffre (ou digit) parmi les chiffres de la base du système de numération. • i: Rang du chiffre ai.

- Système décimal (base 10)

Le système décimal comprend 10 chiffres qui sont {0,1,2,3,4,5,6,7,8,9}.

Exemples :

2 3 5 610 = 2.103 + 3.102 + 5.101 + 6.100

4 2 9 , 6 5 710 = 4.102 + 2.101 + 9.100 + 6.10-1 +5.10-2 +7.10-3

représente la base 10

Chiffre de poids fort

Chiffre de poids faible

Page 3: chap01

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _______________________________________________________________________________________________________________________________________________________

Chap-I : Systèmes de numération et codes

TRABELSI Hichem 3

- Système binaire (base 2)

Dans ce système de numération, il n'y a que deux chiffres possibles {0,1} qui sont souvent appelés bits "binary digit". Exemples :

1 0 1 1 0 2 = 1.24 + 0.23 + 1.22 + 1.21 + 0.20 = 2210

0110,10112 =1.24 +0.23 +1.22 +1.21 +0.20 +1.2-1 +0.2-2 +1.2-3 + 1.2-4 = 22,687510

- Système octal (base 8)

Ce système octal ou à base 8, comprend 8 chiffres qui sont {0,1,2,3,4,5,6,7}. Les chiffres 8 et 9 n'existent pas dans cette base.

Exemples :

60578 = 6.83 + 0.82 + 5.81 + 7.80 = 311910

6057,148 = 6.83 + 0.82 + 5.81 + 7.80 + 1.8-1 + 4.8-2 = 311910

- Système hexadécimal (base 16)

Le système hexadécimal ou base 16 contient seize éléments qui sont {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}.

Exemples :

N1 = 35616 = 3.162 + 5.161 + 6.160 = 85410

N2 = 2AF16 = 2.162 + 10.161 + 15.160 = 68710

N3 = 81,B16 = 8.161 + 1.160 + 11.16-1 = 129,687510

représente la base 2

Bit de poids fort noté M.S.B

Bit de poids faible noté L.S.B

Page 4: chap01

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _______________________________________________________________________________________________________________________________________________________

Chap-I : Systèmes de numération et codes

TRABELSI Hichem 4

Résumé

CODES BASE SYMBOLES UTILISATIONS Décimal 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Usage courant Binaire 2 0, 1 C’est le code le plus utilisé en

électronique numérique Ex : ’0’ = 0 volt ‘1’ = 5 volts

Octal 8 0, 1, 2, 3, 4, 5, 6, 7 Hexadécimal 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,

A, B, C, D, E, F Utilisé en informatique pour simplifier l’écriture des nombres binaires. Ex :(110001110101)2 = (C75)16

Changement de base

Il s'agit du processus de conversion d'un nombre écrit dans une base b1 à une autre base b2.

- Conversion d'un nombre en base b → base 10

La valeur décimale d’un nombre N, écrit dans une base b, s’obtient par sa forme polynomiale.

Exemples:

N1 = 1011012 = 1.25 + 0.24 + 1.23 + 1.22 + 0.21 +1.20 = 4510 N2 = 67348 = 6.83 + 7.82 + 3.81 + 4.80 = 354810 N3 = A7316 = 10.162 + 7.161 + 3.160 = 267510

- Conversion d'un nombre en base 10 → base b La conversion d’un nombre décimal entier en un nombre écrit dans une base b quelconque est obtenu par la division successive par b.

Exemples :Convertir le nombre décimal 42310 en nombre binaire, octal et hexadécimal.

a/ Conversion décimale binaire

423 2 1 211 2 1 105 2 1 52 2 0 26 2 0 13 2 1 6 2 0 3 2 1 1 2 1 0

Sens de la lecture

Résultat :42310 = 1101001112

Page 5: chap01

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _______________________________________________________________________________________________________________________________________________________

Chap-I : Systèmes de numération et codes

TRABELSI Hichem 5

b/ Conversion décimale octale 423 8

7 52 8 4 6 8 6 0

c/ Conversion décimale hexadécimale 423 16

7 26 16 10 1 16 1 0

Pour convertir un nombre décimal à virgule dans une base b quelconque, nous effectuons la

division successive par b de la partie entière et on multiplie la partie fractionnaire du nombre à convertir par la base b et on note sa partie entière.

Exemple:

Conversion du nombre 58,3210 en base 2.

Recherche de la partie entière par divisions successives par 2

Recherche de la partie fractionnaire par multiplications successives par 2

58 2 0 29 2 1 14 2 0 7 2 Sens 1 3 2 de la 1 1 2 lecture 1 0

0,32 0,64 0,28 0,56 0,12 x 2 x 2 x 2 x 2 x 2

0,64 1,28 0,56 1,12 0,24 Sens de la lecture

Résultat : 58,3210 = 111010,01010…2

Remarque : On limite le nombre de chiffre après la virgule en fonction de la précision souhaitée. Si par exemple, un nombre décimal est exprimé avec 3 chiffres après la virgule, il est connu avec une précision de 10-3. Exprimé en base 2, la partie fractionnaire devra comporter au plus 10 chiffres; en effet 2-10 =1/1024 ≈10-3.

- Autres conversions : octal-binaire, hexadécimal-binaire, et vice versa

a- La conversion octal-binaire s’obtient en remplaçant chaque chiffre du nombre octal par son équivalent binaire écrit sur trois bits.

Sens de la lecture

Sens de la lecture

Résultat : 42310 = 1A716

Pour la partie décimale, on s'arrête quand le nombre de bits permet de respecter la

précision souhaitée.

Résultat : 42310 = 6478

Page 6: chap01

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _______________________________________________________________________________________________________________________________________________________

Chap-I : Systèmes de numération et codes

TRABELSI Hichem 6

Exemples:

2 5 78 = 010 101 1112 5 7 , 3 18 = 101 111, 011 0012

Inversement, pour convertir un nombre binaire en un nombre octal, il faut regrouper les bits du nombre binaire par trois en allant vers la gauche à partir de la virgule pour la partie entière, et vers la droite pour la partie fractionnaire, puis chaque groupe est remplacé par le chiffre octal correspondant.

Exemples:

110011011112 = 11 001 101 111 = 31578 11010,10112 = 11 010 , 101 100 = 32,548 ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 3 1 5 7 3 2 , 5 4

b- La conversion hexadécimal-binaire s’obtient en remplaçant chaque chiffre du nombre hexadécimal

par son équivalent binaire sur quatre bits.

Exemples:

9 B 216 = 1001 1011 00102 C 3, 4 F16 = 1100 0011 0100 11112

Inversement, pour convertir un nombre binaire en hexadécimal, il faut regrouper les bits du nombre binaire par quatre en allant vers la gauche à partir de la virgule pour la partie entière, et vers la droite pour la partie fractionnaire, puis chaque groupe est remplacé par le chiffre hexadécimal correspondant.

Exemples:

0011101001102 = 0011 1010 0110 = 3A616 101011,1101112 = 10 1011, 1101 1100 ↑ ↑ ↑ ↑ ↑ ↑ ↑ 3 A 6 2 B , D C

Page 7: chap01

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _______________________________________________________________________________________________________________________________________________________

Chap-I : Systèmes de numération et codes

TRABELSI Hichem 7

Opérations arithmétiques binaires Avant d’effectuer des opérations arithmétiques sur les nombres binaires, il faut définir au préalable, la représentation des nombres binaires signés. Le codage des nombres négatifs se fait le plus souvent en notation complément à 2. Représentation en complément à 2

Un nombre binaire signé est écrit en notation complément à 2 comme suit: - Si le nombre est positif, il est écrit en nombre binaire pur avec un bit de signe 0, représenté par le bit

de poids le plus fort. - Si le nombre est négatif, il possède un bit de signe 1, mais il est écrit en notation en complément à 2.

Le complément à 2 d'un nombre binaire est obtenu en changeant chaque 0 par 1 et chaque 1 par 0 (cette étape est appelée complément à 1) et en ajoutant 1 au bit de poids le plus faible. Méthode pratique pour le calcul du complément à 2 :

Cette méthode consiste à examiner chaque bit du nombre binaire, en commençant par celui de poids le plus faible (L.S.B). Tous les zéros à partir du L.S.B (s’il y en a) jusqu’au premier 1 rencontré seront conservés et tous les bits suivants seront inversés. Le tableau ci-dessous donne tous les nombres binaires écrits en notation en complément à 2 sur 4 bits :

Valeur décimale

Nombre binaire en complément à 2

7=23 - 1 0111 6 0110 5 0101 4 0100 3 0011 2 0010 1 0001 0 0000 -1 1111 -2 1110 -3 1101 -4 1100 -5 1011 -6 1010 -7 1001

-8=-23 1000

Complément à 2 des nombres binaires à 4 bits

Exemple Premier 1 rencontré N : 1 0 0 1 0 1 0 0 Complément à 2 de N : 0 1 1 0 1 1 0 0 bits bits inversés inchangés

Page 8: chap01

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _______________________________________________________________________________________________________________________________________________________

Chap-I : Systèmes de numération et codes

TRABELSI Hichem 8

D’après le tableau ci-dessus, on remarque : • En notation en complément à 2, les nombres positifs sont représentés avec un bit de signe 0 et

les nombres négatifs par un bit de signe 1. • En notation en complément à 2 et avec n bits, on représente les nombres signés compris dans

l’intervalle [-2n-1,2n-1-1].

La représentation en complément à 2 est tès utile dans les opérations arithmétiques binaires car toute soustraction peut se ramener à une addition en remplaçant les nombres négatifs par leurs compléments à 2. Cela est très important dans le cas des ordinateurs et les calculateurs, puisqu'avec les mêmes circuits, on effectue l'addition et la soustraction. Démonstration. Addition binaire

La méthode d’addition pour des nombres binaires signés, consiste à écrire les nombres positifs en binaire avec un bit de signe 0, et à remplacer les nombres négatifs par leur complément à 2 avant l'addition. Si le résultat est positif, il est en notation binaire, s'il est négatif, il est en notation complément à 2.

En voici quelques exemples, où les nombres binaires sont écrits avec n=5 bits.

a/ 910 + 410 = ?

b/ 910 - 410 = ? Comme -410 est un nombre négatif, il faut le remplacer par son complément à 2.

c/ -910 - 410 = ?

Comme -910 et -410 sont des nombres négatifs, il faut les remplacer par leurs compléments à 2 respectifs.

0 1 0 0 1 910

0 0 1 0 0 410

0 1 1 0 1 910

+

=

0 1 0 0 1 910

1 1 1 0 0 Complément à 2 de 4

0 0 1 0 1 510

+

= 1

débordement à éliminer

1 0 1 1 1

1 1 1 0 0 Complément à 2 de 4

1 0 0 1 1

+

= 1

débordement à éliminer

Complément à 2 de 9

Complément à 2 de 13

Page 9: chap01

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _______________________________________________________________________________________________________________________________________________________

Chap-I : Systèmes de numération et codes

TRABELSI Hichem 9

Le bit de signe est 1, donc le résultat de la somme est négatif, Il faut le complémenter à 2 pour trouver sa valeur absolue. Remarque: Le débordement sur le (n+1)ème bit du résultat de l’addition est toujours ignoré, car la taille des nombres binaires est limitée à n bits uniquement. Opérations arithmétiques hexadécimales

Addition hexadécimale

La procédure proposée est la suivante : - Additionner les deux chiffres hexadécimaux comme des chiffres décimaux, en remplaçant

mentalement les lettres par leurs équivalents décimaux. - Si la somme ≤ 15, inscrire directement le chiffre hexadécimal. - Si la somme est égale ou supérieur à 16, soustraire 16 et reporter 1 sur le rang à gauche. Exemples:

+ =

5 3 8 8 4 C

+ =

5 4 A 8 B 3

+ =

3 4 7

A 3 E

F C B

=

+ 1

C C 9

A A 5

F F F

E E C

Soustraction hexadécimale

On peut soustraire les nombres hexadécimaux en utilisant la même méthode que celle pour les nombres décimaux.

Exemples:

- =

C 5 B 5 9 2 6 C 9

- =

1

0

5 7 D

C D F

E 5 9

- =

B 9 1

4 D 7

C 7 4

9 A F

Les codes L’action de faire correspondre à des nombres, des lettres ou des mots, un groupe spécial de symboles s’appelle codage. On distingue deux types de codes: les codes numériques (codes B.C.D, Gray...) et alphanumériques (code A.S.C.I.I, …).

Code B.C.D (Binary Coded Decimal)

Le code B.C.D est un code pondéré qui représente chaque chiffre décimal par son équivalent binaire sur 4 bits, comme le montre le tableau suivant:

Page 10: chap01

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _______________________________________________________________________________________________________________________________________________________

Chap-I : Systèmes de numération et codes

TRABELSI Hichem 10

Code décimal

Code B.C.D

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

Code B.C.D

On note que les codes 1010, 1011, 1100, 1101, 1110, 1111 sont des combinaisons interdites, on les

appelle des pseudo-tétrades. Le codage en B.C.D d’un nombre décimal se fait en remplaçant chaque chiffre individuel de ce

nombre par son équivalent binaire sur 4 bits. Exemple:

8 7 4 Code décimal ↑ ↑ ↑

1000 0111 0100 Code B.C.D

On note bien la facilité relative avec laquelle on passe de ce code au nombre décimal correspondant

et vice versa.

Il y a une méthode qui permet d’effectuer l’addition sur des nombres en B.C.D méthode.

Code Gray)

Le code Gray (ou code binaire réfléchi) est un code qui appartient à la catégorie des codes dit à distance minimale, du fait qu’une représentation codée en Gray ne diffère de celle qui la précède que d’un élément binaire et d’un seul, comme le montre le tableau 1.3.

Code décimal Code binaire Code Gray0 0000 0000 1 0001 0001 2 0010 0011 3 0011 0010 4 0100 0110 5 0101 0111 6 0110 0101 7 0111 0100 8 1000 1100 9 1001 1101

10 1010 1111 11 1011 1110 12 1100 1010 13 1101 1011 14 1110 1001 15 1111 1000

Code décimal, binaire et Gray

Page 11: chap01

Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _______________________________________________________________________________________________________________________________________________________

Chap-I : Systèmes de numération et codes

TRABELSI Hichem 11

Le code de Gray peut être généré par réflexion effet miroir.

Il existe une méthode pratique qui permet la conversion binaire Gray et vice versa méthode.

Code A.S.C.I.I (American Standard Code for Information Interchange)

Le code A.S.C.I.I est un code alphanumérique, devenu une norme internationale. Il est utilisé pour la transmission entre ordinateurs ou entre un ordinateur et des périphériques. Sous sa forme standard, il utilise 7 bits, ce qui permet de générer 27 =128 caractères. Ce code représente les lettres alphabétiques majuscules et minuscules, les chiffres décimaux, des signes de ponctuation et des caractères de commande. Le code A.S.C.I.I est représenté sur le tableau suivant.

b6b5b4→ b3b2b1b0↓

000 (0)H

001 (1)H

010 (2)H

011 (3)H

100 (4)H

101 (5)H

110 (6)H

111 (7)H

0000 (0)H NUL DLE (space) 0 @ P ' p 0001 (1)H SOH DC1 ! 1 A Q a q 0010 (2)H STX DC2 " 2 B R b r 0011 (3)H ETX DC3 # 3 C S c s 0100 (4)H EOT DC4 $ 4 D T d t 0101 (5)H ENQ NAK % 5 E U e u 0110 (6)H ACK SYN & 6 F V f v 0111 (7)H BEL ETB ' 7 G W g w 1000 (8)H BS CAN ( 8 H X h x 1001 (9)H HT EM ) 9 I Y i y 1010 (A)H LF SUB * : J Z j z 1011 (B)H VT ESC + ; K [ k { 1100 (C)H FF FS , < L \ l | 1101 (D)H CR GS - = M ] m } 1110 (E) H SO RS . > N ^ n ~ 1111 (F)H SI US / ? O _ o DEL

NUL (Null): caractère nul. SOH (Start Of Heading): début d'en-tête. STX (Start of Text): début de texte. ETX (End of Text): fin de texte. EOT (End Of Transmission): fin de transmission. ENQ (ENQuiry): demande de renseignement. ACK (ACKnowledge): accusé de réception. BEL (Bell): caractère d'appel. BS (Back Space): retour arrière. HT (Horizental Tabulation): tabulation horizontale. LF (Line Feed): changement de ligne. VT (Vertical Tabulation): tabulation verticale. FF (From Feed): changement de page. CR (Carriage Return): retour chariot. SO (Shift Out): caractère hors code. SI (Shift In): caractère en code normal. DLE (Data Link Escape): échappement transmission

DC1 (Direct Control 1): commande d'appareil auxiliaire 1. DC2 (Direct Control 2): commande d'appareil auxiliaire 2. DC3 (Direct Control 3): commande d'appareil auxiliaire 3. DC4 (Direct Control 4): commande d'appareil auxiliaire 4. NAK (Negative Acknowledge): accusé de réception négatif. SYN (SYNchronous idle): caractère de synchronisation. ETB (End Transmission Block): fin de bloc de transmission. CAN (CANcel): annulation. EM (End of Medium): fin de support. SUB (SUBstitute): caractère substitut. ESC (ESCape): échappement. FS (Form Separator): séparateur de page. GS (Group Separator): séparateur de groupe. RS (Record Separator): séparateur d'enregistrement. US (Unit Separator): séparateur d'élément. SP (SPace): espace. DEL (DELete): caractère d'effacement.

Codes A.S.C.I.I

Chaque code est défini par 3 bits d'ordre supérieur b6b5b4 et 4 bits d'ordre inférieurs b3b2b1b0. Ainsi le caractère "A" a pour code hexadécimal 41H (intersection de la colonne 4 et la ligne 1), ce qui correspond au code binaire 1000001.

Les caractères de 00H à 1FH (les deux premières colonnes) sont des caractères de commande. Ils sont employés pour commander le fonctionnement d'un dispositif récepteur, telle qu'une imprimante, pour effectuer par exemple, un retour chariot ou l'avance ligne. Les caractères relatifs à ces codes ne sont pas supposés produire une marque sur le papier, toutefois, ils sont représentés par des symboles graphiques, si on les envoie à un écran d'affichage.

Les caractères de 20H à 7FH représentent les chiffres décimaux, les lettres alphabétiques majuscules et minuscules et les signes de ponctuation. Le dernier caractère de la colonne 7 n'est pas un caractère imprimable, c'est DEL (delete).

Il existe le code ASCII à 8 bits.