Top Banner
FORMATION CONTINUE A DISTANCE Aymen EL AMRAOUI AU: 2014/2015 Module: Systèmes Logiques
11

Module: Systèmes Logiques

Mar 29, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Module: Systèmes Logiques

FORMATION CONTINUE A DISTANCE

Aymen EL AMRAOUI AU: 2014/2015

Module: Systèmes Logiques

Page 2: Module: Systèmes Logiques

Ch1 : SyStèmeS de numération et codage de l’information ........................................... 1

I. Système de numération ................................................................................................................... 1

I.1. Système décimal (Base 10) ........................................................................................................... 1

I.2. Système binaire (base 2) ............................................................................................................... 1

I.3. Système octal (Base 8) .................................................................................................................. 1

I.4. Système hexadécimal (Base 16) ................................................................................................... 1

I.5. Cas général (Base B) ..................................................................................................................... 1

I.6. Conversion de base ....................................................................................................................... 2

II. Arithmétique binaire ........................................................................................................................ 3

II.1. Addition ....................................................................................................................................... 3

II.2. Soustraction ................................................................................................................................. 3

II.3. Multiplication .............................................................................................................................. 3

II.4. Division........................................................................................................................................ 3

III. Notion de codage ......................................................................................................................... 4

III.1. Définitions .................................................................................................................................. 4

III.2. Représentation des entiers signés ............................................................................................... 4

III.3 Soustraction avec complément à 2 .............................................................................................. 5

III.4. Représentation des nombres réels en base 2 .............................................................................. 6

III.5. Autres codes ............................................................................................................................... 8

Page 3: Module: Systèmes Logiques

1

Ch1 : Systèmes de numération et

codage de l’information

I. Système de numération L’ensemble des outils informatiques sont basés sur les mêmes principes de calcul (loi de

tout ou rien). Les calculs habituels sont effectués dans le système de numération décimal, par

contre le calculateur électronique ne peut pas utiliser ce système car le circuit électronique ne

permet pas de distinguer 10 états. Le système de numération binaire ne comportera que 2 états

0 et 1.

I.1. Système décimal (Base 10)

Alphabet={0,1,2,3,4,5,6,7,8,9}

Exemples:

9817 = 9.103 + 8.10

2 + 1.10

1 + 7.10

0

297,45 = 2.102 + 9.10

1 + 7.10

0 + 4.10

-1 + 5.10

-2

I.2. Système binaire (base 2)

Alphabet = {0,1}

Exemple:

111001(2) = 1.25 + 1.2

4 + 1.2

3 +0.2

2 +0 .2

1+1.2

0=57(10)

I.3. Système octal (Base 8)

Alphabet = {0,1,2,3,4,5,6,7}

Exemple:

476(8) = 4.82+7.8

1+6.8

0 = 256+56+6 = 318(10)

I.4. Système hexadécimal (Base 16)

Alphabet={0,1,2,3,4,5,6,7,8,9, A,B,C,D,E ,F }

Exemple:

4CA2(16) = 4.163+12.16

2+10.16

1+2.16

0 = 16384+3072+160+2 = 19618(10)

I.5. Cas général (Base B)

Alphabet={0,1,2,3,..B-1}

Page 4: Module: Systèmes Logiques

2

Un nombre de n chiffres dans une base B s’écrit sous la forme suivante :

Cn-1… C0(B)= Cn-1.Bn-1

+ Cn-2.Bn-2

+… + C0.B0 (10)

I.6. Conversion de base

Conversion d’une base quelconque vers la base 10

(Voir la sous-section I.5)

Conversion de la base 10 vers la base 2

On doit réaliser des divisions entières du nombre décimal par 2 jusqu’à ce qu’on trouve un

quotient nul. Puis on prend les différents restes dans le sens du bas en haut.

12(10)= 1100(2)

17(10)= ? (2)

Conversion de la base 10 vers la base 8

On doit réaliser des divisions entières du nombre décimal par 8 jusqu’à ce qu’on trouve un

