61
Fonctionnement de Fonctionnement de l’ordinateur l’ordinateur Chapitre 2: Codage d’informations et algèbre de Boole Hassen JEDIDI

Fonctionnement de l’ordinateur-chap2-codage

Embed Size (px)

Citation preview

Page 1: Fonctionnement de l’ordinateur-chap2-codage

Fonctionnement de Fonctionnement de l’ordinateurl’ordinateur

Chapitre 2: Codage d’informations et algèbre de Boole

Hassen JEDIDI

Page 2: Fonctionnement de l’ordinateur-chap2-codage

PlanPlan

Objectifs:

Connaitre le système binaire: le bit et l’octet. Comprendre le codage des informations en

informatique. Etre capable de convertir des nombres entre les

différentes bases. Savoir effectuer des opération (addition,

multiplication,…) sur les nombres binaires.

Hassen JEDIDI

Page 3: Fonctionnement de l’ordinateur-chap2-codage

IntroductionIntroduction

Les grandeurs physiques que l’on mesure, ou que l’on désire modifier, sont des variables analogiques.

Elles prennent des nombreuses valeurs, en passant en général de l’une à l’autre de manière continue.

Exemple: signal sinusoïdal

Hassen JEDIDI

Page 4: Fonctionnement de l’ordinateur-chap2-codage

Système binaireSystème binaire

L’informatique utilise des courants électriques, des aimantations, des rayons de lumière ...

Chacun de ces phénomènes met en jeu deux états possibles:

◦tension nulle ou tension non nulle (5V par ex),◦aimantation dans un sens ou dans l’autre sens,◦lumière ou pas de lumière.

Hassen JEDIDI

Page 5: Fonctionnement de l’ordinateur-chap2-codage

Système binaire (2)Système binaire (2)

Il suffit donc de deux chiffres pour traduire ces deux états: c’est la numération binaire qui utilise les chiffres 0 et 1.

Un rayon de lumière peut parfaitement traduire ces deux valeurs:

0 = pas de lumière, 1 = lumière.

Hassen JEDIDI

Page 6: Fonctionnement de l’ordinateur-chap2-codage

Système binaire (3)Système binaire (3)

Le système binaire est un système de numération de position de base deux: les deux seuls chiffres qui le composent sont le 0 et le 1.

Le système binaire est le langage des ordinateurs. Toutes les machines numériques utilisent le système binaire pour coder des informations (textes, sons, images, vidéos ....).

Hassen JEDIDI

Page 7: Fonctionnement de l’ordinateur-chap2-codage

Notation positionnelleNotation positionnelle

La représentation d’un nombre est un codage

ne pas confondre un nombre avec sa représentation !

la quantité dix peut être représentée par:◦ dix, 10, **********, 1010, A, X, etc...

Hassen JEDIDI

Page 8: Fonctionnement de l’ordinateur-chap2-codage

Représentation d’un nombre dans Représentation d’un nombre dans la base 10la base 10

Les nombres décimaux sont représentés comme des sommes de multiples de chaque puissance de 10.

Exemple 1543(10)= (1* 103) + (5* 102) + (4* 101) + (3* 100).

Hassen JEDIDI

Page 9: Fonctionnement de l’ordinateur-chap2-codage

Représentation d’un nombre dans Représentation d’un nombre dans la base binaire la base binaire

alphabet de 2 caractères binaires (appelés bit) {0,1}

Exemple: 01101(2) = (0×24) + (1×23)

+ (1×22) + (0×21)+ (1×20) =8(10)+ 4(10)+ 1(10)

=13(10)

Hassen JEDIDI

Page 10: Fonctionnement de l’ordinateur-chap2-codage

Représentation d’un nombre dans Représentation d’un nombre dans la base 16 (hexadécimal)la base 16 (hexadécimal)alphabet de 16 caractères

hexadécimaux {0, . . . ,9,A,B,C,D,E,F }

01B16 = 0 × 162 + 1 × 161 + B × 160

= 16(10) + 11(10)

= 27 (10)

Hassen JEDIDI

Page 11: Fonctionnement de l’ordinateur-chap2-codage

Code binaire naturel /pureCode binaire naturel /pure

Basé sur la représentation des nombres en base 2 :

0: 000. 1: 001. 2: 010. 3: 011. 4: 100. 5: 101. 6: 110. 7: 111

