Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de...

110
Architecture des ordinateurs & Algorithmique Partie I : Architecture des ordinateurs Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK 1 ère Année Cycle Préparatoire Intégré / Semestre 1 ENSA Khouribga Pr. DARGHAM Abdelmajid Année universitaire : 2018/2019 Chapitre 2 : Codage des informations

Transcript of Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de...

Page 1: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

Architecture des ordinateurs & Algorithmique

Partie I : Architecture des ordinateurs

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

1ère Année Cycle Préparatoire Intégré / Semestre 1

ENSA Khouribga

Pr. DARGHAM Abdelmajid

Année universitaire : 2018/2019

Chapitre 2 : Codage des informations

Page 2: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

� Comprendre les techniques de

représentation internes des informations

Objectifs

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 3: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

� Besoin du codage d’information

� Les systèmes de numération

� L’organisation des informations en mémoire

� L’arithmétique en binaire pure

� Représentation des nombres négatifs

Sommaire

� Représentation des nombres négatifs

� Codage BCD

� Représentation des nombres réels

� Représentation des caractères

� Le code de Gray

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 4: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

Besoin du codage d’information

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Besoin du codage d’information

Page 5: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Un ordinateur manipule toute sorte d’information :– Numérique.

– Alphabétique.

– Graphique.

Besoin du codage d’information

– Graphique.

– Audio.

– Vidéo.

– Cliques souris.

– Programmes.

– ...

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 6: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Dans son niveau le plus bas, l’ordinateur

reste une machine électronique : il ne traite que des signaux électriques.

• Fondamentalement, il y a deux signaux électriques élémentaires différents :

Besoin du codage d’information

électriques élémentaires différents :

–Le signal de faible voltage (ou état « 0 »).

–Le signal de haut voltage (ou état « 1 »).

• Chaque signal élémentaire peut alors se trouver dans l’un de ces deux états : « 0/1 ».

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 7: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Par conséquence, toute information, quelque soit sa nature, doit être présentée à l’ordinateur sous forme d’une collection de ces signaux électriques.

• L’information doit alors être codée !

Besoin du codage d’information

• L’information doit alors être codée !

• La méthode de codage d’une information

dépend de la nature de celle-ci.

• En informatique, le système binaire est à la base de toute méthode de codage.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 8: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Définition :

–Coder une information c’est réaliser une

correspondance biunivoque qui permetsans ambiguïté de passer d’unereprésentation (dite externe) de cette

Besoin du codage d’information

représentation (dite externe) de cetteinformation à une autre représentation

(dite interne sous forme binaire) de lamême information, suivant un ensemble de

règles précises.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 9: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple :

–Considérons le nombre 29

–29 est la représentation externe du nombre

–La représentation interne de 29 sera une suite de 0 et de 1 : (11101)

Besoin du codage d’information

suite de 0 et de 1 : (11101)

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 10: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

Les systèmes de numération

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Les systèmes de numération

Page 11: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Un système de numération se défini par :

–Un alphabet de base A : ensemble des symboles (ou chiffres) à utiliser.

–Un ensemble de règles d’écriture des

nombres.

Les systèmes de numération

• Dans les systèmes de numération modernes, les nombres sont écrits par simple juxtaposition de symboles de l’alphabet de base A.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 12: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Les systèmes de numération les plus courants :

–Le système décimal (base 10) : utilise les 10 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9.

–Le système binaire (base 2) : utilise les 2 chiffres : 0 et 1.

Les systèmes de numération

–Le système octal (base 8) : utilise les 8 chiffres : 0, 1, 2, 3, 4, 5, 6 et 7.

–Le système hexadécimal (base 16) : utilise les 16 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E et F.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 13: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Le système binaire comprend deux valeurs

basiques discrètes : 1 et 0.

• Un chiffre binaire est appelé bit (binary digit) et représente l’une de ces deux valeurs (0 ou 1).

Les systèmes de numération

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 14: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• En général, le système de numération à base B

(B est un nombre entier ≥ 2) utilise les Bpremiers entiers de 0 à B-1.

• Un nombre entier X (base 10) se décompose d’une manière unique en :

X = α BN + α BN-1 + … + α B1 + α B0

Les systèmes de numération

X = αNBN + αN-1BN-1 + … + α1B

1 + α0B0

• Les coefficients αi vérifient : 0 ≤ ααααi < B, quelque soit l’indice i (de 0 à N).

• On écrit X, en ignorant les puissances de B :

X = (αNαN-1…α1α0)B

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 15: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Comment déterminer ces coefficients ?

X = αNBN + αN-1BN-1 + … + α1B

1 + α0B0

–Tout d’abord, α0 est le reste de la division de X par B, car :

X = (αNBN-1 + … + α1)B + α0 et 0 ≤ α0

< B

Les systèmes de numération

X = (αNB + … + α1)B + α0 et 0 ≤ α0

< B

–Remarquons tout de suite que le quotient de X par B est égal à :

(X ÷ B) = (αNBN-1 + αN-1BN-2 + … + α1)

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 16: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Comment déterminer ces coefficients ?