quotient nul. Puis on prend les différents restes dans le sens du bas en haut.

17(10)= 21(8)

24(10)= ?(8)

Autrement : passage par la base 2

34(10)= 100010(2) puis en prend des groupes de trois chiffres du nombre binaire de la

droite vers la gauche (du bit du poids le plus faible vers le bit du poids le plus fort).

Chaque groupe sera convertit directement en Octal.

100 010 = 42(8)

4 2

Conversion de la base 10 vers la base 16

On doit réaliser des divisions entières du nombre décimal par 16 jusqu’à ce qu’on

trouve un quotient nul. Puis on prend les différents restes dans le sens du bas en haut.

18(10)= 12(16)

44(10)= ?(16)

Autrement : passage par la base 2

54(10)= 110110(2) puis en prend des groupes de quatre chiffres de la droite vers la gauche

( du bit du poids le plus faible vers le bit du poids le plus fort). Chaque groupe sera

converti directement en Hexadécimal.

0011 0110 donc 54(10)= 36(16)

3 6

12 2

60 2

30 2

11 201

Page 5: Module: Systèmes Logiques

3

II. Arithmétique binaire

II.1. Addition

L’addition en binaire est aussi simple que l’addition en décimal. La seule différence tient

dans le fait que ce ne sont que des 0 et des 1 qui sont utilisés. On commence par le bit du

poids le plus faible en utilisant la table suivante :

a b a + b Retenue

(Carry)

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

II.2. Soustraction

Dans le cas ou le nombre à soustraire (b) est plus petit que le nombre initial(a), on peut

procéder comme pour la soustraction décimale en se servant de la table suivante.

a b a - b Retenue

(Carry)

0 0 0 0

0 1 1 1

1 0 1 0

1 1 0 0

II.3. Multiplication

Le principe est le même qu’en décimal en respectant les règles suivantes :

a b a * b

0 0 0

0 1 0

1 0 0

1 1 1

1 0 1

5 * 3= 15 en décimal et en binaire on aura x 1 1

+ 1 0 1

1 0 1

1111 n’est autre que 15

II.4. Division

Soit deux nombre binaires A et B. Q représente le quotient de la division de A par B et

R les restes partiels. Le principe général de la division binaire peut se mettre sous la forme

suivante:

1 1 1 1

Page 6: Module: Systèmes Logiques

4

Si R>B Alors Q=1 et R-B

Sinon Q=0 et R 1 1 1 1 1 1

Exemple : 15 /3 = 5

III. Notion de codage

III.1. Définitions

a. Mot

Un mot est une séquence de symboles représentant un message.

Exemple: livre, 164885,

b. Mot binaire

Un mot binaire est une séquence de symboles dans laquelle on ne retrouve que deux

Symboles, généralement 0 et 1, qu'on désigne par chiffres binaires, ou bits.

Exemple: 0110 1001, 1000 1111 1001.

c. Code

Un code est un ensemble de mots auxquels on confère une signification pour

représenter une catégorie de messages: des personnes, des objets, des nombres, des angles,

des coordonnées et autres concepts.

d. Code binaire

Un code est binaire s'il ne contient que des mots binaires

III.2. Représentation des entiers signés

L'introduction d'un signe en binaire n'est pas une chose simple, en effet, la notion de +

ou de – est difficilement compréhensible par un composant électronique. Le fait même

d'inclure un signe à fait l'objet de nombreuses analyses. On définit ainsi 3 méthodes que nous

allons analyser :

a. Signe / valeur absolue :

Cette méthode consiste à ajouter un bit au début du nombre binaire, ce bit étant à 0 si

le nombre est positif et à 1 s'il est négatif. Cette méthode n'est pas exploitable

mathématiquement pour 2 raisons :

- Il y a 2 représentations pour 0 (par exemple pour un nombre de 4 bits avec un

signe en 5ème bit : 10000 et 00000).

- On ne peut pas effectuer les opérations mathématiques classiques directement.