Hassen JEDIDI

Page 12: Fonctionnement de l’ordinateur-chap2-codage

Code Décimal Codé Binaire Code Décimal Codé Binaire ( BCD/DCB)( BCD/DCB)chaque chiffre est codé sur 4 bits :

0: 0000. 1: 0001. 2: 0010. 3: 0011. … …10: 0001 0000.11: 0001 0001.

Hassen JEDIDI

Page 13: Fonctionnement de l’ordinateur-chap2-codage

Code De GrayCode De GrayDistance de 1 entre deux mots de code

consécutif.

0: 000. 1: 001. 2: 011. 3: 010. 4: 110. 5: 111. 6: 101. 7: 100

Hassen JEDIDI

Page 14: Fonctionnement de l’ordinateur-chap2-codage

Détection d’erreurDétection d’erreur

Un code peut être utiliser pour détecter une erreur.

Exemple: Ajout d’un bit pour maintenir la parité.

◦ 0110 devient 01100.◦ 1011 devient 10111

Hassen JEDIDI

Page 15: Fonctionnement de l’ordinateur-chap2-codage

Bit de paritéBit de parité

0110 à transmettrecalcul du bit de parité : 001100 transmiserreur de transmission01110 arrivérecalcule du bit de parité : 1comparaison avec le bit de parité

arrivé : erreur détectée

Hassen JEDIDI

Page 16: Fonctionnement de l’ordinateur-chap2-codage

Représentation des réels Représentation des réels ( virgule fixe)( virgule fixe)Même méthode pour la partie entière.On garde la virgule. La partie décimale se décompose en

puissance négatives de 2. Exemple: 0,75(10) = ? (2)

0.75 * 2 = 1,5 (on garde 1, reste 0,5) 0,5 * 2 = 1,0 (on garde 1, reste 0: terminé) 0,75(10) = 0,11(2) = 1*2-1 + 1* 2-2 = 0,25 + 0,5 = 0,75

Hassen JEDIDI

Page 17: Fonctionnement de l’ordinateur-chap2-codage

Codage des entiers relatifsCodage des entiers relatifs Problème = représenter le signe Première méthode: signe ( « + » = 0, « - » = 1) + valeur absolue Exemple: codage de -22(10) sur 8 bits (1 bit de signe

+ 7 bits) 22 = 10010110 signeAvantage: facile à lire pour l’utilisateur.Problèmes:

2 représentations possible pour 0 (+ 0 et -0) Comment additionner 2 nombres de signe différent?

Hassen JEDIDI

Page 18: Fonctionnement de l’ordinateur-chap2-codage

Codage des entiers relatifs (2)Codage des entiers relatifs (2) Seconde méthode: Complément à 2 Principe: Soit a représenter un nombre positif

1. On prend son opposé.2. On le représente en base 2.3. On complémente chaque bit.4. On ajoute 1.

Remarque: Si on ajoutant le nombre et son complément à deux on obtient 0.

Hassen JEDIDI

Page 19: Fonctionnement de l’ordinateur-chap2-codage

Codage des entiers relatifs (3)Codage des entiers relatifs (3) 1 + (-1) = ??

◦ « signe + valeur absolue » 00000001 + 10000001 = 10000010 ◦ « Complément à 2 » 00000001 + 11111111 = 00000000

Hassen JEDIDI

Page 20: Fonctionnement de l’ordinateur-chap2-codage

Codage des données alphanumériques Codage des données alphanumériques

Idée = associer un nombre à un caractère.

Code ASCII ( American Standard Code for Information Interchange)=

7 bits (127 possibilité), les caractères 0 (00) à 31 (1F) sont des caractères spéciaux.

les caractères 32 (20) à 127 (7F) représentent: les minuscules, Les majuscules, Les signes de ponctuation.

Hassen JEDIDI

Page 21: Fonctionnement de l’ordinateur-chap2-codage

Codage des données alphanumériques Codage des données alphanumériques

Hassen JEDIDI

Page 22: Fonctionnement de l’ordinateur-chap2-codage

Conversion décimal-BinaireConversion décimal-Binaire

Pour communiquer avec un ordinateur, il est donc nécessaire de savoir convertir des nombres décimaux en nombres binaires.

Pour obtenir l'expression binaire d'un nombre exprimé en décimal, il suffit de diviser successivement ce nombre par 2 jusqu'à ce que le quotient obtenu soit égal à 0.