–De même, α1 est le reste de la division de (X ÷ B) par B, car :

(X÷B) = (αNBN-2 + … + α2)B + α1 et 0 ≤ α1

< B

–Le quotient de (X ÷ B) par B est égal à :

Les systèmes de numération

–Le quotient de (X ÷ B) par B est égal à :

(X ÷ B) ÷ B = (αNBN-2 + αN-1BN-3 + … + α2)

–Et ainsi de suite, le processus est récursif !

–On répète le même processus jusqu’à trouver le premier quotient nul.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 17: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Comment déterminer ces coefficients ?

–La séquence des restes obtenues correspond aux symboles de la base considérée.

–On obtient en premier lieu le chiffre de poids

faible (B0) et en dernier lieu le chiffre de

poids fort (BN).

Les systèmes de numération

poids fort (BN).

–Pour obtenir la représentation de X en base B, il suffit alors d’écrire les restes dans l’ordre

inverse.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 18: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple :

–Écrivons 46 dans la base 3 :

Les systèmes de numération

46

15 1

Nombre initial

46 = (1201)3

α0

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

quotients restes

15 1

5

1

1

0

0

2

On inverse les restes

α0

α1

α2

α3

Page 19: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exercice :

–Convertir le nombre (2018)10 en :

• Base 16

• Base 8

• Base 2

Les systèmes de numération

• Base 2

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 20: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Conversion octal ���� binaire :

–Remplacer chaque chiffre octal en sonéquivalent binaire sur 3 bits (effacer les 0 lesplus à gauche si nécessaire) :

0 � 000

1 � 001

Les systèmes de numération

1 � 001

2 � 010

3 � 011

4 � 100

5 � 101

6 � 110

7 � 111

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 21: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Conversion octal ���� binaire (exemple) :

(1472)8 = (001100111010)2 = (1100111010)2

• Conversion binaire ���� octal :

–Regrouper à partir de la droite, chaqueséquence de 3 bits par son équivalent en octal

Les systèmes de numération

séquence de 3 bits par son équivalent en octal

(ajouter des 0 à gauche si nécessaire).

–Exemple :

(10101111011)2 = (010 101 111 011)2 = (2573)8

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 22: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Conversion hexadécimal ���� binaire :

–Remplacer chaque chiffre hexadécimal enson équivalent binaire sur 4 bits (effacer les0 les plus à gauche si nécessaire) :

0 � 0000 4 � 0100 8 � 1000 C �1100

1 � 0001 5 � 0101 9 � 1001 D �1101

Les systèmes de numération

1 � 0001 5 � 0101 9 � 1001 D �1101

2 � 0010 6 � 0110 A �1010 E �1110

3 � 0011 7 � 0111 B �1011 F �1111

(1A7E)16 = (0001101001111111)2 = (1101001111111)2

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 23: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Conversion binaire ���� hexadécimal :

–Regrouper à partir de la droite, chaquegroupe de 4 bits par son équivalent en

hexadécimal (ajouter des 0 à gauche sinécessaire).

–Exemple :

Les systèmes de numération

–Exemple :

(10101111011)2 = (0101 0111 1011)2 = (57B)16

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 24: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Conversion hexadécimal ���� octal :

–Convertir le nombre hexadécimal en

binaire.

–Convertir le nombre binaire obtenu en

octal.

Les systèmes de numération

–Exemple :

(1A7E)16 = (0001101001111111)2 = (000 001

101 001 111 111)2 = (15177)8

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 25: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Conversion octal ���� hexadécimal :

–Convertir le nombre octal en binaire.

–Convertir le nombre binaire obtenu en

hexadécimal.

–Exemple :

Les systèmes de numération

–Exemple :

(1037)8 = (001000011111)2 = (0010 0001 1111)2

= (21F)16

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 26: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Intervalle des entiers en base B représentés

sur N chiffres (de la base B) :

–Soit B ≥ la base et N le nombre de chiffres

utilisés dans le codage.

–Le total des nombres entiers distincts représentables sur N chiffres en base B : BN

Les systèmes de numération

représentables sur N chiffres en base B : BN

–Le plus grand entier est BN - 1

–L’intervalle des entiers est [0, BN - 1]

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 27: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Intervalle des entiers en binaire représentés

sur N bits :

–Le total des nombres entiers distincts représentables sur N bits en base 2 : 2N

–Le plus grand entier est 2N - 1 : il est représenté par une séquence de N bits 1

Les systèmes de numération

représenté par une séquence de N bits 1

–Le plus petit entier est 0 : il est représenté par une séquence de N bits 0

–L’intervalle des nombres entiers est [0, 2N - 1]

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 28: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Condition pour qu’un entier M soit

représentable en binaire sur N bits :

– Il faut que : M ≤ 2N - 1

–C’est-à-dire que M + 1 ≤ 2N

log2(M + 1) ≤ N

Les systèmes de numération

log2(M + 1) ≤ N

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 29: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Nombre de bits nécessaires pour représenter

un ensemble de M valeurs distinctes en

binaire :

