Mi05 L1lessons-Str Machine

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 24

Cours Structure Machine LMD informatique/mathmatique 1re anne

Partie I : Reprsentation de linformation

1. Introduction
1.1. Reprsentation de linformation traite par ordinateur
Les informations traites par un ordinateur peuvent tre de diffrents types (texte, nombres,
images, son, vidos, etc.) mais elles sont toujours reprsentes et manipules par l'ordinateur
sous forme numrique (digitale). En fait, toute information sera traite comme une suite de 0
et de 1. L'unit d'information est donc les chiffres binaires (0 et 1) que l'on appelle bit (pour
binary digit : chiffre binaire).
On utilise la reprsentation binaire car elle est simple, facile raliser techniquement l'aide
de bistables (systme deux tats raliss l'aide de transistors).
Le codage d'une information consiste tablir une correspondance entre la reprsentation
externe (habituelle) de l'information (texte, image, etc), et sa reprsentation interne dans la
machine, qui est toujours une suite de bits.

1.2. Quantit de linformation traite


Lunit de base de mesure de la quantit dinformation en informatique est donc le bit tel
qu1 bit peut prendre la valeur 0 ou 1.
Q : Combien dtats peut-on reprsenter avec 3 bits ? avec 4 bits ? et avec n bits en gnral ?
Chaque 8 bits constituent 1 Octet (Byte en anglais) symbolis par (et symbolis par B en
anglais).
Aussi :
210 bits = 1024 bits = 1 Kb (1 Kilo bits) 210 = 1024 = 1 K (1 Kilo )
10
2 Kb = 1024 Kb = 1 Mb (1 Mga bits) 210 K = 1024 K = 1 M (1 Mga )
210 Mb = 1024 Mb = 1 Gb (1 Giga bits) 210 M = 1024 M = 1 G (1 Giga )
10
2 Gb = 1024 Gb = 1 Tb (1 Tra bits) 210 G = 1024 G = 1 T (1 Tra )

Q : Convertir 2G en bits puis en Kb?

Il est donc clair que linformation est traite sous forme binaire dans un ordinateur, que a soit
du texte (association de codes conventionns chaque caractre), des images (association de
codes chaque couleur de pixel de limage), du son (association de codes chaque frquence
de son), etc. Il est donc indispensable de voir de plus prs la manipulation des donnes
binaires ainsi que leur relation avec dautres systmes de numration.

2. Systmes de numration

Au fil du temps plusieurs systmes de numration sont apparus. De la msopotamienne qui


tait positionnelle (la position du chiffre indique son rang, comme dans la numration arabe
quon utilise aujourdhui) lgyptienne et la romaine qui tait additionnelle (le nombre
reprsent est gal la somme des symboles reprsents), celle des chinois qui excellaient
dans les calculs (cration du boulier) et qui est galement positionnelle, etc.
Ex : numration gyptienne

= 345

Dr. S.Bouam 1
Cours Structure Machine LMD informatique/mathmatique 1re anne

2.1. Reprsentation
Un nombre : (XXX)b indique la reprsentation dun nombre XXX dans la base b.
Les bases usuelles quon connait et utilise tous les jours sont la base 10 (systme dcimale)
pour reprsenter les diffrentes grandeurs et les diffrents chiffres et nombre (monnaies, n de
tel, tailles, date, ) et la base 60 (systme sexagsimal) pour reprsenter le temps.
Comment un nombre est reprsent dans une base b ?
1. Si b 10, on utilise simplement les chiffres de 0 b-1
Ex : base 8 (systme octal) : nimporte quel nombre sera la combinaison de chiffres appartenant lensemble
{0,, 7}
2. Si b >10, on utilise simplement les chiffres de 0 9 ensuite des lettres dans lordre
alphabtique.
Ex : base 16 (systme hexadcimal) : nimporte quel nombre sera la combinaison de symboles appartenant
lensemble {0,, 9,A, B, C, D, E, F} tel que : (A=10, .., F=15)

Donc chaque systme de numration utilise un ensemble de symboles (chiffres) pour


reprsenter les diffrents nombres. Le nombre de ces chiffres est toujours gal lordre de la
base elle-mme. Autrement dit : la base du systme de numration est gale au cardinal de
lensemble des symboles utiliss dans cette base.

Ex : en binaire, base du systme binaire = 2 ; ensemble des symboles utiliss : A = {0,1}, Card (A)=2=base du
systme binaire.
en octal, base du systme octal = 8 ; ensemble des symboles utiliss : A ={0,1,2,3,4,5,6,7}, Card (A)=8=base
du systme octal.

Un nombre de n chiffres (symboles) est une suite (ai), 0 i n-1 :


an-1 ..a1a0
tel que : a0 est le terme de poids faible et an-1 est le terme de poids fort.
Ex : Soit le mot binaire de 8 bits : 10011101

1 0 0 1 1 1 0 1
bit de poids fort 7 6 5 4 3 2 1 0 bit de poids faible

Les systmes de numration qui nous intresse dans le domaine informatique sont : le
dcimal, le binaire, loctal et lhexadcimal.

2.2. le systme dcimal


Le systme dcimal est celui dans lequel nous avons le plus l'habitude d'crire. Chaque chiffre
peut avoir 10 valeurs diffrentes : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, de ce fait, le systme dcimal a
pour base 10. La valeur de chaque chiffre dpend de sa position, c'est--dire que cest une
numration positionnelle : la position la plus droite exprime les units, la position suivante :
les dizaines, ensuite les centaines,etc.

Par exemple, si on dcompose le nombre 9745, nous aurons :

9745 = 9 1000 + 7 100 + 4 10 + 5 1


9745 = 9 103 7 102 + 4 101 + 5 100
Nous remarquons que chaque chiffre du nombre est multiplier par une puissance de 10.
Cette puissance reprsente le poids du chiffre.

9 7 4 5
3 2 1 0
poids fort poids faible

Dr. S.Bouam 2
Cours Structure Machine LMD informatique/mathmatique 1re anne

L'exposant de cette puissance est nul pour le chiffre situ le plus droite et s'accrot d'une
unit pour chaque passage un chiffre vers la gauche.

Remarque :
Cette faon d'crire les nombres est appele systme de numration de position. Elle est
valable pour tous les systmes de numration que nous verrons dans ce cours (dcimal,
binaire, octal et hexadcimal).

2.3. le systme octal


Suivant ce que nous avons cit dans la section 2.1, le systme octal utilise un systme de
numration ayant comme base 8 (octal : latin octo=huit) et utilise donc 8 symboles :
de 0..jusqu..7. Ainsi, un nombre exprim en base 8 pourra se prsenter de la manire
suivante par exemple : (745)8

Rappel : Lorsque l'on crit un nombre, il faudra bien prciser la base dans laquelle on l'exprime
pour lever toutes ambiguts (745 existe aussi en base 10 par exemple). Ainsi le nombre sera mis entre
parenthses (745 dans notre exemple) et indic d'un nombre reprsentant sa base (8 est mis en
indice). Par convention, quand on ne prcise pas la base, elle est par dfaut gale 10.

