Académique Documents
Professionnel Documents
Culture Documents
23/04/2009
Terminologie
Bit (binary digit) la plus petite unit de donne dans un ordinateur Le plus petit lment de stockage Il mmorise un bit dinformation ( 0 ou 1 ) Octet ou Byte Groupement de 8 bits 1 byte = 8 bits Kilobits (Kb) = 1024 bits (~103bits =1000 bits) Kilobits par seconde (kbps) = la quantit de donnes transfres travers une connexion (ADSL Menara = 128 kbps) Kilobytes (KB) = 1024 byte (~ 103byte = 1000 byte) Kilobytes par seconde (kBps) = la quantit de donnes transfres travers une connexion Megabit (Mb) = 1.048.576 bit (~ 106bits =1.000.000 bit) Megabyte (MB) = 1.048.576 byte (~ 1.000.000 byte) Mbps MBps
Terminologie
1 Hertz (Hz) = mesure de frquence
Nombre de cycle par seconde Utilis pour dcrire la vitesse dun processeur
Exemple:
Annes 80, vitesse processeur < 10MHz Actuellement, vitesse processeur > 3.000 MHz ou 3 GHz
23/04/2009
INFORMATION
Les tres humains manipulent diffrents types dinformations
Nombres, instructions, images, vidos, sons...
Ncessit de codage
Codage
Consiste tablir une correspondance entre
la reprsentation externe de linformation Caractre, nombre,
Et
Sa reprsentation interne Suite de bits
23/04/2009
Codage
Reprsentation externe
Caractre, nombre, son, image, etc.
Reprsentation interne
Suite de bits Facile raliser techniquement Systmes deux tats dquilibre Les oprations fondamentales sont relativement simples effectuer Circuits logiques
Types dinformation
Types dinformations traites par un ordinateur
Instructions Oprations effectues par un ordinateur Donnes Numriques Non numriques
23/04/2009
Les instructions
Reprsentent les oprations effectues par un ordinateur En langage machine, sont composes de plusieurs champs
Code de lopration (addition, soustraction) Oprandes impliqus
Le code opration doit tre dcod pour pouvoir excuter effectivement lopration
10
Les donnes
Les oprandes sur lesquels portent les oprations rsultats produits par ces oprations
Deux types
Donnes numriques objet dune opration arithmtiques par exemple Donnes non numriques symboles constituant un texte par exemple
23/04/2009
11
Instruction
Donnes
Numrique
Non numrique
12
Donnes numriques
Nombres entiers positifs ou nuls
0; 1; 315; etc.
Nombres fractionnaires
3,1415; -0,5; etc.
23/04/2009
13
14
Aprs codage, les oprations arithmtiques sont effectues, le plus souvent, en arithmtique binaire
Exemple de laddition et de la multiplication binaire 0+0=0 0+1=1 1+0=1 1 + 1 = 0 avec retenue 0x0=0 0x1=0 1x0=0 1x1=1
23/04/2009
15
16
Transcodage
Lopration permettant de passer dun code un autre sappelle transcodage
Caractre 0 1 2 9 A B C BCD 000000 000001 000010 001001 010001 010010 010011 6 bits ASCII 0110000 0110001 0110010 0111001 1000001 1000010 1000011 7 bits EBCDIC 11110000 11110001 11110010 11111001 11000001 11000010 11000011 8 bits
23/04/2009
17
Endianisme
Sur un octet, on ne peut pas coder nimporte quelle valeur binaire
On utilise plusieurs octets
Endianisme:
Manire dordonner les octets des valeurs dont la reprsentation binaire dpasse un octet. Dpend des types de processeurs
Exemple:
Le nombre 62 090 (F28A en hexadcimal) est cod sur 16 bits (2 octets) En mmoire: deux alternatives sont possibles selon les machines
Octet de poids fort Octet de poids faible
Little-endian Big-endian
F2 8A
8A F2
18
Endianisme
Les deux systmes sont quivalents en terme de performance Les microprocesseurs Intel sont little-endian Les microprocesseurs Motorola sont big-endian Les systmes little-endian et big-endian doivent tre pris en compte par les programmeurs qui manipulent des donnes sur ces machines
23/04/2009
20
Systmes de numration
Un systme de numration fait correspondre, un nombre N, un certain symbolisme crit et oral. Dans un systme de base p>1
Les nombres 0, 1, 2, p-1 sont appels chiffres Tout nombre entier positif peut tre reprsent par une expression de la forme: N= anpn+an-1pn-1++a1p1+ a0 = aipi Avec ai {0,1,p-1} et
i=0 n
an 0
23/04/2009
21
SYSTME DECIMAL
Le plus utilis dans tous les aspects de la vie courante Dcimal ou base 10 (p = 10) utilise 10 chiffres 0,1,2,3,4,5,6,7,8 et 9 Exemple: 589012
Reprsentation en format dcimal 589012 = 5*105 + 8*104 + 9*103 + 0*102 + 1*101 + 2*100 = 5*100000 + 8*10000 + 9*1000 + 0*100 + 1*10 + 2*1
22
Systme binaire
Utilise 2 chiffres 0 et 1 (p = 2) Exemple
(p = 10) 21 = 2 * 101 + 1 * 100 (p = 2) 21 = 1 * 24 + 0 * 23 + 1 * 22 + 0 * 21 + 1 * 20 2110 = 101012
23/04/2009
23
128 27 1
64 26 0
32 25 0
16 24 1
8 23 0
4 22 0
2 21 0
1 20 1
24
Systme binaire
1112 = 1x22+1x21+1X20 = 710 0102 = 0x22+1x21+0X20 = 210 11112 = 1x23+1x22+1x21+1x20 = 1510 101012 = 1x24+0x23+1x22+0x21+1x20 = 2110 111010112 = 1x27+1x26+1x25+0x24+1x23+0x22+1x21+1x20 = 23510 101010102 = 1x27+0x26+1x25+0x24+1x23+0x22+1x21+0x20 = 17010 001010012 = 0x27+0x26+1x25+0x24+1x23+0x22+0x21+1x20 = 4110
23/04/2009
25
Systme hexadcimal
Les nombres binaires obtenus sont souvent composs dun grand nombre de bits On prfre les exprimer dans le systme hexadcimal
base 16 ou p=16 La conversion vers le systme binaire est facile
26
Systme hexadcimal
p = 16 si les 16 chiffres de la base 16 taient :
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Problme:
Comment interprter le nombre 112 ? 112 = 1*162 + 1*161 + 2*160 ? ou 112 = 11*161 + 2*160 ? ou encore 112 = 1*161 + 12*160 ?
23/04/2009
27
Systme hexadcimal
8016 =
8*161 + 0*160 = 12810
A5E16 =
10*162 + 5*161 + 14*160 = 265410
20016 =
2*162 + 0*161 + 0*160 = 51210
CAFE16 =
12*163 +10*162+15*161+14*160=5196610
28
Correspondance dcimal/binaire/hexadcimal
Dcimal
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Binaire
0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
Hexadcimal
0 1 2 3 4 5 6 7 8 9 A B C D E F 10
23/04/2009
29
Champ fixe
La reprsentation des entiers >=0 est dite en champ fixe
Le nombre de chiffres utiliss pour reprsenter un nombre est fixe
Exemple:
Le nombre de chiffres utiliss pour reprsenter le nombre N = ak-1ak-2a2a1a0 est gal k Ce nombre peut tre stock dans un registre ou un mot mmoire de k positions Sur 6 bits (k=6) en binaire, on peut reprsenter les nombres De 000000 111111 111111 = 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20 = 63 de 0 63 (63=26 -1)
30
Champ fixe
Dans un registre de k positions et pour une base p Les entiers positifs N pouvant tre reprsents sont tels que 0 <= N <= pk-1 On parle alors dun registre
De longueur k Et de capacit pk -1
Exemple
Dans un registre de longueur 4 et pour la base 16 La capacit maximale est de : 164 1 = 65 535
23/04/2009
31
Champ fixe
Cest le constructeur qui fixe la longueur des registres ou des mots mmoire
Donc implicitement, le plus grand nombre positif reprsentable sur une machine
32
La valeur obtenue ne peut tre reprsente sur 6 bits Dans ce cas, les calculs continuent ou une erreur est signale , dune faon diffrente dun constructeur un autre
23/04/2009
La conversion
34
Conversion binaire/dcimal
Addition des puissances de 2 correspondant aux bits de valeur 1 101012 = 1*24 + 0*23 + 1*22 + 0*21 + 1* 20 = 16 + 4 + 1 = 2110
101012 = 2110
23/04/2009
35
x = 4 car 24=16 et 25=32 30-16=14 chercher x tel que 2x < 14 < 2x+1 .
25 32 0
24 16 1
23 8 1
22 4 1
21 2 1
20 1 0
36
23/04/2009
37
Exercices
910 = 10012 1810 = 100102 6010 = 1111002 21310 = 110101012 295010 = 1011100001102
38
23/04/2009
39
40
Binaire
00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 00001100 00001101 00001110
hexadcimal
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E
23/04/2009
41
La conversion correspond un clatement de chaque chiffre hexadcimal sur en son quivalent binaire sur 4 bits Exemples
8016 = 1000 00002 8016 = 8*161 + 0*160 = 12810 1000 00002 = 1 * 27 = 12810 0x70FF = 0111 0000 1111 11112 =2892710 A3B216 = 1010 0011 1011 00102 CAFE 16= 1100 1010 1111 11102
42
23/04/2009
44
Comment reprsenter des valeurs ngatives ou des nombres fractionnaires? Il faut employer des reprsentations plus labores
Signe et valeur absolue Complment 1 Complment 2
23/04/2009
45
Reprsentation idale
Lintervalle des valeurs reprsentes est constitu dun nombre gal de nombres positifs et ngatifs
Intervalle Symtrique
Or, un mot mmoire de k bits donne lieu un nombre pair de reprsentations (2k)
Il y a toujours une valeur de plus (que certains constructeurs utilisent comme valeur rserve)
46
23/04/2009
47
Complment 1
Soit x un entier relatif Si x est un nombre positif Il est cod en signe et valeur absolue On code en binaire sa valeur absolue sur n-1 bits Le nme bit est mis 0 Si x est un nombre ngatif
On code en binaire sa valeur absolue sur n-1 bits On complmente On remplace chaque bit 0 par 1 et vice-versa Calcul de -6 en complment 1 La valeur absolue +6 = 0110 En signe et valeur absolue -6 = 1110 En complment 1 -6 = 1001
48
Complment 2
Soit x un entier relatif Si x est un nombre positif Il est cod en signe et valeur absolue On code en binaire sa valeur absolue sur n-1 bits Le nme bit est mis 0 Si x est un nombre ngatif
On code en binaire sa valeur absolue sur n-1 bits On complmente 1 On complmente 2 On additionne 1 la valeur du complment 1 Calcul de -6 en complment 2 La valeur absolue +6 = 0110 En signe et valeur absolue -6 = 1110 En complment 1 -6 = 1001 en complment 2 -6 = 1001 + 1 = 1010
23/04/2009
49
Complment 1 Complment 2
011111111 011111110 000000001 000000000 111111111 111111110 100000001 100000000 ************** 011111111 011111110 000000001 000000000 ***************** 111111111 100000010 100000001 100000000
50
on prfre la complmentation
23/04/2009
51
Caractristiques du complment 1
Reprsentation symtrique Le bit de signe est respect:
=0 pour un nombre positif =1 pour un nombre ngatif
Le 0 a une double reprsentation La reprsentation en complment 1 est facile raliser lectroniquement Les oprations arithmtiques sont avantageuses
52
Caractristiques du complment 2
Il a tous les avantages du complment 1 Le complment 2 vite le problme du double 0
23/04/2009
53
Complment 1 et 2
Il ny a pas de traitement particulier pour le bit de signe La soustraction dun nombre se rduit laddition de son complment Des circuits ralisant la soustraction sont inutiles Traitement de la retenue
En complment 1: la retenue doit tre ajoute au rsultat En complment 2: la retenue est simplement ignore
Dcimal +7 -6 +1 Signe + valeur absolue 0111 +1110 ?101 Compl. 1 0111 +1001 10000 1 0001 Compl. 2 0111 +1010 10001 0001
54
Conclusion
La complmentation est toujours utilise pour reprsenter les nombres ngatifs Chacune des mthodes (complment 1 ou 2) a ses propres avantages et inconvnients Le choix est une question de compromis et dpend du constructeur
23/04/2009
55
Exercices
Nombre -118 64 -53 -192 127 -127 Signe et valeur absolue 11110110 01000000 10110101 1000 0000 1100 0000 0111 1111 1111 1111 Complment 1 10001001 01000000 11001010 1111 1111 0011 1111 0111 1111 1000 0000 Complment 2 10001010 01000000 11001011 1111 1111 0100 0000 0111 1111 1000 0001
23/04/2009
57
En base b:
58
Virgule fixe
Les ordinateurs nont pas de virgule au niveau de la machine
On traite donc ces nombres comme des entiers, avec une virgule virtuelle gre par le programmeur
Dbordement de capacit
Le produit de 2 nombres fractionnaires de k chiffres chacun peut contenir 2k chiffres Leur quotient peut contenir un nombre infini de chiffres
23/04/2009
59
60
0,125 * 2 = 0,250 = 0 + 0,250 0,25 * 2 = 0,50 = 0 + 0,50 0,5 * 2 = 1,0 = 1 + 0,0 En considrant les parties entires de haut en bas, 0,12510 = 0,0012
23/04/2009
61
Exemple
54,3510 en base 2 ?
Partie entire: 5410 = 1101102 Partie fractionnaire: 0,35 * 2 = 0,70 = 0 + 0,70 0,70 * 2 = 1,40 = 1 + 0,40 0,40 * 2 = 0,80 = 0 + 0,80 0,80 * 2 = 1,60 = 1 + 0,60 0,60 * 2 = 1,20 = 1 + 0,20 . 54,3510 = 110110,010112
62
Exercices
27,389210 = 11011,011000112 9,17510 = 1001,0010112
23/04/2009
64
Avantages
Les oprations dentre/sorties sont faciles Le calcul est fait en base 10
Inconvnients
Les calculs sont compliqus
23/04/2009
65
66
BCD
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
23/04/2009
67
Code BCD
On a besoin de 4 bits pour coder les 10 chiffres dcimaux Les valeurs reprsentables sur 4 bits sont 24=16
Il y a 6 configurations non utilises Il faut en tenir compte dans les oprations arithmtiques Pour laddition, il faut ajouter 6 chaque fois que le rsultat est>9 Pour la soustraction, il faut retrancher 6 chaque fois que le rsultat est ngatif Table p.44
Oprations arithmtiques
Addition
23/04/2009
69
Addition dcimale
Aligne les nombres selon la colonne Unit Laddition commence par lunit la plus droite et se propage vers la gauche Si la somme de la colonne dpasse 10 (la base), on divise la somme par 10, inscrire le reste de la division comme rsultat, et faire propager la valeur de la retenue Exemple: 9278 + 62
70
Addition binaire
Aligne les nombres selon la colonne Unit Laddition commence par lunit la plus droite et se propage vers la gauche Si la somme de la colonne dpasse 2 (la base), on divise la somme par 2, inscrire le reste de la division comme rsultat, et faire propager la valeur de la retenue
23/04/2009
71
Exercices
72
Exercices
23/04/2009
73
Exercices
74
Addition hexadcimale
Aligne les nombres selon la colonne Unit Laddition commence par lunit la plus droite et se propage vers la gauche Si la somme de la colonne dpasse 16 (la base), on divise la somme par 16, inscrire le reste de la division comme rsultat, et faire propager la valeur de la retenue
23/04/2009
75
Exercices
Retenue Oprande 1 Oprande 2 Somme 3 B 3 1 A F F E 7 7 E B 1 C
1 2 9 C F C B 3 A D
76
Exercices
Retenue Oprande 1 Oprande 2 Somme 1 1 1 C E B 1 A D 8 1 F C C E B 9
1 3 4 F B A
1 6 6 D
1 7 D 5 2 E 0
23/04/2009
77
Exercices
Retenue Oprande 1 Oprande 2 Oprande 3 Oprande 4 Oprande 5 Somme 1 A 4 2 3 2 F B A 2 4 C 3 6 6 D 8 7 B 2 7 D 5 E D 6 2 E 0 C 5 1
Oprations arithmtiques
Soustraction
23/04/2009
79
Soustraction dcimale
Soient
2 oprandes op1 et op2 D = op1 op2
Si |op1| |op2| alors D = op1 op2 Si |op2| |op1| alors D = - (op2 op1)
80
Soustraction dcimale
Oprande 1 1 4 3
Oprande 2
Calcul intermdiaire
1-1=0
4-9-1=-6 1*10-6=4
3-8=-5 1*10-5=5
23/04/2009
81
Soustraction binaire
1 1 0 1-1=0
1 1 1 1 1-1-1=-1 1(2)-1=1
0 0 1 1 0-1=-1 1(2)-1=1
0 1 1 0-1=-1 1(2)-1=1
82
Exercices
Oprande 1 Oprande 2 Retenue Diffrence 1 0 1 1 1 0 1 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1
1 1 0
0 1 1
0 0 0
1 0 1 0
1 1 1 1
0 1 1 0
0 1 1
23/04/2009
83
Exercices
Oprande 1 Oprande 2 Oprande 3 Oprande 4 Retenue Diffrence 1 0 1 0 2 0 3 0 1 0 1 0 0 0 0 1 0 1 1 1 2 1 0 1 1 1 1 0 0 0 0 1 1
84
Soustraction hexadcimale
op1 - op2 - op3 - op4 = ((op1 - op2) - op3) - op4
23/04/2009
85
Exercices
Oprande 1 Oprande 2 Retenue Diffrence A A F 5 1 9 1 D 1 3 D 2 5
Oprations arithmtiques
Multiplication
23/04/2009
87
Multiplication dcimale
88
Multiplication binaire
Oprations de base
0x0=0 0x1=0 1x0=0 1x1=1
23/04/2009
89
Remarques
Dans une multiplication binaire, multiplier le nombre binaire dcriture la plus longue par celui dcriture la plus courte
Cela donne moins de produits partiels Et donc moins de sommes raliser
La longueur du produit binaire est la somme des longueurs des 2 nombres multiplier
Le produit de 2 quartets donne un octet Le produit de 2 octets donne un mot (16 bits)
90
Exercices
Retenue Multiplicande Multiplicateur Retenue Produit partiel Produit partiel Produit 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 . 1 1 1 1 1 1 1 1 1
23/04/2009
91
Exercices
Retenue Multiplicande Multiplicateur Retenue Produit partiel Produit partiel 1 1 Produit 1 0 0 0 0 0 1 1 1 1 1 2 1 1 0 1 1 0 1 0 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1 0 1 . 0 0 0 . . 0 1 . . . 1 1 1 0 0 1 1
92
Multiplication hexadcimale
23/04/2009
93
Multiplication hexadcimale
94
Exercices
Retenue Multiplicande Multiplicateur Retenue Produit partiel Produit partiel Produit 1 1 1 8 9 A 3 D 3 0 3 4 . 4 1 1 2 3 3 0 C 4 D Calcul intermdiaire Dx4=52=(3x16)+4 Dx2=26=(1x16)+10 Cx4=48=(3x16)+0 Cx2=24=(1x16)+8
23/04/2009
95
Exercices
Retenue Multiplicande Multiplicateur Retenue Produit partiel Produit partiel Produit 1 2 7 A 1 7 E 6 9 A 3 2 . 2 2 9 1 3 3 F 2 5 A Calcul intermdiaire Ax5=50=(3x16)+2 AxF+3=153=(9x16)+9 Ax3+9=39=(2x16)+7 2xF=30=(1x16)+14 9+A=19=(1x16)+3 1+7+E=22=(1x16)+6
Oprations arithmtiques
Division
23/04/2009
97
Division dcimale
98
Division binaire
Elle se pose comme une division dcimale Le quotient partiel sobtient par dcoupage partir de la gauche du dividende, suivant la longueur du diviseur (partiel) Le quotient partiel ne peut tre que 0 ou 1
Si le diviseur > dividende partiel, le quotient = 0 et le reste = le dividende partiel Si le diviseur <= dividende partiel, le quotient = 1 et le reste=dividende - diviseur dividende diviseur
1101 101 0011 000 11 101 1 0 quotient
reste
23/04/2009
99
Division binaire
101011002 = AC16 = 17210 10002 = 816 = 810 101012 = 1516 = 2110 1002 = 416 = 410
100
Exercices
1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0
23/04/2009
101
Exercices
1 0 0 1 0 0 1 1 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1 1 1 1 1 0 0 0
102
Division hexadcimale
23/04/2009
103
Division hexadcimale
Calcul intermdiaire 5E=94=(9x10)+4 9xA=90=(5x16)+10=5A 4A=74 74=(7x10)+4 70=(4x16)+6 44=68=(6x10)+8 60=(3x16)+12 4-C=-8|(1x16)-8=8 94 90 74 70 68 60 8 5 5 0 E A 4 4 0 A 6 4 3 0 4 C 8 A 4 9 A 7 6
23/04/2009
105
106
23/04/2009
107
Le code ASCII
Le systme de codage international sur 7 bits Le code ASCII est utilis pour communiquer entre le clavier dun micro-ordinateur et lunit centrale
Chaque touche possde un code distinct Le clavier est quip dun microprocesseur de type Intel 8048 qui scrute les circuits du clavier en permanence
108
23/04/2009
109
Code ASCII
Sur 7 bits, il reprsente:
des fonctions de commandes transmissions de donnes, tabulations, Retour chariot ... des symboles de ponctuations quelques symboles usuels en informatique (@...) les chiffres les majuscules les minuscules
Sur 8 bits:
Les caractres accentus utiliss dans diverses langues Quelques symboles mathmatiques Les caractres semi graphiques qui permettent de raliser des petits dessins gomtriques.
110
Code ASCII
Les 32 premiers codes et le caractre 127 sont des caractres de contrle non imprimables
le saut de ligne, espace, le retour chariot, le saut de page, la tabulation, le retour arrire
Sur un PC, pour accder un caractre, il suffit de taper ALT et le code ASCII du caractre en dcimal
Exemple : ALT 64 donnera @.
23/04/2009
111
112
23/04/2009
113
114
Extensions
Le contrle de parit est rendu de plus en plus non utile Le huitime bit est utilis pour coder plus de caractres (deux fois plus) La norme iso-latin-1 propose lextension du code ASCII sur 8 bits
Plus connue sous le nom iso-8859-1 Plusieurs variantes existent pour satisfaire tous les besoins mondiaux
Les caractres ASCII de 0 127 (en dcimal) restent inchangs Les codes suprieurs (ayant le bit 7 1) reprsentent des caractres supplmentaires et les lettres accentus
23/04/2009
115