–Soit N le nombre de bits nécessaires

– Il faut que : 2N-1 – 1 < M ≤ 2N – 1

Les systèmes de numération

� N - 1 < log2(M + 1) ≤ N

� N = log2(M + 1)

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 30: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple :

–Pour représenter un domaine formé de M = 10

valeurs distinctes, il faut au moins :

N = log2(M + 1)

N = log2(10 + 1)

Les systèmes de numération

N = log2(10 + 1)

N = log2(11)

N = 3.4594316186

N = 4 bits

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 31: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

L’organisation des informations

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

L’organisation des informations en mémoire

Page 32: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• En arithmétique binaire pure, une valeur peut prendre un nombre arbitraire de bits.

• Ceci est impossible des les systèmes électroniques : le nombre de bits est limité.

• Les collections de bits les plus utilisés en informatique sont des puissances de 2 :

L’organisation des informations en mémoire

informatique sont des puissances de 2 : – Les bits singuliers

– Les quartets

– Les octets

– Les mots

– Les mots doubles

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 33: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Les multiples du bit sont :

–L’octet = 8 bits

–Le Kilo octet = 210 octets = 1024 octets

–Le Méga octet = 210 Ko = 220 octets

–Le Giga octet = 210 Mo = 230 octets

L’organisation des informations en mémoire

–Le Giga octet = 2 Mo = 2 octets

–Le Téra octet = 210 Go = 240 octets

–Le Péta octet = 210 To = 250 octets

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 34: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Les quartets (Nibbles) :

–Un quartet est une collection de 4 bits.

–Le quartet n’est pas intéréssant, sauf s’il l’on veut représenter les nombres en codage (Décimal Codé Binaire) ou BCD (BinaryCoded Decimal) ou en hexadécimal.

L’organisation des informations en mémoire

Coded Decimal) ou en hexadécimal.

–Avec un quartet, il est possible de représenter jusqu’à 24 = 16 values distinctes.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 35: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Les octets (Bytes) :– Un octet est une collection de 8 bits.

– Il peut représenter un ensemble ne dépassant pas 28 = 256 valeurs distinctes.

– Il représente la plus petite information qui soit adressable en mémoire de l’ordinateur.

L’organisation des informations en mémoire

adressable en mémoire de l’ordinateur.

– Dans un octet :

• Le bit de poids faible représente le coefficient de poids 20 = 1 (c’est le bit le plus à droite)

• Le bit de poids fort représente le coefficient de poids 27 = 128 (c’est le bit le plus à gauche)

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 36: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

L’organisation des informations en mémoire

01234567

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Le bit de poids faibleLe bit de poids fort

Schéma d’un octet

Page 37: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Les mots (Words) :

–Un mot est une collection de 16 bits.

–Les mots peuvent représenter des collections de données dont l’ensemble ne dépassant pas 216 = 65 536 valeurs distinctes.

L’organisation des informations en mémoire

– Ils sont utilisés pour représenter des nombres entiers (signés ou non).

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 38: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Les mots doubles (Double words) :

–Un mot double est une collection de 32 bits.

–Les mots doubles peuvent représenter des collections de données dont l’ensemble ne dépassant pas 232 = 4 294 967 296 valeurs distinctes.

L’organisation des informations en mémoire

distinctes.

– Ils sont utilisés pour représenter des nombres entiers et réels (signés ou non).

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 39: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

L’arithmétique en binaire pure

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

L’arithmétique en binaire pure

Page 40: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Les règles de l’addition binaire :

� 0 + 0 = 0

� 1 + 0 = 0 + 1 = 1

� 1 + 1 = 10

� Résultat = 0, avec Retenu = 1

L’arithmétique en binaire pure

� Résultat = 0, avec Retenu = 1

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

1 0 0 1 1 1

1 1 1 0 1 0+

1 1 0 0 0 0 1

1 Retenu111

Page 41: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Les règles de la soustraction binaire :

� 0 - 0 = 1 - 1 = 0

� 1 - 0 = 1

� 0 - 1 = 1

� Résultat = 1, avec Emprunt = 1

L’arithmétique en binaire pure

� Résultat = 1, avec Emprunt = 1

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

1 1 1 0 1 1

1 1 0 1 1 0-

0 0 0 1 0 1

Emprunt1

Page 42: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Les règles de la multiplication binaire :

� 0 × 0 = 1 × 0 = 0 × 1 = 0

� 1 × 1 = 1

L’arithmétique en binaire pure

1 1 0 1

1 0 1××××

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

1 0 1××××

1 1 0 1

1 1 0 1

0 0 0 0

1 0 0 0 0 0 1

+

+

Page 43: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

Codage des nombres négatifs

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Codage des nombres négatifs

Page 44: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Trois méthodes classiques pour coder lesentiers négatifs (signe moins) :

–Méthode du signe-module (Sign-Magnitude Method)