Page 7: Module: Systèmes Logiques

5

Par exemple la représentation d'un nombre sur 4 bits (par exemple 12) se code en

positif 01100 (+12 codé sur 5 bits) et en négatif 11100 (-12 codé sur 5 bits). Or la somme de

+12 et de –12 donne 01000 (toujours sur 5 bits) ou 101000 si l'on code sur 6 bits. Ce résultat

est dans les 2 cas différents de 0.

b. Le complément à 1( complément restreint)

Cette méthode consiste à traiter le signe dans le nombre. Le signe étant le bit de poids

fort. Prenons un exemple, soit un nombre relatif codé sur 5 bits.

Si ce nombre est positif, on a le bit de poids fort à 0. La représentation du nombre +12

sur 5 bits est donc 0 (bit de signe) 1100 (valeur), la représentation de –12 est alors 1 (bit de

signe) 0011 (valeur) c'est à dire l'inverse bit à bit de +12 en remplaçant tous les 0 par des 1 et

tous les 1 par des 0.

-12 +12= 1 0011 + 0 1100 = 1 1111 un résultat négatif pour trouver le résultat correct on

inverse les bits. Soit donc 0 0000.

Toutefois, ici encore, on a 2 représentations pour la valeur 0, on a d'une part

0+=00000 (codé sur 5 bits) et 0-=11111 (toujours codé sur 5 bits). Ceci n'étant pas

convenable, on a développé une autre méthode.

c. Le complément à 2(complément à vrai)

Cette méthode est la seule utilisable mathématiquement, Elle permet une utilisation

des nombres signés avec une représentation unique du zéro et la possibilité d'effectuer des

calculs.

Son principe est simple, la représentation négative d'un nombre est réalisée par la

formule suivante :

III.3 Soustraction avec complément à 2

En complément à 2, pour effectuer une soustraction, on se ramène à une addition.

Alors que pour retrancher à un nombre binaire « a », un nombre binaire « b », on lui ajoute le

complément à 2 de « b » et on ignore la retenue.

Exemple :

8 -5 = 8 + C2 (5) = 1000

+ 1011

= 0011 donc 3 en décimal

C2 (b) = b + 1

Page 8: Module: Systèmes Logiques

6

Pour savoir si le résultat d’une soustraction est négatif ou positif, on utilise un bit de

signe. C’est le bit du poids le plus fort (MSB : Most Signifiant Bit). Si ce bit est à 0 alors le

nombre est positif, sinon s’il est à 1 alors le nombre est négatif.

Dans notre exemple le MSB est à 0 donc le résultat est positif. (3)

5-8= 5+ C2 (8) = 0101

+ 1001

= 1101

Le MSB du résultat est à 1 donc il s’agit d’un résultat négatif. Pour trouver la valeur

exacte on cherche le complément à 2 du résultat.

C2 (1101)= 0011 soit 3 en décimal, donc le résultat final vaut -3.

III.4. Représentation des nombres réels en base 2

1ère

méthode : représentation en virgule fixe

Chaque nombre est séparé en deux parties ; partie entière et partie fractionnaire.

La position virgule est fixe.

Exemple : sur 16 bits, pour représenter les valeurs 15, 312510 on aura (0000 1111,

0101 0000)2

Remarques

Pour des « petites » partie entière ou décimale, on a beaucoup de digits qui sont à « 0 » ne

sont pas utilisés

Cette représentation est adaptée pour l’addition mais pas pour la multiplication

Exemple :

Avec 2 digits après la virgule :

Pour la multiplication :

11, 01 11, 01

+ 0, 10 x 0,10

= 0011,11 = 101,1011

OK

Deux points de vue : erreur arrondi (si suppression 2 derniers digits) ou déplacement

de la virgule « supposée fixe » si on garde 4 digits !

2ème

méthode : représentation en virgule flottante

Depuis 1960, la représentation en virgule flottante, plus souple, s’est imposée

Page 9: Module: Systèmes Logiques

7

- Plus économique en taille mémoire occupée,