Hassen JEDIDI

Page 23: Fonctionnement de l’ordinateur-chap2-codage

Conversion décimal-Binaire (2)Conversion décimal-Binaire (2)

Une méthode de conversion consiste à décomposer le nombre décimal en une somme de puissances de deux:

Exemple: 44(10) = 101100 (2)

Hassen JEDIDI

Page 24: Fonctionnement de l’ordinateur-chap2-codage

Conversion Binaire-DécimalConversion Binaire-Décimal

soit d un nombre décimal, alors on pourra écrire :

d= a0*20 + a1*21 + a2*22 + ...+ an*2n

Exemple : 1101=?

1.20+0.21+1.22+1.23 =1+4+8=13

Hassen JEDIDI

Page 25: Fonctionnement de l’ordinateur-chap2-codage

0000 0101 + 0000 0110 = ? 1

0000 0101 +

0000 0110 0000 1011 = 11(10)

Hassen JEDIDI

Addition de 2 nombres positifsAddition de 2 nombres positifs

Page 26: Fonctionnement de l’ordinateur-chap2-codage

Première solution

Dans la soustraction binaire, on procède comme en décimal. Quand la quantité à soustraire est supérieure à la quantité dont on soustrait, on emprunte 1 au voisin de gauche.

En binaire, ce 1 ajoute 2 à la quantité dont on soustrait.

Exemple: 1

10 - 101

01

Hassen JEDIDI

Soustraction de 2 nombres positifsSoustraction de 2 nombres positifs

Page 27: Fonctionnement de l’ordinateur-chap2-codage

Deuxième solution (complément à 2)

Le complément binaire: Changer les « 1 » par des «0 » et les « 0 » par des « 1 »

Exemple: le complément de 01101 est 10010

Principe :

Pour effectuer une soustraction binaire, il suffit de faire une addition avec le complément du nombre à soustraire auquel on a ajouté 1 et de ne pas tenir compte de la dernière retenue la plus à gauche.

Hassen JEDIDI

Soustraction de 2 nombres positifs(2)Soustraction de 2 nombres positifs(2)

Page 28: Fonctionnement de l’ordinateur-chap2-codage

Exemple: 28 – 22 = ?◦ 22 = 000 10110.◦ Complément de 22 = 00001001◦ On ajoute 1 au complément 00001001 + 1 = 00001010◦ La soustraction du nombre binaire suivant  00011100 (28)

-  00010110 (22) revient à faire de l'addition de 00011100 + 00001010 = 00100110

◦ On enlève la retenue et on aura 110 = 6.

28 – 22 = 6

Hassen JEDIDI

Soustraction de 2 nombres positifs (3)Soustraction de 2 nombres positifs (3)

Page 29: Fonctionnement de l’ordinateur-chap2-codage

le résultat de l’opération n’est pas représentable dans le système utilisé.

Exemple: Nombres codés sur 4 bits 1101 + 0011 10000 le débordement correspond à une retenue

sortante à 1.

Hassen JEDIDI

Débordement (overflow)Débordement (overflow)

Page 30: Fonctionnement de l’ordinateur-chap2-codage

Comme en décimal. N'utilise que du décalage de bits et additions. Exemple : 101 x 110 :

101 * 110 000 +

1010 + 10100 11110

Hassen JEDIDI

Multiplication binaireMultiplication binaire

Page 31: Fonctionnement de l’ordinateur-chap2-codage

Les opérations Les opérations logiques de baseslogiques de bases

Hassen JEDIDI

Page 32: Fonctionnement de l’ordinateur-chap2-codage

« ou » logique (OR)« ou » logique (OR)

L’opération est représentée par +.

X= A+B. Table de vérité:

Hassen JEDIDI

A B X = A+B

0 0 0

0 1 1

1 0 1

1 1 1

Page 33: Fonctionnement de l’ordinateur-chap2-codage

« ET » logique (AND)« ET » logique (AND)

L’opération est représentée par * ou .

X= A.B. Table de vérité:

Hassen JEDIDI

A B X = A+B

0 0 0

0 1 0

1 0 0

1 1 1

Page 34: Fonctionnement de l’ordinateur-chap2-codage

Inverseur logique (NOT)Inverseur logique (NOT)

L’opération est notée comme x = A