2.4. le systme binaire


Comme nous lavons vu plus haut, dans le systme binaire, chaque chiffre ne peut avoir que
lune des 2 valeurs : 0 ou 1. De ce fait, le systme a pour base 2.
Ex : Reprsentions des nombres de 0 16 en dcimal et leurs quivalents en binaire et octal

Systme dcimal Systme octal Systme binaire


0 0 0
1 1 1
2 2 10
3 3 11
4 4 100
5 5 101
6 6 110
7 7 111
8 10 1000
9 11 1001
10 12 1010
11 13 1011
12 14 1100
13 15 1101
14 16 1110
15 17 1111
16 20 10000

2.5. le systme hexadcimal

Le systme hexadcimal utilise les 16 symboles suivant : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,


E et F. De ce fait, le systme a pour base 16.

Ex : si nous reprenons le tableau prcdent mais en valeurs dcimales et leurs quivalents binaires et
hexadcimales, nous aurons :

Systme dcimal Systme hexadcimal Systme binaire

Dr. S.Bouam 3
Cours Structure Machine LMD informatique/mathmatique 1re anne

0 0 0
1 1 1
2 2 10
3 3 11
4 4 100
5 5 101
6 6 110
7 7 111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
16 10 10000

3. Conversion et changement de base


3.1. Conversion d'un nombre de base b quelconque en nombre dcimal
Tout nombre entier naturel peut se coder comme la somme pondre des puissances de sa
base b, quel que soit cette base :

Soit anan-1a2a1a0 exprim en base b not (anan-1a2a1a0)b. La valeur de ce nombre en


dcimal est gale :
an bn + an-1 bn-1 + + a2 b2 + a1 b1+ a0 b0

Ex : Convertissons les nombres suivants en dcimal : (1011)2 , (16257)8 et (F53)16

(1011)2 = (1 23 + 0 22 + 1 21 + 1 20)10 = (1 8 + 0 4 + 1 2 + 1 1)10 = (11)10

(16257)8 = 1 84 + 6 83 + 2 82 + 5 81 + 7 80 = 1 4096 + 6 512 + 2 64 + 5 8 + 7


= 4096 + 3072+ 128+ 40 + 7
= 7343
(F53)16 =15 x162 + 5 161 + 3 160 =15 x162 + 5 161 + 3 160 = 15 x256+ 5 16 + 3 =3840 + 80 + 3 =
3923

Remarque :
Dans le cas o il y a une partie fractionnaire a1a2an (les nombres fractionnaires sont
ceux qui comportent des chiffres aprs la virgule), sa valeur sera gale en dcimal la
somme suivante : a1 b-1 + a2x b-2 + + an b-n

Ex : Convertissons les nombres fractionnaires suivants en dcimal : (1110.101)2 , (642.21)8 et (A3F.C)16

(1110.101)2 =(123 + 122 + 121 + 020+ 12-1 + 02-2 + 12-3)10 = (8+4+2+0+1/2+1/4+1/8)10 = (14.625)10
(642.21)8=(682 + 481 + 280 + 28-1 + 18-2)10 = (664 + 48 + 21 + 2 0.125 + 1 0.015625)10
= (384 + 32 + 2 + 0.25 + 0.015625)10 = (418.265 625)10
(A3F.C)16=(10162 + 3161 + 15160 + 1216-1)10 = (10256 + 316 + 151 + 12 0.0625)10= (2623.75)10

Dr. S.Bouam 4
Cours Structure Machine LMD informatique/mathmatique 1re anne

3.2. Conversion d'un nombre dcimal en nombre binaire

Pour obtenir l'expression binaire d'un nombre exprim en dcimal, il suffit de diviser
successivement ce nombre par 2 jusqu' ce que le quotient obtenu soit gal 0.
Les restes de ces divisions lus de bas en haut reprsentent le nombre binaire.

Ex : Convertissons le nombre dcimal 44 en binaire :

(44)10 = (101100)2

3.2.1.Conversion partie dcimal -fractionnairebinaire


La partie entire est converti du dcimal en binaire en utilisant la mthode de la division
successive comme on vient de le voir, quand a partie fractionnaire du nombre dcimal, elle
sera converti en partie fractionnaire binaire en utilisant une mthode de multiplication
successives. La partie entire du rsultat de chaque multiplication est considre comme
constituant de la partie fractionnaire binaire et la partie fractionnaire du rsultat de la
multiplication est repris pour tre lui-mme multipli par 2, et ainsi de suite jusqu ce que le
produit obtenu est 1.00, le processus de conversion est alors achev.

Ex : Convertissons les nombres fractionnaires dcimaux 0.375 et 0.84375 en binaire :

0.375 2 = 0.75 0.84375 2 = 1.6875

0.75 2 = 1.50 0.6875 2 = 1.375

0.50 2 = 1.00 0.375 2 = 0.75

0.75 2 = 1.50
(0.375)10=(0.0 1 1)2 0.50 2 = 1.00

(0.84375)10=(0.11011)2

3.3. Relation entre les nombres binaires et les nombres octaux