–Méthode du complément à 1 (One’s-

Codage des nombres négatifs

–Méthode du complément à 1 (One’s-Complement Method)

–Méthode du complément à 2 (Two’s-Complement Method)

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 45: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Méthode du signe-module (valeur absolue)

–Le bit du poids fort (MSB, Most SignificantBit) est réservé pour le signe du nombre : 1 si c’est le nombre est négatif, et 0 si c’est le nombre est positif.

Codage des nombres négatifs

–Les (N-1) bits restants sont utilisés pour coder la valeur absolue du nombre (en binaire pur).

–L’intervalle des entiers représentables avec cette méthode est alors :

[-2N-1 + 1, 2N-1 - 1]

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 46: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

Codage des nombres négatifs

Opération Additionner les modules

Soustraire les modules

A > B A < B A = B

(+A) + (+B) + (A + B)

(+A) + (-B) + (A – B ) - (B – A ) + (A – B )

(-A) + (+B) - (A – B ) + (B – A ) + (A – B )

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

(-A) + (+B) - (A – B ) + (B – A ) + (A – B )

(-A) + (-B) - ( A + B)

(+A) - (+B) + (A – B ) - (B – A ) + (A – B )

(+A) - (-B) + (A + B)

(-A) - (+B) - ( A + B)

(-A) - (-B) - (A – B ) + (B – A ) + (A – B )

Page 47: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Inconvénients de la méthode signe-module

– Il y a deux représentations distinctes pour lenombre zéro :

+0 = 0000…000

- 0 = 1000…000

Codage des nombres négatifs

- Les opérations arithmétiques ne sont pas faciles à

effectuer : il faut tenir compte des signes et des

modules des opérandes.

- Il peut y avoir une erreur de débordement

(Overflow) lorsque les résultats ne sont pas dansl’intervalle [-2N-1 + 1, 2N-1 - 1].

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 48: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemples

–Sur N = 8 bits :

•X = 102 � Rep(X) = 01100110

•Y = -102 � Rep(Y) = 11100110

Codage des nombres négatifs

• Z = 127 � Rep(Z) = 01111111

•U = 128 � U est non représentable

•V = -127 � Rep(V) = 11111111

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 49: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exercice corrigé (en séance du cours)

– Effectuer les opérations suivantes en utilisant le codage du signe-module sur 8 bits :

• 22 + 11

• (-22) + 11

Codage des nombres négatifs

• (-22) + 11

• 22 + (-11)

• 22 + (-22)

• (-22) + (-11)

• 22 + 120

• (-22) + (-106)

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 50: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Méthode du complément à 1 (ou complément

logique)

– Cas d’un nombre positif : on le code comme dansla méthode de la valeur absolue.

– Cas d’un nombre négatif :

Codage des nombres négatifs

– Cas d’un nombre négatif :

• On code son nombre opposé (qui est positif).

• On calcule le complément logique du codeobtenu (en transformant les 0 en 1, et vice-

versa).

– Le bit du poids fort est toujours utilisé pour coderle signe du nombre (0 : positif / 1 : négatif)

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 51: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Inconvénients

– Il y a deux représentations distinctes pour le nombrezéro :

+0 = 0000…000

- 0 = 1111…111

– Il y aura une erreur de débordement (Overflow)

Codage des nombres négatifs

– Il y aura une erreur de débordement (Overflow)lorsque le résultat n’est pas dans l’intervalle [-2N-1 +

1, 2N-1 - 1].

• Avantages

– La soustraction peut être effectuée en utilisantl’addition.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 52: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemples

–Sur N = 8 bits :

•X = 102 � Rep(X) = 01100110

•Y = -102 � Rep(Y) = CA1(01100110) = 10011001

Codage des nombres négatifs

10011001

• Z = 127 � Rep(Z) = 01111111

•U = 128 � U est non représentable

•V = -127 � Rep(V) = CA1(0111111) = 10000000

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 53: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exercice corrigé

–Donner la valeur décimale du nombre dont le code sur N = 8 bits en utilisant la méthode du complément à 1 est : 11000100

Codage des nombres négatifs

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 54: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Solution

–Le bit du poids fort est = 1 � X est négatif

–La valeur absolue du nombre est obtenue en calculant le complément à 1 du code :

CA (11000100) = 00111011

Codage des nombres négatifs

CA1(11000100) = 00111011

– |X| = 25 + 24 + 23 + 21 + 20

– |X| = 32 + 16 + 8 + 2 + 1

– |X| = 59

� X = -59

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 55: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Méthode du complément à 2 (ou

complément arithmétique)

–Un nombre positif est représenté en binaire pur, avec un 0 en bit de poids fort.

–Un nombre négatif est représenté avec une

Codage des nombres négatifs

–Un nombre négatif est représenté avec une séquence de bits en respectant les deux conditions suivantes :

• La somme du nombre et de son opposé est égale à 0.

• Le bit de poids fort est égal à 1.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 56: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Méthode du complément à 2 (ou

complément arithmétique)

–Soit -A un nombre négatif à coder en complément à 2 (A étant positif) sur N bits

–On veut que -A = 1???...???

Codage des nombres négatifs

–On veut que -A = 1???...???

–A = 0§§§…§§§

–On veut que : -A + A = 0

–L’idée est de représenter -A comme étant la valeur binaire de -A + 2N

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 57: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Méthode du complément à 2 (ou complément

arithmétique)

–Par suite : -A + A + 2N = 0 + 2N = 2N

–Le nombre 2N se représente sur N+1 bits comme 1000…000 (1, suivi de N zéros).

Codage des nombres négatifs

comme 1000…000 (1, suivi de N zéros).

–Si l’on ignore le bit de poids fort 1, on s’aperçoit qu’effectivement : -A + A = 0.

–C’est la méthode du complément à 2.

–Avec Cette méthode, on peut coder sans erreur tous les entiers de l’intervalle [-2N-1, 2N-1-1]

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 58: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple

–Pour coder X = -12 en complément à 2 sur 8 bits en utilisant la méthode du complément à 2, on suit les étapes suivantes :

Codage des nombres négatifs

suivantes :

– (-12) ∈ [-27, 27-1] = [-128, 127]

– (-12) + 28 = 256 - 12 = 244

–244 = (11110100)2

– (-12) = (11110100)CA2

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 59: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Algorithme (1) de codage d’un nombre négatif

(-A) en complément à 2

–Calculer la représentation binaire de A

–Calculer le complément à 1 de A : CA1(A)

–Ajouter +1 au résultat

Codage des nombres négatifs

–Ajouter +1 au résultat

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 60: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple

–Codons (-12) en complément à 2 sur 8 bits.

–Étape 1 :

(12)10 = (00001100)2

–Étape 2 :

Codage des nombres négatifs

–Étape 2 :

CA1 � (12)10 = (11110011)CA1

–Étape 3 :

CA2 � 1 + (11110011)CA1 = (11110100)CA2

-12 = (11110100)CA2

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 61: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Algorithme (1) de codage d’un nombre négatif

–A en complément à 2

–Calculer la représentation binaire de A

–Copier tous les bits 0 à partir de la droite

jusqu’au premier bit égal à 1 (ce bit inclus).

Codage des nombres négatifs

jusqu’au premier bit égal à 1 (ce bit inclus).

–Complémenter les bits restants

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 62: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple

– Codons (-12) en complément à 2 sur 8 bits.

– Étape 1 :

(12)10 = (00001100)2

– Étape 2 :

Codage des nombres négatifs

Copie des bits 0 et du 1er 1 à droite �

(00001100)2

– Étape 3 :

Complémentation des bits restants � (11110100)CA2

-12 = (11110100)CA2

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 63: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Avantages de la méthode du complément à

2

– Il est facile de tester si un nombre est négatif : sa représentation binaire commence par un 1.

Codage des nombres négatifs

commence par un 1.

–Les opérations arithmétiques sont très simples à effectuer en complément à 2.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 64: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Règles de calcul en complément à 2

–Calculer l’opposé d’un nombre X : -X = CA2(X).

–A + B : s’effectue comme en binaire.

–A - B : on calcule A + CA2(B)

Codage des nombres négatifs

–A - B : on calcule A + CA2(B)

– Il y débordement (Overflow) seulement dans le cas où si deux nombres de même signe qui sont additionnés donne un résultat de signe différent.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 65: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemples (sur 4 bits)

– (-5) � (5)10 = (0101)2 = (1011)CA2

– (5)10 + (2)10 = (0101)CA2 + (0010)CA2 = (0111)CA2 = (7)10

– (5) + (3) = (0101) + (0011) =

Codage des nombres négatifs

– (5)10 + (3)10 = (0101)CA2 + (0011)CA2 = (1000)CA2 � Overflow

– (5)10 - (2)10 = (0101)CA2 - (0010)CA2 = (0101)CA2 + (1110)CA2 = (10011)CA2 � On ignore le bit 1 ���� (5)10 - (2)10 = (0011)CA2 = = (3)10

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 66: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemples (sur 4 bits)

– (-7)10 + (-6)10 = (1001)CA2 + (1010)CA2 = (10011)CA2 � Overflow

– (-5)10 - (2)10 = (1011)CA2 - (0010)CA2 = (1011)CA2 + (1110)CA2 = (11001)CA2 � On

Codage des nombres négatifs

(1011)CA2 + (1110)CA2 = (11001)CA2 � On ignore le bit 1 ���� (-5)10 - (2)10 = (1001)CA2

= (-7)10

– (-6)10 - (4)10 = (1010)CA2 + (11000)CA2 = (10110)CA2 � Overflow

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 67: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Conversion Complément à 2 ���� Décimal

–Soit (AN-1AN-2…A0)CA2 un nombre codé en complément à 2 sur N bits qui représente un nombre entier A.

–A est le bit de signe.

Codage des nombres négatifs

–AN-1 est le bit de signe.

–La valeur décimale de ce code est donnée par la formule suivante :

A = -AN-1 * 2N-1 + AN-2 * 2N-2 + … + A0 * 20

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 68: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exercice corrigé

–Convertir en décimal, les codes suivants :

• (11001000)CA2

• (00100111)CA2

Codage des nombres négatifs

• Solution

– (11001000)CA2 = -27 + 26 + 23 = -56

– (00100111)CA2 = 25 + 22 + 21 + 20 = 39

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 69: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

Codage BCD

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Codage BCD

Page 70: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• BCD (Binary Coded-Decimal)

–Le décimal codé binaire est un codage dans lequel on représente un nombre

décimal chiffre par chiffre.

–Chaque chiffre décimal est convertit en

Codage BCD

–Chaque chiffre décimal est convertit en son équivalent binaire sur 4 bits :• 0 � 0000 4 � 0100 8 � 1000

• 1 � 0001 5 � 0101 9 � 1001

• 2 � 0010 6 � 0110

• 3 � 0011 7 � 0111Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 71: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple

–Le nombre 12349 est codé en BCD en :

(12349)10 = (0001 0010 0011 0100 1001)BCD

• Arithmétique en BCD

–En BCD, l’arithmétique s’effectue chiffre

Codage BCD

–En BCD, l’arithmétique s’effectue chiffre

par chiffre.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 72: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Cas de l’addition en BCD

–Considérons l’addition de deux chiffres décimaux.

–En BCD, si la somme dépasse 9, on ajoute 6 pour ramener le résultat dans l’intervalle

Codage BCD

6 pour ramener le résultat dans l’intervalle [0, 9].

–Un retenu (CARRY) est généré dans ce cas.

–Le retenu est ensuite additionné aux chiffres dans l’étape suivante de calcul.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 73: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple 1

–310 + 210 = (0011)BCD + (0010)BCD

–310 + 210 = (0101)BCD = 510

–Dans ce cas, il n’y a pas de correction, car la somme des chiffres <= 9.

Codage BCD

la somme des chiffres <= 9.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 74: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple 2

–510 + 610 = (0101)BCD + (0110)BCD

–510 + 610 = (1011)2 = 1110

–Dans ce cas, il y a correction, car la somme des chiffres > 9.

Codage BCD

des chiffres > 9.

–On ajoute 6 au résultat :

– (1011)2 + 610 = (1011)2 + (0110)2

–Le résultat est (0001)BCD , plus un retenu égal à 1

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 75: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Avantages est inconvénients

–Le codage BCD est très simple à le convertir en décimal.

–Cependant, il n’est pas efficace pour coder les nombres : il est gourmand en espace

Codage BCD

les nombres : il est gourmand en espace (pour représenter 123, il faut 12 bits en BCD, alors qu’en CA2, 8 bits suffisent).

–Le codage BCD est efficace pour afficher les nombres.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 76: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

Représentation des nombres réels

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Représentation des nombres réels

Page 77: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Méthode de la virgule fixe

–Dans cette méthode, la position de la virgule

reste inchangée.

–On code un nombre réel R sur 3 champs :

• Le bit de poids fort (MSB) est réservé

Représentation des nombres réels

• Le bit de poids fort (MSB) est réservé pour le signe de R.

• La partie entière de R est codé en binaire

pur (sur un nombre de bits précis).

• La partie fractionnaire de R est également codé en binaire pur (sur un nombre de bits précis).

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 78: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

Représentation des nombres réels

Bit de signe Partie fractionnaire en binaire pur

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Partie entière en binaire pur

Page 79: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple

–R = -12.25

– Signe = - � MSB = 1

– Partie entière de R = 12 = (1100)2

– Partie fractionnaire de R = 0.25 = (01)2

Représentation des nombres réels

– Partie fractionnaire de R = 0.25 = (01)2

– Supposons que la partie entière (plus le signe) sont codés sur 3 octets et que la partie fractionnaire est codé sur 1 octet

– La représentation complète de R est alors :

(10000000000000000000110001000000)

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 80: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Comment déterminer la représentation

binaire de la partie fractionnaire

– En décimal : 0.25 = 2 × 10-1 + 5 × 10-2

– En binaire : 0.25 = ¼ = 0 × 2-1 + 1 × 2-2

–On effectue une série de multiplications par

Représentation des nombres réels

–On effectue une série de multiplications par

2, jusqu’à trouver le nombre 1 :

– 0.25 × 2 = 0 + 0.5

– 0.5 × 2 = 1 + 0

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 81: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple 1

– Trouvons la représentation binaire de 0.2357 sur 8 bits :

• 0.2357 × 2 = 0 + 0.4714

• 0.4714 × 2 = 0 + 0.9428

• 0.9428 × 2 = 1 + 0.8856

Représentation des nombres réels

• 0.9428 × 2 = 1 + 0.8856

• 0.8856 × 2 = 1 + 0.7712

• 0.7712 × 2 = 1 + 0.5424

• 0.5424 × 2 = 1 + 0.0848

• 0.0848 × 2 = 0 + 0.1696

• 0.1696 × 2 = 0 + 0.3392

– (0.2357)10 = (0.00111100)2

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 82: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple 1

–Trouvons la représentation binaire de 0.6 sur 8 bits :

• 0.6 × 2 = 1 + 0.2

• 0.2 × 2 = 0 + 0.4

Représentation des nombres réels

• 0.2 × 2 = 0 + 0.4

• 0.4 × 2 = 0 + 0.8

• 0.8 × 2 = 1 + 0.6 (représentation

cyclique)

– (0.6)10 = (0.10011001)2

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 83: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Méthode de la virgule flottante

–Plusieurs méthodes de cette catégorie :

• IEEE 754 (simple précision / double

précision / précision étendue)

• IBM 360/370

Représentation des nombres réels

• IBM 360/370

–Dans ces méthodes, la position de la

virgule est variable (on dit qu’elle flotte).

–On écrit le nombre réel sous la forme :

R = (±±±±1) ×××× M ×××× 2E

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 84: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Méthode de la virgule flottante

–Dans cette notation :

•M : est appelé la mantisse

• E : est appelé l’exposant

Représentation des nombres réels

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 85: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Codage IEEE 754 (simple précision)

–Dans ce codage, la mantisse doit être normalisée.

–Dans ce cas, la mantisse est formé :

•Du chiffre 1 (non nécessaire à stocker,

Représentation des nombres réels

•Du chiffre 1 (non nécessaire à stocker, car il doit être toujours présent)

• La virgule (non stockée)

• Le reste de la mantisse (appelée lapseudo-mantisse ou la significande)

M = 1,M’Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 86: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Codage IEEE 754 (simple précision)

–Ce codage utilise 32 bits comme suit :

• 1 bit (MSB) pour le signe : 0 (positif) / 1 (négatif)

• 8 bits pour l’exposant

Représentation des nombres réels

• 8 bits pour l’exposant

• 23 bits (les plus à droite) pour la pseudo-

mantisse (contient implicitement un chiffre 1)

–La pseudo-code est un réel positif dans l’intervalle [1, 2[.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 87: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Codage IEEE 754 (simple précision)

–Au lieu de coder E (en binaire pur), on code E + 127.

–C’est l’exposant biaisé Eb : Eb = E + 127

–Cela permet d’avoir un exposant non signé

Représentation des nombres réels

–Cela permet d’avoir un exposant non signé

(unsigend exposant).

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 88: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemple

–R = -0.75

–R < 0 � MSB = 1

– (0.75)10 = (0.11)2 = (1.1)2 × 2-1

–E = -1

Représentation des nombres réels

–E = -1

–� Eb = -1 + 127 = 126 = (1111110)2

–Pseudo-mantisse = (1)2

–La représentation de R est alors :

10111111010000000000000000000000

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 89: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Codage IEEE 754 (double précision)

– Identique au précédent, sauf que la capacité du codage est de 64 bits :

• 1 bit (MSB) pour le signe

• 11 bits pour l’exposant (L’exposant est

Représentation des nombres réels

• 11 bits pour l’exposant (L’exposant est biaisé : Eb = E + 1023)

• 52 bits pour la pseudo-mantisse

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 90: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Codage IEEE 754 (précision étendue)

– Identique au précédent, sauf que la capacité du codage est de 80 bits :

• 1 bit (MSB) pour le signe

• 15 bits pour l’exposant (L’exposant est

Représentation des nombres réels

• 15 bits pour l’exposant (L’exposant est biaisé : Eb = E + 1024)

• 64 bits pour la pseudo-mantisse

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 91: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• IEEE 754 SP : Valeurs spéciales

–0 est représenté avec E = 0 et M = 0

– Il y a deux représentations pour 0 : +0 et -0.

–+Infinity

� S = 0, E = (11111111) , M = 0

Représentation des nombres réels

� S = 0, E = (11111111)2, M = 0

– -Infinity

� S = 1, E = (11111111)2, M = 0

–NaN (Not-a-Number)

� S = 1, E = (11111111)2, M ≠ 0

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 92: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• IEEE 754 SP : Valeurs spéciales

–Les exposants 0000000 et 11111111 sont alors réservés à ces valeurs spéciales

–Plus petite valeur

� E = (00000001)2 = 1 - 127 = -126

Représentation des nombres réels

� E = (00000001)2 = 1 - 127 = -126

� M = 1

�Vmin = ±±±±1 ×××× 2-126 ≈≈≈≈ ±±±± 10-38

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 93: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• IEEE 754 SP : Valeurs spéciales

–Plus grande valeur

�E = (11111110)2 = 127

�M = 1,111..1112 � M ≈≈≈≈ 2

�Vmax ≈≈≈≈ ±±±± 2128 ≈≈≈≈ ±±±± 1038

Représentation des nombres réels

�Vmax ≈≈≈≈ ±±±± 2128 ≈≈≈≈ ±±±± 1038

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 94: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Comparaison entre le codage en Virgule

Fixe (VFx) et en Virgule Flottante (VFt)

– Le codage en VFx est plus simple à effectuer

que celui en VFt.

– Le codage en VFt est plus efficace que celui

Représentation des nombres réels

en VFx sur deux points :

• La précision du codage

• La capacité du codage

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 95: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Précision du codage

– Supposons le codage suivant sur un octet :

Représentation des nombres réels

Virgule FixePartie entière Partie fractionnaire

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Virgule Flottante

Mantisse Exposant

Page 96: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Précision du codage

–Exemple

• Codage de R = 47/64 = (0.734375)10

• R = 47 / 64 = (0.101111)2

• En VFx : R = (00000101) = 40/64

Représentation des nombres réels

• En VFx : R = (00000101)2 = 40/64

• En VFt : R = (101111000)2 = 46/64

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 97: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Capacité du codage

–En VFx : Vmax = (11111111)2 = (31.875)10

–En VFt : Vmax = (111111111)2 = 0.96875 ××××27 = (124)10

Représentation des nombres réels

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 98: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

Représentation des caractères

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Représentation des caractères

Page 99: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Notion de caractère

– Un caractère est un symbole alphanumérique (cen’est pas une donnée numérique).

– Il se présente sous plusieurs formes :

• Chiffre : 0, 1, …, 9

Représentation des caractères

• Lettre majuscule : A, B, …, Z

• Lettre minuscule : a, b, …, z

• Symbole de ponctuation : . , ; : ? ! ( ) { } [ ]

• Caractère spécial : @ # & ~

• Symbole d’opération : + - / *

• Etc…Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 100: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Codage des caractères

–Une chaîne de caractères est une séquence finie

de caractères.

– Le codage des caractères se fait à l’aide d’unetable de correspondance indiquant laconfiguration binaire représentant chaque

Représentation des caractères

configuration binaire représentant chaquecaractère.

– Il existe plusieurs codage de caractères :

• Le codage ASCII

• Le codage EBCDIC

• L’Unicode

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 101: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Le codage ASCII

– Le code ASCII (American Standard Code forInformation Interchange) représente un caractèresur 7 bits.

–A chaque caractère, est associé une configurationde 8 chiffres binaires (1 octet), mais le chiffre de

Représentation des caractères

de 8 chiffres binaires (1 octet), mais le chiffre depoids fort (MSB) est toujours égal à zéro.

– Le codage ASCII permet alors de coder 27 = 128

caractères différents.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 102: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemples (code ASCII)

Représentation des caractères

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 103: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Caractéristiques du codage ASCII

– Les codes compris entre 0 et 31 représentent descaractères non imprimables.

– Les lettres se suivent dans l’ordre alphabétique

(codes 65 à 90 pour les majuscules, 97 à 122 pourles minuscules).

Représentation des caractères

les minuscules).

–On passe des majuscules aux minuscules enmodifiant le 5ème bit, ce qui revient à ajouter 97 –65 = 32 au code ASCII décimal (32 : 0010000)

G (code 71 = 010001112) � g (code 103 =010101112)

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 104: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Caractéristiques du codage ASCII

– Les chiffres sont rangés dans l’ordre croissant(codes 48 à 57), et les 4 bits de poids faibles

définissent la valeur en binaire du chiffre.

Représentation des caractères

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 105: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Le codage EBCDIC

– Le code EBCDIC (Extended Binary-CodedDecimal Interchange Code) représente uncaractère sur 8 bits.

–Avec ce codage, il est alors possible de coder 28 =

256 caractères différents.

Représentation des caractères

256 caractères différents.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 106: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• L’UNICODE

– Les codes ASCII et EBCDIC supportent lescaractères latins les plus utilisés sur ordinateur.

– Ils ne supportent pas les caractères des autreslangues internationales (Arabe, Chinois, Japonais,Russe, …).

Représentation des caractères

Russe, …).

–C’est l’objectif du code universel appelé :Unicode.

– L’Unicode est un standard évolutif.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 107: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• L’UNICODE

–Dans la version 2.0 de l’Unicode standard, il y a38 885 codes caractères qui coverent lesprincipales langues écrites.

– L’Unicode standard utilise 16 bits (2 octets).

compatible ASCII

Représentation des caractères

– Il reste compatible avec le code ASCII.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 108: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

Le code de Gray

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Le code de Gray

Page 109: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Objectif

–Coder un entier en binaire, de manière à ce quedeux valeurs successives ne diffèrent dans leur

codage que par un seul bit.

– Le codage est efficace pour effecteurl’incrémentation (ajouter 1) ou la

Le code de Gray

l’incrémentation (ajouter 1) ou ladécrémentation (retrancher 1) d’un nombreentier, mais pas l’addition.

– Il est donc meilleur pour faire des compteurs.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK

Page 110: Architecture des ordinateurs & Algorithmique Partie I : Architecture … · 2018-10-31 · base de toute méthode de codage. ... symboles de l’alphabet de base A. Architecture des

• Exemples

–Avec 2 bits, le codage de Gray donne la suite :

00, 01, 11 puis 10

–Avec 3 bits, le codage de Gray donne la suite :

000, 001, 011, 010, 110, 111, 101 puis 100

Le code de Gray

000, 001, 011, 010, 110, 111, 101 puis 100

• Remarque

– le codage de Gray est également appelé le code binaire réfléchi, car il s’effectue avec un effet miroir.

Architecture des ordinateurs & Algorithmique Pr. DARGHAM Abdelmajid ENSAK