Table de vérité:

Hassen JEDIDI

A X

0 1

1 0

Page 35: Fonctionnement de l’ordinateur-chap2-codage

«NON ET » logique (NAND)«NON ET » logique (NAND)

Il s'agit d'un ET complémenté (inversé) X= A.B . Table de vérité:

Hassen JEDIDI

A B X

0 0 1

0 1 1

1 0 1

1 1 0

Page 36: Fonctionnement de l’ordinateur-chap2-codage

«NI » ou « NON OU » ou « NOR »«NI » ou « NON OU » ou « NOR » Il s'agit d'un ET complémenté (inversé) X= A+B . Table de vérité:

Hassen JEDIDI

A B X

0 0 1

0 1 0

1 0 0

1 1 0

Page 37: Fonctionnement de l’ordinateur-chap2-codage

«OU exclusif »«OU exclusif » a + b = 1 quand a=0 et b=1 ou a= 1 et b =0a + b = ab + ab

Hassen JEDIDI

A B X

0 0 0

0 1 1

1 0 1

1 1 0

Page 38: Fonctionnement de l’ordinateur-chap2-codage

Portes logiquesPortes logiques

Hassen JEDIDI

Page 39: Fonctionnement de l’ordinateur-chap2-codage

Algèbre de BooleAlgèbre de Boole

L’ algèbre de Boole est la donnée de:

Un ensemble E, Deux éléments particuliers de E : « 0 » et « 1 »,

Deux opérations binaires sur E :  « + » et  « . » ,

une opération unaire sur E : « - » .

Hassen JEDIDI

Page 40: Fonctionnement de l’ordinateur-chap2-codage

Axiome de l’ algèbre de BooleAxiome de l’ algèbre de Boole

Hassen JEDIDI

Page 41: Fonctionnement de l’ordinateur-chap2-codage

ThéorèmesThéorèmes• Idempotence

• a+a=a • aa=a

• Absorption • a+ab=a• a(a+b)=a

• De Morgan (dualité)• a + b=a.b • ab=a+b

éléments absorbants a+1=1 a0=0

Hassen JEDIDI

Page 42: Fonctionnement de l’ordinateur-chap2-codage

Circuits logiques combinatoiresCircuits logiques combinatoires

Circuits dont la fonction de sortie s’exprime par une expression logique des variables d’entrées.

Quelques circuits combinatoires intervenant dans la réalisation des composants d’un ordinateur

Décodeur,Multiplexeur.

Hassen JEDIDI

Page 43: Fonctionnement de l’ordinateur-chap2-codage

DécodeurDécodeur

Permet d’envoyer un signal à une sortie choisie.

n lignes d’entrées2n lignes de sortie

Hassen JEDIDI

Page 44: Fonctionnement de l’ordinateur-chap2-codage

Table de véritéTable de vérité

Décodeur 2 vers 4 (n = 2)

Hassen JEDIDI

e1 e0 S0 S1 S2 S3

0 0 1 0 0 0

0 1 0 1 0 0

1 0 0 0 1 0

1 1 0 0 0 1

Page 45: Fonctionnement de l’ordinateur-chap2-codage

Réalisation d’un décodeur 2 vers 1Réalisation d’un décodeur 2 vers 1

Hassen JEDIDI

Page 46: Fonctionnement de l’ordinateur-chap2-codage

Multiplexeur Multiplexeur

permet de sélectionner une entrée parmi plusieurs

2n entrées1 sortien lignes de sélection

Hassen JEDIDI

Page 47: Fonctionnement de l’ordinateur-chap2-codage

Table de véritéTable de vérité

multiplexeur 4 voies

Hassen JEDIDI

e3 e2 e1 e0 C1 C0 S

- - - X 0 0 X

- - X - 0 1 X

- X - - 1 0 X

x - - 1 1 x

Page 48: Fonctionnement de l’ordinateur-chap2-codage

multiplexeur “4 voies” (n = 2)multiplexeur “4 voies” (n = 2)

Hassen JEDIDI

Page 49: Fonctionnement de l’ordinateur-chap2-codage

Circuits arithmétiques Circuits arithmétiques

Quelques circuits typiques de mise en

œuvre de opérations arithmétiques

Hassen JEDIDI

Page 50: Fonctionnement de l’ordinateur-chap2-codage

Addition Addition