Dabord, si nous souhaitons obtenir l'expression octale d'un nombre exprim en dcimal, il
suffit de suivre la mthode de la division successive par 8 (comme nous lavons fait pour

Dr. S.Bouam 5
Cours Structure Machine LMD informatique/mathmatique 1re anne

convertir vers la base 2) jusqu ce que le quotient obtenu soit gal 0. Les restes de ces
divisions lus de bas en haut reprsentent le nombre octal.

Ex : Convertissons (47)10 dans le systme octal et le systme binaire. Nous obtenons :

Nous pouvons remarquer qu'aprs 3 divisions en binaire nous avons le mme quotient
qu'aprs une seule en octal. De plus le premier reste en octal obtenu peut tre mis en relation
directe avec les trois premiers restes en binaire :
(111)2 = 1 22 + 1 21 + 1 20 = 1 4 + 1 2 + 1 1 = (7)8
et il en est de mme pour le caractre octal suivant :
(101)2 = 1 22 + 0 21 + 1 20 = 1 4 + 0 2 + 1 1 = (5)8

Cette proprit d'quivalence entre chaque chiffre octal et chaque groupe de 3 chiffres
binaires vient du fait que 8 est une puissance de 2 : 8=23. Elle nous permet de passer
facilement d'un systme base 8 un systme base 2 et vice versa.

Exemple de conversion binaire octal et octal binaire :

3.4. Relation entre les nombres binaires et les nombres hexadcimaux

Si nous avons besoin dobtenir l'expression hexadcimal d'un nombre exprim en dcimal, il
faut toujours suivre la mthode de la division successive, cette fois-ci par 16 (comme nous
lavons fait pour convertir vers les bases 2 et 8) jusqu ce que le quotient obtenu soit gal 0.
Les restes de ces divisions lus de bas en haut reprsentent le nombre hexadcimal (tout en
prenant compte que les restes de 10 15 sont cods : de A F).

Dr. S.Bouam 6
Cours Structure Machine LMD informatique/mathmatique 1re anne

La proprit d'quivalence que nous venons de voir, dans 3.3, entre le binaire et l'octal existe
entre l'hexadcimal et le binaire du moment que 16 est aussi une puissance de 2 : 16=24. Donc
la rgle est la mme mais nous travaillerons par groupe de 4 chiffres binaires maintenant au
lieu de 3.

Pas sage de l a base 10 vers une base quelconque

Remarques :
1 : Pour la conversion de tout nombre entier de la base 10 vers une base quelconque, on
procde toujours par divisions successives. On divise le nombre convertir par la base dans
laquelle nous voulons le convertir, puis le quotient obtenu par la base, et ainsi de suite
jusqu'a obtention d'un quotient nul. La suite des restes obtenus correspond aux chiffres dans
la base vise.
2 : Pour la conversion de la partie fractionnaire dcimal vers son quivalent octal (ou
hexadcimal), on procde toujours par multiplications successives comme on a fait pour la
conversion dcimal-fractionnaire vers le binaire dans la section 3.2.1. On multiplie la partie
fractionnaire par 8 (ou 16), la partie entire du rsultat entre dans la constitution de la partie
fractionnaire octale (hexadcimal) ensuite, la partie fractionnaire du rsultat de la
multiplication est lui-mme multipli nouveau par 8 (par 16) et ainsi de suite jusqu
obtention dun rsultat gal 0.00.

Ex : Convertissons le nombre dcimal 418.265 625 en octal :

418 8 = 52 reste 2 0. 265 625 8 = 2.125


52 8 = 6 reste 4 0.125 8 = 1.00
68=0 reste 6 0.00 8 = 0.00
Donc :
(418.265 625)10=(642.21)8

(De la mme faon, on procde pour la conversion fractionnaire dcimale vers son quivalent hexadcimal)

Dr. S.Bouam 7
Cours Structure Machine LMD informatique/mathmatique 1re anne

4. Les oprations de base en binaire


4.1. Addition et multiplication binaire
Le principe du calcul numrique est le mme dans les systmes de numration de position.
Donc nous raisonnerons de la mme faon que pour raliser des oprations dans le systme
dcimal o on a lhabitude deffectuer nos oprations arithmtique quotidiennement.
Addition binaire
Rvisons dabord la familire addition dcimale. Laddition de 2 nombres dcimaux
seffectue selon un algorithme 3 tapes :
Etape 1 : ajouter les chiffres les plus droite (premire colonne)
Etape 2 : noter le chiffre dunit de cette somme la mme colonne toujours et si cette
somme dpasse 9, on reporte la colonne suivante la retenue (chiffre de deuxime position de
la somme obtenue)
Etape 3 : sil y a dautres colonnes, rpter les 2 tapes prcdentes sans oublier de rajouter la
retenue jusqu ce quil ny ait plus de colonnes.

En binaire, lalgorithme est le mme sauf que la retenue sera en cas o la somme dpasse 2
(et non pas 9), tel que :
0+0=0 0+1=1 1+0=1 1 + 1 = 0 avec retenue de 1 1 + 1+ 1 = 1 avec retenue de 1

Ex : valuons la somme binaire : 111+101

11
111
+ 101
1100
Multiplication binaire
Se rsume comme en dcimal en multiplication de nombres par des chiffres suivi dadditions
dcale. En fait, en binaire cest encore plus simple du moment que la multiplication par 0 ou
1 donne 0 ou le nombre lui-mme (pas de tableaux de multiplication apprendre comme en
dcimal !)

Ex : valuons le produit binaire : 1101011 10110

a revient faire ceci si on 1101011


procde laddition des termes
1101011 un un et liminons les lignes 10110
10110 0 sans oublier de prendre le 11010110
dcalage en considration : + 1101011
0000000 1010000010
1101011 +1101011
1101011 100100110010
0000000
1101011 Donc : 1101011 10110 = 100100110010

Remarque :
pour les multiplications des nombres fractionnaires, la rgle est la mme quen dcimal.

Dr. S.Bouam 8
Cours Structure Machine LMD informatique/mathmatique 1re anne

Ex : valuons le produit binaire : 11.01 101.1

11.01
101.1
1101
1101
100111
1101
10001.111

4.2. Soustraction binaire


La soustraction seffectue suivant le principe de retenue comme en dcimal