- permet de coder plus grande plage de valeurs,

- les nombres s’écrivent comme en notation scientifique :

N = 1,M*BE

M : mantisse, E : exposant, B : base

Définition en binaire de la mantisse normalisée

Elle est toujours de la forme 1.1…..

Une mantisse est dite normalisée si son chiffre le plus à gauche (de poids fort) est un 1 (en

codage binaire).

Exemple : 1.101 est normalisée, 0.001 n’est pas normalisée

Avantage : permet d’omettre le 1er

bit puisqu’il est tout le temps à « 1 » ce qui permet ainsi

d’augmenter la précision (pas possible décimal).

La représentation en virgule flottante a été normalisée (norme IEEE 754) afin que les

programmes aient un comportement identique d'une machine à l'autre. La norme IEEE754

défini la façon de coder en virgule flottante

Un nombre binaire sur 32 bits ou 64 bits (double précision) en définissant 3

composantes :

- Le signe S est représenté par un seul bit : le bit de poids fort (le plus à gauche).

- L’exposant E est codé sur les 8 bits consécutifs au signe en excès de 127 (simple

précision) ou 1023 (double précision).

- La mantisse M (bits situés après la virgule) est représentée sur les 23 (simple

précision) ou 55 (double précision) bits restants.

Dans cette représentation la valeur d’un nombre sur 32 bit est donnée par

l’expression :

N = (-1)s * 1,M * 2

(E-127)

Norme IEEE754

Format binaire à virgule flottante 32 bits Format binaire à virgule flottante 64 bits

signe Exposant Mantisse signe Exposant Mantisse

1bit 8 bits 23 bits 1bit 11 bits 52 bits

Page 10: Module: Systèmes Logiques

8

Exemple :

Soit à coder la valeur 525,5.

525,5 s'écrit en base 2 de la façon suivante: 1000001101,1

On veut l'écrire sous la forme 1.0000011011 x 29. Par conséquent:

- Le bit S vaut 0

- L'exposant vaut 9+127 = 136, soit 10010000

- La mantisse est 0000011011

La représentation du nombre 525.5 en binaire avec la norme IEEE754 est:

0 10010000 000 0011 0110 0000 0000 0000

Remarque : Parmi toutes les combinaisons permises par cette représentation, il existe des

configurations particulières associées au codage de notions mathématiques spéciales telles

(+infini), (-infini), (0+) et (0-). Exemples :

Signe Exposant mantisse Valeur

0 11111111 0 +infini

1 00000000 0 0-

III.5. Autres codes

a. Code ASCII (American Standard Code for Information Interchange)

Chaque touche du clavier est codée sur 8 bits, donc on peut coder 256 caractères.

Exemple: Touche ‘A’ ==> code ASCII « 01000001 »

b. Code BCD (Binary Coded Decimal)

Le code BCD a surtout été utilisé aux débuts des machines à calculer. Il est parfois

encore utilisé dans des systèmes qui doivent souvent afficher de l'information numérique à

l'usager ou pour des systèmes très simples qui manipulent de l'argent. Le code BCD encode le

nombre à représenter de façon très directe. Chaque chiffre du nombre est encodé sur 4 bits.

Les possibilités binaires de 10 à 15 ne sont pas utilisées.

Exemple :

Représenter 863 avec un code BCD

8 6 3

0100 0110 0011

c. Code de Gray (Binaire réfléchi)

Le code de Gray a été établi pour éviter les problèmes de transition lors du

changement d'un mot au mot suivant. Dans l'ordre séquentiel du code, il n'y a qu'un bit qui

Page 11: Module: Systèmes Logiques

9

change entre deux mots consécutifs qui sont, par conséquent, adjacents. De plus, ce code est

cyclique.

Exemple :

Code de Gray à 4 bits

0 0000

1 0001

2 0011

3 0010

4 0110

5 0111

6 0101

7 0100

8 1100

9 1101

10 1111

11 1110

12 1010

13 1011

14 1001

15 1000