Demi additionneur◦ Somme de 2 bits◦Table de vérité

◦Sortie s= a + b◦Retenue R= ab

Hassen JEDIDI

a b S R

0 0 0

0 1 1

1 0 1

1 1 0 1

Page 51: Fonctionnement de l’ordinateur-chap2-codage

Addition (2) Addition (2)

Additionneur complet (full adder)

◦ Somme de 3 bits : A, B, Rin◦ Somme : S = A + B + Rin

◦Retenue : vient de l’une des deux sommes

Hassen JEDIDI

Page 52: Fonctionnement de l’ordinateur-chap2-codage

Addition (3) Addition (3)

Hassen JEDIDI

Page 53: Fonctionnement de l’ordinateur-chap2-codage

Additionneur à propagation Additionneur à propagation simple de retenuesimple de retenue

Hassen JEDIDI

Page 54: Fonctionnement de l’ordinateur-chap2-codage

ComparateurComparateur

Comparateur 1 bit a b

p e g

p: si a <b abe: si a =b ab + abg :si a>b ab

Hassen JEDIDI

Comparateur 1 bit

Comparateur 1 bit

a b p e g

0 0 0 1 0

0 1 1 0 0

1 0 0 0 1

1 1 0 1 0

Page 55: Fonctionnement de l’ordinateur-chap2-codage

Résumé des circuits Résumé des circuits combinatoirescombinatoires

Circuit combinatoire◦ Construit avec des portes logiques.◦ Définit par une des portes logiques.◦ Définit par une table de vérité.

Circuit « idéal » pas de temps de propagation dans le circuit, La sortie « existe dès que les entrées sont

présentées. Circuit « réel »: le passage de 0 à 1 n’est pas

immédiat.

Hassen JEDIDI

Page 56: Fonctionnement de l’ordinateur-chap2-codage

Circuits séquentielsCircuits séquentiels

Circuit séquentiel:

◦ prise en compte du temps.

◦ La sortie du circuit dépend: des valeurs d’entrée, des sorties précédentes.

◦ Utilisation de l’horloge, mémoire,… .

Hassen JEDIDI

Page 57: Fonctionnement de l’ordinateur-chap2-codage

Bascule D (bistable, flip-flop)Bascule D (bistable, flip-flop)

Q-: valeur précédente de la bascule. Q+: nouvelle valeur

◦ Si CK = 1; Q+ = Q- ;◦ Si CK = 0; Q+ = D

l’entrée D est validée par l’horloge.

Hassen JEDIDI

D

CK

Q

Q

CK D Q+

1 X Q-

0 0 0

0 1 1

Page 58: Fonctionnement de l’ordinateur-chap2-codage

Utilisation des basculesUtilisation des bascules

Mémorisation:◦ Si CK = 1, le registre continue de mémoriser Q7 …..Q0

◦ Si CK =0, mémorisation de la nouvelle valeur donnée par D7 …..D0

Hassen JEDIDI

D

CK

Q

Q

D

CK

Q

Q

D

CK

Q

Q

D7D6 D0

Q7 Q6Q0

CK

Page 59: Fonctionnement de l’ordinateur-chap2-codage

Unité Arithmétique et Logique (UAL)Unité Arithmétique et Logique (UAL)

Unité chargée:◦ des opérations arithmétiques:

ADD (+), SUB(-), MUL (*), DIV (/), INC (+1), DEC (-1).

◦ des opérations logiques: AND, OR, XOR, NOT, CMP LSL, LSR, ASR (décalage)

Hassen JEDIDI

C0C1

C2

C3UAL

OF: Overflow Flag

CF: Carry Flag

ZF: Zero Flag

SF: Sign Flag

R

A B

Flag = drapeauFlag = drapeau

Sélection de

l’opération

Sélection de

l’opération

Page 60: Fonctionnement de l’ordinateur-chap2-codage

Chemin de donnéesChemin de données

Rappel de l’architecture de Von Neumann

BA : Bus d’adresseBD: Bus de donnéesBC: Bus de commande

Hassen JEDIDI

Unité de commandeUnité de commande

MémoireMémoire

Unité de traitementBA

BD

BC EntréesEntrées

SortiesSorties

Bus internes

Bus internes

Page 61: Fonctionnement de l’ordinateur-chap2-codage

61

Chapitre prochain

Machine de Von Neumann