0-0=0 1-1=0 1- 0=1 0 - 1 = 1 avec retenue sur la colonne suivante

Ex : valuons les soustractions suivantes :

0 011 00 0 1 00
11101 11000 1101.00110
- 1011 - 10011 - 110.11011
10010 101 110.01011

Remarque :
1 : Dans le cas de fractions, il faut dabord aligner verticalement les virgules avant de
commencer lopration de soustraction.
2 : Quand dans une colonne, apparait la diffrence 0-1, nous opron une retenue sur la 1re
colonne non nulle et tous les 0 juste avant deviennent des 1.
4.3. Division binaire
Il sagit de multiplications et de soustractions successives comme en dcimal. En cas de
nombres fractionnaires, on dplace dabord la virgule, ensuite on effectue lopration de
division
Ex : effectuons les divisions : 1010001 11 et 111.00001 1.01, nous avons :

1010001 11 11100.001 101


100 11011 100 101.101
10 1000
100 110
11 10
0 101

Remarque :
Nous avons tudi ces oprations du ct purement arithmtiques, mais du point de vue
structure machine il peut y avoir quelques problmes qui peuvent tre dtects pour ne pas
fournir un rsultat faux. Par exemple, si on travaille sur 6 bits, laddition suivante : 111001 +
010010 fournit un rsultat sur 7 bit :1001011, donc le 1 le plus gauche sera perdu ! on
parle alors de dpassement de capacit (overflow). Il faut donc quil y ait un indicateur de
dpassement et lerreur doit tre signale.

Dr. S.Bouam 9
Cours Structure Machine LMD informatique/mathmatique 1re anne

5. Les entiers ngatifs


Les entiers ngatifs peuvent tre cods selon 3 mthodes : signe et valeur absolue,
complment 1 (complment logique) et complment 2 (ou arithmtique).

5.1. Signe et valeur absolue


Les entiers sont cods de la faon suivante : valeur absolue. On sacrifie un bit pour
reprsenter le signe. On reprsentera le signe + par un 0 et le signe par un 1. On peut ainsi
avec un mot de k bits, coder les entiers positifs ou ngatifs N, tel que N est dans lintervalle :
-(2k-1 -1) N + (2k-1 -1)
Linconvnient de cette mthode est que le 0 a deux reprsentation distinctes : 000..0 et 10..0,
soit +0 et -0. Aussi, les oprations arithmtiques sont compliques cause du bit de signe qui
doit tre trait part.
5.2. Les complments 1 et 2
On calcule le complment logique (complment 1) en remplaant pour les valeurs ngatives,
chaque bit 0 par 1 et vice-versa dans la valeur absolue. Le complment 2 (arithmtique)
est obtenu par addition du (complment 1) +1.
En complment 1 aussi et pour k bits, on a lintervalle suivant : -(2k-1 -1) N + (2k-1 -1),
mais en complment 2 lintervalle est : -2k-1 N + (2k-1 -1) (cd : on a une valeur de plus
car elle vite la double reprsentation du zro)
Ex : reprsentation de (-6) sur 4 bits :
En signe et valeur absolue : 1110
En complment 1 : 1001
En complment 2 : 1001 + 1 = 1010

Q : quelle est lintervalle des nombres signs quon peut reprsenter sur 4 bits pour les 3 mthodes ?

On remarque que le bit le plus gauche (bit de signe), dans les trois mthodes, est toujours
1 si le nombre est ngatif et est 0 si le nombre est positif.
En complment 1 et 2, les oprations arithmtiques sont avantageuses car la soustraction
dun nombre se rduit laddition de son complment. On nutilisera que des circuits
ralisant laddition et il ny a pas de traitement particulier pour le bit de signe.

Dans une addition en complment 1, une retenue gnre par le bit de signe doit tre ajoute
au rsultat obtenu. Par contre, en complment 2, on ignore tout simplement cette retenue.
Ex : soustraction de nombres sur 4 bits :

Dcimal signe+val.abs compl 1 compl 2


+7 0111 0111 0111
-6 + 1110 + 1001 + 1010

+1 ?101 10000 10001


1 0001
0001

Remarque :
En complment 2, un dpassement de capacit ne se produit que si les retenues gnres
juste avant le bit de signe et par le bit de signe lui-mme sont diffrentes.
Ex : addition en complment 2 sur 3 bits :

(-4) 100
+ (-1) 111

-5 1011 -5 , donc le rsultat est faux !

Dr. S.Bouam 10
Cours Structure Machine LMD informatique/mathmatique 1re anne

6. Les nombres fractionnaires


6.1. Reprsentation en virgule flottante
Nous savons qu'il est ncessaire de stocker des donnes dans les machines. Ainsi le nombre
9,750 se trouvera mmoris sous la forme suivante : 1001,11. Toutefois cette expression
binaire ne suffit pas dfinir totalement notre donne car il n'y a aucune indication sur la
valeur du poids binaire affect aux diffrents bits, d'o la notion de virgule.
En utilisant cette notion de virgule, notre nombre peut s'crire de la manire suivante :
N = 1001,11 x 20
N = 100,111 x 21
N = 10,0111 x 22
N = 1,00111 x 23
N = 0,100111 x 24
Cette dernire expression prsente l'avantage de reprsenter la grandeur par un nombre
infrieur 1 multipli par une puissance de 2. L'exposant 4 (100 en binaire) est bien entendu
reprsentatif de la position de la virgule. Donc pour dfinir totalement notre information
(9,750) il faudra dans ce systme de reprsentation deux termes : le terme 100111 appel
Mantisse et le terme 100 appel Exposant.

Donc, la reprsentation en virgule flottante consiste reprsenter les nombres N sous la forme
suivante : N=M BE avec : B : base (dans notre cas, on tudie B=2)
M : Mantisse
E : exposant
Lexposant est un entier, la mantisse un nombre purement fractionnaire (nayant pas de
chiffres significatifs gauche de la virgule). Celle-ci est normalise, c'est--dire quelle
comporte le maximum de chiffres significatifs : le premier bit droite de la virgule et 1 (ex :
0.101110). A lexception de la valeur 0 (qui est en gnral reprsente par le mot 000), on a
donc toujours :
0.12 |M| < 12 soit 0.5 |M| < 110
Exposant et mantisse doivent pouvoir reprsenter des nombres positifs ou ngatifs, donc
pourraient tre cods sous la forme signe+val.abs, complment 1 ou complment 2.
Souvent, la mantisse est de la forme signe+val.abs et lexposant est sans signe, mais biais
(ou dcal).
Ex :
SM E M

O SM est le signe de la mantisse, E lexposant biais et M la mantisse.


Avec 4 bits, par exemple, on peut reprsenter 24= 16 valeurs de E, qui vont de 0 15. On peut
faire correspondre les 8 premires valeurs (de 0 7) un exposant <0 et les 8 suivants (de 8
15) un exposant 0. Un exposant nul est ainsi reprsent par la valeur 8, un exposant gal
+1 par la valeur 9, un exposant gal -1 par la valeur 7. On dit que le biais est gal 8. Cest
la valeur quil faut soustraire lexposant biais (de 0 15) pour obtenir lexposant effectif
(de -8 +7).

Dr. S.Bouam 11
Cours Structure Machine LMD informatique/mathmatique 1re anne

Ex : Reprsentation dentiers signs sur 3 bits (exposant cod sur 3 bits 8 valeurs possibles entre 0 et 7)
Dcimal signe et val.abs C2 reprsentations biaises
+3 011 011 111
+2 010 010 110
+1 001 001 101
0 000/100 000 100
-1 101 111 011
-2 110 110 010
-3 111 101 001
-4 ----- 100 000

On peut remarquer que la reprsentation biaise est identique au complment 2,


lexception du bit de signe, qui est invers (reprsentation biaise : bit de signe 1 valeur
0, bit 0 valeur <0).
Lexposant dtermine lintervalle des nombres reprsentables et la taille de la mantisse
dtermine la prcision de ces nombres.

6.1.1. Les oprations arithmtiques en virgule flottante


Pour la multiplication, il suffit dadditionner les exposants, de multiplier les mantisses et de
renormaliser le rsultat si ncessaire.
Ex : (0.2 10-3) (0.3 107) = ?
-addition des exposants : -3 + 7 = 4
- multiplication des mantisses : 0.2 0.3 = 0.06
- rsultat avant normalisation : 0.06 104
- rsultat normalis : 0.6 103

Pour la division, il suffit de soustraire les exposants et diviser les mantisses et de renormaliser
le rsultat si ncessaire.

Pour laddition, il faut que les exposants aient la mme valeur ; on est donc oblig de
dnormaliser la plus petite valeur pour amener son exposant la mme valeur que celui du
plus grand nombre. Aprs avoir additionn les mantisses, une normalisation peut tre
ncessaire.
Ex : (0.300 104) + (0.998 106) = ?
-dnormalisation : 0.300 104 0.003 106
- addition des mantisses : 0.003 + 0.998 = 1.001
- normalisation du rsultat : 1.001 106 0.1001 107

La soustraction seffectue de la mme faon que laddition, sauf que lon doit effectuer la
soustraction et non plus laddition des mantisses.

6.2. Reprsentation en virgule fixe


La reprsentation de nombre en virgule flottante n'est pas la seule imaginable. Il existe la
reprsentation de nombres en virgule fixe. La diffrence de base avec la reprsentation en
virgule flottante est, comme son nom lindique, le nombre de chiffres aprs la virgule (le plus
droite) est toujours le mme, donc la prcision des nombres fractionnaires reprsents par
virgule fixe est toujours la mme.

Ex :
Soit (25,75)10 = (11001,110)2

Dans cette configuration par exemple, la position de la virgule est fixe (entre le 3me et le 4me

Dr. S.Bouam 12
Cours Structure Machine LMD informatique/mathmatique 1re anne

bit), mais comme la virgule nest pas rellement visualise ou reprsente, la base la case la
plus droite reprsente le poids 20 : ce qui est videmment faux dans notre cas. Cette
reprsentation suppose la multiplication implicite de ce nombre par 2-3 pour obtenir la valeur
exacte. Le terme -3 est reprsentatif du positionnement fixe de la virgule. Il devra
imprativement tre mmoris dans la machine.

7. Les diffrents codages


Le code BCD : Abrviation de Binary Coded Decimal en anglais et DCB (Dcimal Cod
Binaire). Ce code cherche concilier les avantages du systme dcimal et du code binaire. Il
est surtout utilis pour l'affichage de donnes dcimales (calculatrices par exemple).
A chaque chiffre du systme dcimal, on fait correspondre un mot binaire (de quatre bits en
gnral).
Pour coder un nombre dcimal en BCD, on va coder sparment chaque chiffre du nombre de
base dix en Binaire.
Ex : (BCD sur 4 bits) : 1985 = 0001 1001 1000 0101(BCD)

Remarque :
. Le nombre cod en BCD ne correspond pas au nombre dcimal converti en binaire naturel.
. Le codage dcimal BCD est simple, mais il nest pas possible de faire des oprations
mathmatiques directement dessus.
. Il existe plusieurs types de codes DCB, mais le plus connu est celui prsent dans cette
section.

Le code EBCDIC (Extended Binary Coded Decimal Interchange) : ce code est utilis
principalement par IBM. Il est reprsent sur 8 bits et est utilis dans le codage de caractre,
c'est--dire, pour chaque caractre est associ son code EBCDIC.
Ex : code du caractre A (en majuscule) en EBCDIC = 11000001
code du caractre 0 en EBCDIC = 11110000

Le code ASCII : Ce code propose des extensions diffrentes selon le " code de page ". Le
code de page 850 est un jeu de caractres " multilingue " alors que le code de page 864 dfinit
le jeu de caractres arabes, le code de page 437 dfinit le jeu de caractres franais...etc

La table des codes ASCII

Remarque : La table des codes ASCII ci-dessus, affiche les caractres imprimables et non les
codes de contrle. En effet les caractres dont les codes sont 10, 13 et 27 en dcimal,
reprsentent respectivement Line Feed (Aller la ligne), Carriage Return (Retour Chariot) et
Scape (Escape), le tableau ci-dessous en donne quelques exemples.

Dr. S.Bouam 13
Cours Structure Machine LMD informatique/mathmatique 1re anne

Partie II : Algbre de Boole


1. Introduction
C'est une algbre binaire mise en uvre par le mathmaticien anglais George BOOLE (1815-
1864) pour tudier la logique. Les variables, dites boolennes, ne peuvent prendre que deux
valeurs : VRAI ou FAUX ou bien encore 1 ou 0. On peut alors dfinir des oprateurs sur ces
variables et consigner le rsultat dans une TABLE DE VERITE. Ces oprateurs peuvent tre
raliss par des circuits lectroniques : ils sont alors appels PORTES LOGIQUES.

2. Dfinition et proprits de lalgbre de Boole


Soit B un ensemble sur lequel sont dfinies deux oprations binaires + et , et une opration
unitaire, note ' ; soient 0 et 1 deux lments distincts de B. Dans ces conditions, le sextuplet :
(B,+,, ', 0, 1) est une algbre de Boole si les postulats suivants, relatifs des lments
quelconques a, b et c de B sont satisfaits :

Commutativit a+b=b+a a b = b a
Distributivit a+ (b c) = (a + b) (a + c) a (b + c) = (a b) + (a c)
Identit a+ 0 = a a 1 = a
Complmentarit a + a = 1 a a = 0

0 est dit llment nul, 1 est llment unit et a (ou a ) est le complment de a. Les oprations
+ et sont appeles respectivement : somme et produit. Souvent le nous crivons le symbole
sous la forme . (un simple point) ou bien nous lignorons tout simplement. C'est--dire : a
(b + c) = a . (b + c) = a (b + c)
2.1. Priorit des oprateurs
La premire priorit est aux parenthses, ensuite la priorit est la ngation (ou ) ensuite
loprateur et enfin loprateur +.
Ex :
a + b c signifie a + (b c) et non pas (a + b) c
a b signifie a (b) et non pas (a b)

Remarque :
Attention ! Bien que leur nom et leur symbole se ressemblent, ne confondons pas la somme et
le produit logiques avec la somme et le produit arithmtiques, tels que nous les
connaissons. Les premiers s'exercent sur des valeurs logiques, les seconds sur des nombres.

Convention :
Puisque notre utilisation de lalgbre de Boole sera exclusivement pour raliser des circuits
logiques partir de portes logiques, nous appellerons ds maintenant loprateur par ET
logique (AND) et loprateur + par OU logique(OR). Quand au complment de a : a , il
reprsente la ngation logique de a, c'est--dire NON a (NOT a).

Ex :
Soit B lensemble {0,1} sur lequel sont dfinies les oprateurs + et . Supposons que les complments soient
dfinis par 1 = 0 et 0 = 1, alors B est une algbre de Boole.

Dr. S.Bouam 14
Cours Structure Machine LMD informatique/mathmatique 1re anne

+ 1 0 1 0
1 1 1 1 1 0
0 1 0 0 0 0

2.2. Principe de Dualit

Le dual dun nonc quelconque dune algbre de Boole B est lnonc obtenu par inversion
des oprateurs + et ainsi que des lments 0 et 1 dans lexpression originale. Le dual dune
expression vrifie vraie est galement vrai. C'est--dire que si lexpression dorigine est
vraie, son dual est vrai galement.

Ex :
Le dual de lexpression boolenne (1 + a) (b + 0) = b est (0 a) + (b 1) = b

2.3. Thormes fondamentaux


Soient a, b et c des lments dune algbre de Boole :

1. Loi didempotence : a+a=a aa=a


a+1=1 a0=0
2. Loi dabsorption : a + (ab) = a a (a+b) = a
3. Loi dassociativit : (a + b) + c = a + (b + c) (a b) c = a (b c)
4. Unicit du complment : si a + x =1 et a x = 0 x = a
C..d : a + a =1 et a a = 0

5. Loi dinvolution : a = a
0 = 1 et 1 = 0
6. Loi de Morgan : (a b) a b (a b) a b
Gnralisation de la loi de Morgan :

(a b c ) a b c (a b c ) a b c

Remarques (Diagramme de Venn):

Il existe un moyen trs visuel de traduire ces concepts un peu abstraits: il consiste
considrer les classes de Boole comme des ensembles. Ds lors, les oprations fondamentales
de Boole prennent la forme doprateurs sur les ensembles et on peut alors utiliser des
diagrammes de Venn pour les reprsenter:
La somme logique de deux classes (A + B) se traduit par l'union (A B) entre les deux
ensembles correspondants
Le produit logique (A . B) par l'intersection (AB),
Le complment A de A par le complment dun ensemble A.

Dr. S.Bouam 15
Cours Structure Machine LMD informatique/mathmatique 1re anne

A B A B
A

(A B) A+B (AB) A.B


C(A) A

Ex : Simplifions les expressions suivantes autant que possible en utilisant les diffrentes lois vues au cours :
E1= a (ab) et E2= (a b) (a b)

E1= a (ab) = (a a).(a b) 1. (a b) a b


E2= (a b) (a b) =
a.(a b) b.(a b) aa ab bb a ab ab a a(b b) a a.1 a a a

2.4. Fonction Boolenne


F(A, B, C) ABC ACB ABC
Cest une fonction qui relie N variables logiques avec un ensemble doprateurs logiques.
Sachant quune variable logique (boolenne) est une variable qui peut prendre soit la valeur 0
ou 1. La valeur dune fonction logique est gale 1 ou 0 galement, selon les valeurs des
variables logiques. Si une fonction logique possde N variables logiques, a implique quil
peut y avoir 2n combinaisons de ses variables, donc cette mme fonction peut avoir 2n valeurs.
Les 2n combinaisons sont reprsentes dans une table appele table de vrit (T.V).
Ex :
Soit la fonction logique F (A,B,C)= ABC ABC ABC ABC

A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

2.4.1. Forme canonique dune fonction logique


On appel forme canonique dune fonction la forme ou chaque terme de la fonction comportent
toutes les variables.
Ex :
La fonction F(A, B, C) ABC ACB ABC est sous forme canonique.

2.4.1.1. Premire forme canonique (forme disjonctive)


Cest la forme exprime en somme de produits (ou somme des mintermes). On dit aussi que
cest une disjonction de conjonctions. Cette forme est la forme la plus utilise.

Dr. S.Bouam 16
Cours Structure Machine LMD informatique/mathmatique 1re anne

Ex :
La fonction suivante est sous la premire forme canonique :

F ( A, B, C) A . B . C A . B . C A . B . C A . B . C
2.4.1.2. Deuxime forme canonique (forme conjonctive)
Cest la forme exprime en produit de sommes (ou produit de maxtermes). On dit aussi que
cest une conjonction de disjonctions. Les deux formes (1re et 2me) canoniques sont
quivalentes.
Ex :
La fonction suivante est sous la deuxime forme canonique :

F(A, B, C) ( A B C) (A B C)(A B C) (A B C)

2.4.2. Extraction de la fonction logique partir de la T.V


Une fonction peut tre exprime sous sa premire forme canonique ou sous sa deuxime
forme canonique partir de sa propre table de vrit. La meilleure faon dillustrer a, sera
par un exemple :
A B C F

0 0 0 0 ABC
maxterme
0 0 1 0 ABC
0 1 0 0 ABC
0 1 1 1 A .B.C minterme

1 0 0 0 ABC
1 0 1 1 A .B.C
1 1 0 1 A .B.C
1 1 1 1 A .B.C

On peut exprimer la fonction F sous forme de produits de maxtermes (2me FC) partir des
lignes contenant 0 :
F(A, B, C) ( A B C) (A B C)(A B C) (A B C)
ou sous forme de sommes de mintermes (1re FC) partir des lignes contenant 1 dans la table
de vrit de F.
F ( A, B, C) A . B . C A . B . C A . B . C A . B . C

Remarque : Comment Retrouver une forme canonique partir d'une quation simplifie ?

On peut toujours ramener nimporte quelle fonction logique lune des formes canoniques.
Cela revient rajouter les variables manquants dans les termes qui ne contiennent pas toutes
les variables (les termes non canoniques). Cela est possible en utilisant les rgles de lalgbre
de Boole :
- Multiplier un terme avec une expression qui vaut 1

Dr. S.Bouam 17
Cours Structure Machine LMD informatique/mathmatique 1re anne

- Additionner un terme avec une expression qui vaut 0


- Par la suite faire la distribution
C'est--dire : il suffit de complter la ou les variables manquantes dans chaque terme sans
modifier l'tat de la fonction. Par exemple, pour la fonction logique, H1, de trois variables
(a, b, c) et dont l'quation logique "simplifie" est :

la premire forme canonique peut tre obtenue de la manire suivante :

On remarque que le terme ajout ne modifie pas la fonction, car ce terme vaut 1

Exemples :
1. F(A, B) A B
A (B B) B( A A)
AB A B AB AB
AB A B AB
2. F(A, B, C) AB C
AB(C C) C( A A)
ABC AB C AC AC
ABC AB C AC(B B) AC (B B)
ABC AB C ABC A BC ABC A BC
ABC AB C A BC A B C A B C
2.4.3. Complment dune fonction
On obtient le complment dune fonction (ngation dune fonction) par application de la loi
de Morgan si elle est sous lune de ses formes canoniques ou par inversion de sa table de
vrit. En gnral, on dduit le complment dune fonction sous lune des deux formes
canoniques en remplaant les OU par des ET, les ET par des OU et chaque terme par son
complment.
Ex1 :

Ex2 :
Calculez le complment de la fonction prsente dans 2.4.2

2.5. Portes logiques


Ces portes lectroniques sont construites partir de plusieurs transistors relis entre eux.
Les circuits combinatoires les plus simples sont appels portes logiques. Ils sont la base de la
logique mathmatique qui effectue les oprations l'intrieur du processeur, et plus
particulirement l'intrieur de l'UAL. C'est donc la base de tous les calculs internes du
processeur. Nous allons dcrire le fonctionnement des portes logiques les plus simples. Les
portes logiques sont l'origine de tous les calculs effectus dans le transistor. Leur

Dr. S.Bouam 18
Cours Structure Machine LMD informatique/mathmatique 1re anne

fonctionnement tant bas sur le passage ventuel du courant, elles ne peuvent que traiter des
informations en langage binaire. Enfin l'association de portes logiques permet de traiter une
instruction du microprocesseur (oprations simples par exemple).

NOT A A AND B A OR B

2.5.1. Autres oprateurs logiques


2.5.1.1. OU exclusif (XOR)
Loprateur XOR donne 1 si les deux variables sont de valeurs diffrentes, sinon donne 0. Sa
table de vrit est donc la suivante :
A B AB
0 0 0
0 1 1
1 0 1 AB
1 1 0
Proprits du XOR
A B = AB A B A B AB AB
A0=A A A 0
A1=A A A 1
AB=BA ( A B) C A ( B C )
A B = AB AB ( A B )( A B ) ( A B) AB

2.5.1.2.NON ET (NAND)
Cest le complment de la fonction ET (AND)

A B A B= A B
0 0 1
0 1 1 A NAND B
1 0 1
1 1 0

2.5.1.3.NON OU (NOR)
Cest le complment de la fonction OU (OR)

A B A B= A B
0 0 1
0 1 0
1 0 0 A NOR B
1 1 0

Dr. S.Bouam 19
Cours Structure Machine LMD informatique/mathmatique 1re anne

Proprits des oprateurs NAND et NOR

A NAND 0 = 1 A NOR 0 = A
A NAND 1 = A A NOR 1 = 0
A NAND B = B NAND A A NOR B = B NAND A

Remarque :
Les oprateurs NOR et NAND ne sont pas associatifs

2.5.2 Schma dun circuit logique (Logigramme)


Cest un circuit qui combine les diffrentes portes logiques ncessaires de faon reprsenter
une fonction logique.

Exemple :

Le circuit logique reprsentant la fonction F (A B ) . ( B C D ) .A

est le suivant :

2.6. Simplification des fonctions logiques


2.6.1. Simplification algbrique

Lobjectif de ltude des fonctions Boolennes est principalement de matrialiser ces


dernires dans le but de raliser lautomatisme (ct lectronique) aprs lavoir reprsent
sous forme dun logigramme (portes logiques). On peut se baser sur les diffrentes lois
existantes, sur la mise en facteur successive, etc. pour simplifier algbriquement une
fonction logique, mais il nest pas toujours envisageable de passer par ces mthodes pour la
simplification, car a peut tre fastidieux et le rsultat peut ne pas tre optimal.

Exemples :

Dr. S.Bouam 20
Cours Structure Machine LMD informatique/mathmatique 1re anne

Ce que nous constatons daprs ces exemples, cest que la simplification est une tape
fondamentale avant de passer la ralisation des circuits, car elle permet de raliser des
conomies en cot, en temps et en espace quoccuperont les circuits intgrs.
Le souci avec la simplification algbrique cest quelle est expose lerreur et quelle ne
nous fournira pas forcment la forme la plus simple de la fonction concerne, cest pourquoi
la mthode graphique des tableaux de Karnaugh est plus approprie car elle ne prsente pas
les inconvnients de la simplification algbrique. Les tableaux de Karnaugh permettent de
traiter des fonctions logiques 2, 3, 4, voire 5 variables.

2.6.2. Simplification graphique

2.6.2.1. Mthode de Karnaugh

Cette mthode graphique permet la simplification de fonctions logique, en se basant sur la


T.V de cette dernire. On pourra donc dmarrer de la table de vrit elle-mme ou de lune
des formes canoniques de la fonction simplifier. Comme dans la mthode de Karnaugh, ce
qui nous intresse sont les 1 de la TV de la fonction, il est vident que cest la 1 re FC qui
nous facilitera la tche, car elle nous indique directement o placer les 1 de cette fonction. Si
par contre, on na pas une forme canonique de la fonction simplifier, il faut la transformer
dabord algbriquement sous forme canonique.

Dr. S.Bouam 21
Cours Structure Machine LMD informatique/mathmatique 1re anne

2.6.2.2. Construction de la table de Karnaugh

Il sagit dun tableau double entres de 2n cases, tel que n est le nombre de variables dans la
fonction simplifier. Chaque case va correspondre une ligne de la TV de la fonction. Les
lignes et les colonnes du tableau sont numrotes de telle faon quen passant dune case
une autre, une seule variable change de valeur (ex : dans la table de 3 variables : Les variables
AB sont notes horizontalement dans lordre: 00 01 11 et enfin 10 et non pas : 00 01 10 11
pour que cette rgle soit respecte).

A 0 1 AB 00 01 11 10 AB 00 01 11 10
B C CD
0 0 00
1 1 01
11
10

Remarque : Les tables de Karnaugh sont pratiques pour simplifier


des fonctions logiques 2, 3, 4, 5 ou 6 variables (au-del de 6 variables, elle nest plus pratique).
Pour le cas de 5 variables par ex, il sagit de dresser une table des 4 variables A B C et D
supposant que la cinquime variable E=0 ensuite dresser une deuxime table des 4 variables A B C
et D pour le cas E=1.

2.6.2.3. Remplir la table de Karnaugh


Il sagit de placer les 1 de la fonction logique simplifier dans la table de vrit, ceci se
fait partir de la TV de la fonction simplifier ou partir de sa premire forme canonique
(les mintermes). a peut se faire aussi partir de sa 2me FC puisque cette dernire donne les
0 donc les cases vides sont des cases 1 . Donc, ce qui nous intresse dans cette
mthode ce sont les cases 1 qui vont tre tudies visuellement pour tre groupes
suivant des rgles bien prcises.

Ex : F(A,B)=A B +A B+ A B

A 0 1
B
0 1
1 1 1

2.6.2.4. Mthode de travail


Il sagit de constituer des groupes de 1 dans la table, tel que chaque groupe constituera un
terme de la fonction simplifie. Donc, il est dj vident quon aura former le minimum de
groupes possibles. Dans chaque groupe il faut regrouper le maximum de 1 adjacents
possibles, tel que deux cases sont adjacentes si en passant de lune lautre, une et une seule
variable change. Cependant quelques rgles, part ces deux-l, sont indispensables :

La 1re et la dernire ligne dune table de Karnaugh sont considres adjacentes.


La 1re et la dernire colonne dune table de Karnaugh sont considres adjacentes.

Dr. S.Bouam 22
Cours Structure Machine LMD informatique/mathmatique 1re anne

Les 4 coins dune table de Karnaugh sont considres adjacents aussi.

AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10
CD CD CD
00 00 00
01 01 01 x
11 11 11 x
10 10 10

Les cases notes x ne sont pas adjacentes (adjacences en diagonal pas valide car ne
respecte pas la rgle dadjacence prcite.
Il faut former que le nombre de 1 dans chaque groupe soit une puissance de 2 (2,
4, 8, ).
Les groupes de 1 peuvent se recouvrir (intersections possibles, mais sans
redondances)
Ne former un nouveau groupe que sil permet de regrouper un ou des 1 qui nont
pas encore t groups.
Sil reste la fin un 1 isol, il formera un groupe lui seul.

2.6.2.5. Extraction de la fonction simplifie


De chaque groupe, liminer la ou les variables qui apparaissent avec leurs
complments (car A+A=1). Cd. On limine de chaque groupe les variables qui
changent de valeurs et on garde celles qui gardent la mme valeur dans le mme
groupe.
Chaque groupe donne naissance un terme sous forme de produit de variables (qui
gardent la mme valeur au sein de leur groupe).
Additionner logiquement les groupes ainsi obtenus pour obtenir la fin la fonction
simplifie.

Dr. S.Bouam 23
Cours Structure Machine LMD informatique/mathmatique 1re anne

Bibliographie :
Techniques numriques, cours et problmes, Srie Schaum, Roger.Tokheim
Mathmatiques pour Informaticiens, cours et problmes, Srie Seymour Lipschutz
Architecture et Technologie des ordinateurs, dition Dunod, P.Zanella, Y.Ligier

Dr. S.Bouam 24

Vous aimerez peut-être aussi