Académique Documents
Professionnel Documents
Culture Documents
Sommaire
1- Architecture de base d’un ordinateur ............................................................................... 2
1-1 Modèle de Van Neumann ........................................................................................................... 2
1-2 Principe de fonctionnement ....................................................................................................... 3
1-3 La mémoire principale (MP) ..................................................................................................... 4
a- Structure logique de la MP ................................................................................................................... 4
b- Mots de mémoire ................................................................................................................................. 6
c- Les bus ................................................................................................................................................. 6
d- Opérations sur la mémoire ................................................................................................................... 7
e- Adresse d'une information : ................................................................................................................. 7
f- Alignement des données dans la mémoire ........................................................................................... 7
1-4 La mémoire cache : ..................................................................................................................... 9
1-5 La mémoire morte ROM : ................................................................................................... 9
1-6 le processeur ............................................................................................................................... 9
a- Les registres et l'accumulateur : ......................................................................................................... 10
b- Architecture d’un processeur à accumulateur .................................................................................... 11
2- Représentation des données ................................................................................................ 12
2-1 Introduction.............................................................................................................................. 12
2-2 Changements de bases ............................................................................................................. 13
a- Représentation des nombres entiers ................................................................................................... 14
b- Représentation des nombres fractionnaires ........................................................................................ 14
c- Passage d’une base quelconque à la base 10 ...................................................................................... 14
d- Passage de la base 10 vers une base quelconque ................................................................................ 15
e- Cas particuliers des bases 2, 8 et 16 ................................................................................................... 15
2-3 Codification des nombres entiers ........................................................................................... 16
a- Entiers naturels................................................................................................................................... 16
b- Entiers relatifs (les nombres signés) .................................................................................................. 16
2-4 Codification des nombres réels (Normalisation IEEE) ......................................................... 20
2-5 Représentation des caractères ................................................................................................ 21
2-6 Opération sur les systèmes binaires ........................................................................................ 23
a- Addition et problème de débordement ............................................................................................... 23
b- Gestion de débordement ..................................................................................................................... 25
c- Soustraction binaire............................................................................................................................ 26
d- Multiplication binaire ......................................................................................................................... 26
A.BENMAKHLOUF Page 1
Chapitre-1 Architecture des Ordinateurs & Codage binaire
L’architecture de base de l’unité centrale d’un ordinateur est représentée par le modèle de
Von Neumann, qui est représenté par le schéma ci-dessous.
A.BENMAKHLOUF Page 2
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Unité Centrale
A.BENMAKHLOUF Page 3
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Notion des programmes
Un programme est une suite d’instructions élémentaires, qui vont être exécutées dans l’ordre
par le processeur. Ces instructions correspondent à des actions élémentaires très simples,
comme l’addition deux nombres, lire ou écrire une case mémoire, etc.
Le processeur est capable d’exécuter des programmes en langage machine, c’est à dire
composés d’instructions très élémentaires suivant un codage précis. Chaque type de
processeur est capable d’exécuter un certain ensemble d’instructions, son jeu d’instructions.
Pour écrire un programme en langage machine, il faut donc connaître les détails du
fonctionnement du processeur qui va être utilisé.
Les mémoires sont des composants électroniques capables de stocker des données. Ces
derniers peuvent être de différents types (texte, nombres, etc.) mais elles sont toujours
stockées sous forme binaire. Toute information sera stockée comme une suite de 0 et de 1. La
plus petite unité d'information manipulable par une machine numérique est le chiffre binaire
(0 ou 1), que l’on appelle bit (pour binary digit, chiffre binaire). Un ensemble de 8 bits
constitue un Octet.
La mémoire principale ou mémoire vive est souvent appelée mémoire RAM (Random Access
Memory). Il s'agit d'une mémoire volatile : lorsque l'ordinateur est éteint ou réinitialisé, son
contenu disparait.
a- Structure logique de la MP
La mémoire est divisée en emplacements (ou mots de mémoire) de taille fixe à m bits (2, 4 ou
8 octets) utilisés pour coder 2m instructions et données différentes. (octets (byte en anglais),
soit 8 bits, unité pratique pour coder un caractère par exemple).
Chaque emplacement est repéré par son numéro, appelé adresse mémoire. Une adresse
mémoire est un nombre entier représentée en binaire et qui est en générale écrit en
Hexadécimal (représentation condensée des données binaire). Une adresse de n bits peut
désigner 2n mots mémoires distincts.
A.BENMAKHLOUF Page 4
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Soit n la taille du bus d’adresses. Soit m la taille du bus de données (taille d’un mot mémoire).
On peut exprimer la capacité de la mémoire centrale soit en nombre de mots mémoire ou en
bits (octets, kilo-octets,….)
– La capacité = 2n Mots mémoire
– La capacité total = 2n * m Bits
Exemple :
A.BENMAKHLOUF Page 5
Chapitre-1 Architecture des Ordinateurs & Codage binaire
– La capacité = 24 = 16Mots mémoire
– La capacité total = 24 * 8 = 16*8 = 128 Bits
b- Mots de mémoire
C’est l’unité de base manipulée par un microprocesseur. La taille d’un mot s’exprime
en bits ou en octets, et est souvent utilisée pour classer les microprocesseurs (processeur à
32 bits, 64 bits, etc.). Un microprocesseur est d’autant plus rapide que ses mots sont longs.
Processeur n bits est un processeur équipé pour le traitement en parallèle de n éléments
binaires.
Un mot de mémoire ou mot est donc un groupe de position mémoire adressable dans son
ensemble. C’est une séquence de bits stockée dans la mémoire et traitée comme une entité
unique.
c- Les bus
D'une façon générale, on appelle bus en informatique un ensemble de N lignes en parallèle.
Le bus d'adresse est un bus informatique permettant l'adressage de la mémoire dans des
systèmes à base de processeur. La taille (c'est-à-dire le nombre de lignes) du bus d'adresse
dépend directement du processeur choisi ; elle détermine l'espace adressable selon la
relation M=2n, où M est la quantité de mots de la mémoire et m le nombre de lignes
d'adresse.
Un bus de données est destiné au transfert des données au sein de l'ordinateur. Le terme est
aussi utilisé par extension dans le domaine logiciel. II interconnecte le processeur, la mémoire
centrale et les contrôleurs de périphériques. Il est bidirectionnel, contrairement au bus
d'adresse. La largeur du bus de données dépend directement du processeur. Cette largeur est
celle des mots de mémoire ou emplacement. On parle des processeurs de 32bits, 64bits et
128bits.
Le bus de contrôle est utilisé par le processeur pour indiquer la direction de la transaction
sur le bus de données, par exemple, s'il veut faire une écriture ou une lecture dans une case
mémoire (emplacement), ou une entrée/sortie de ou vers un périphérique.
A.BENMAKHLOUF Page 6
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Chaque emplacement mémoire conserve les informations que le processeur y écrit jusqu'à
coupure de l'alimentation électrique, où tout le contenu est perdu (contrairement au contenu
des mémoires externes comme les disquettes et disques durs).
Dans les exemples ci-dessous nous allons exposer trois configurations d’occupation de la
mémoire. Dans les deux derniers exemples nous stockons dans la RAM les mêmes données
mais l’occupation de la mémoire n’est pas la même.
Exemple-1 :
A.BENMAKHLOUF Page 7
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Processeur 32 bits
Exemple-2 : dans cet exemple, on stock 3 données de 4 octets (entiers ou int I1, I2, I3) et deux
données de 2 octets (entiers court ou short S1, S2).
Les adresses de ces données sont :
I1 : 28FEFC // S1 : 28FF02 // I2 :28FF04 // S2 : 28FF0A // I3 : 28FF0C
L’ensemble de l’espace occupé est de 20o
Bus de Données 32 bits
Num Octet Octet 0 Octet 1 Octet 2 Octet 3
Exemple-3 : dans cet exemple, on stock les mêmes données que l’exemple-2 mais
l’alignement n’est pas la même.
Les adresses de ces données sont :
S1 : 28FF00 // S2 : 28FF02 // I1 :28FF04 // I2 : 28FF08 // I3 : 28FF0C
L’ensemble de l’espace occupé est de 16o
A.BENMAKHLOUF Page 8
Chapitre-1 Architecture des Ordinateurs & Codage binaire
1-4 La mémoire cache :
Pour réduire les accès - relativement lents- : à la mémoire vive, toutes les ordinateurs actuelles
sont actuellement équipées de mémoire cache. Chaque fois que le processeur obtient des
données en provenance de la RAM, il place une copie dans la mémoire cache de telle sorte
que le processeur pourra y accéder beaucoup plus rapidement en cas de besoin. La mémoire
cache est constamment mise à jour avec les données les plus récentes.
La mémoire cache de premier niveau (appelée L1 Cache, pour Level 1 Cache) est
directement intégrée dans le processeur. Elle se subdivise en 2 parties :
o La première est le cache d'instructions, qui contient les instructions
issues de la mémoire vive décodées lors de passage dans les
pipelines.
o La seconde est le cache de données, qui contient des données issues
de la mémoire vive et les données récemment utilisées lors des
opérations du processeur.
Les caches du premier niveau sont très rapides d'accès. Leur délai d'accès tend à
s'approcher de celui des registres internes aux processeurs.
La mémoire cache de second niveau (appelée L2 Cache, pour Level 2 Cache) est située au
niveau du boîtier contenant le processeur (dans la puce). Le cache de second niveau vient
s'intercaler entre le processeur avec son cache interne et la mémoire vive. Il est plus rapide
d'accès que cette dernière mais moins rapide que le cache de premier niveau.
La mémoire cache de troisième niveau (appelée L3 Cache, pour Level 3 Cache) autrefois
située au niveau de la carte mère (utilisation de la mémoire centrale), elle est aujourd'hui
intégrée directement dans le CPU.
1-6 le processeur
Le processeur est parfois appelé CPU (en anglais Central Processing Unit) est un circuit
électronique complexe qui exécute chaque instruction très rapidement, en quelques cycles
d’horloges. Toute l’activité de l’ordinateur est cadencée par une horloge unique, de façon à ce
que tous les circuits électroniques travaillent ensembles. La fréquence de cette horloge
s’exprime en MHz (millions de battements par seconde). Par exemple, un ordinateur “PC
Pentium 133” possède un processeur de type Pentium et une horloge à 133 MHz.
A.BENMAKHLOUF Page 9
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Fig-4 : deux types de processeur du fabriquant « Intel ». A droite : un processeur « Core 2 Duo ». A gauche un
processeur « Celeron » .
L'architecture de base des processeurs équipant les gros ordinateurs est la même que celle des
microprocesseurs qui se trouvent dans ordinateurs personnels.
Le processeur est divisé en deux parties (voir figure-3), l’unité de commande et l’unité de
traitement :
l’unité de commande est responsable de la lecture en mémoire et du décodage des
instructions.
l’unité de traitement, aussi appelée Unité Arithmétique et Logique (U.A.L.), exécute
les instructions qui manipulent les données.
Le processeur utilise toujours des registres, qui sont des petites mémoires internes très rapides
d'accès utilisées pour stocker temporairement une donnée, une instruction ou une adresse.
Chaque registre stocke 8, 16 ou 32 bits.
Le nombre exact de registres dépend du type de processeur et varie typiquement entre une
dizaine et une centaine.
Parmi les registres, le plus important est le registre accumulateur, qui est utilisé pour stocker
les résultats des opérations arithmétiques et logiques. L'accumulateur intervient dans une
proportion importante des instructions.
Par exemple, examinons ce qu'il se passe lorsque le processeur exécute une instruction
comme « Ajouter 5 au contenu de la case mémoire d'adresse 180 » :
Le processeur est relié à l'extérieur par les bus de données et d'adresses, le signal d'horloge et
les signaux de commandes.
Les informations circulent à l'intérieur du processeur sur deux bus internes, l'un pour les
données, l'autre pour les instructions.
Les différents mémoires registres qui peuvent exister dans un processeur sont :
ACC : Accumulateur;
RTUAL: Registre Tampon de l'UAL, stocke temporairement l'une des deux opérandes d'une
instruction arithmétique (la valeur 5 dans l'exemple donné plus haut);
Reg. D’état : stocke les indicateurs, que nous verrons plus tard;
RI : Registre Instruction, contient le code de l'instruction en cours d'exécution (lu en
mémoire via le bus de données);
IP : Instruction Pointer ou Compteur de Programme, contient l'adresse de l'emplacement
mémoire où se situe la prochaine instruction à exécuter;
A.BENMAKHLOUF Page 11
Chapitre-1 Architecture des Ordinateurs & Codage binaire
RTA : Registre Tampon d'Adresse, utilisé pour accéder à une donnée en mémoire.
Les signaux de commandes permettent au processeur de communiquer avec les autres circuits
de l'ordinateur. On trouve en particulier le signal R/W (Read/Write), qui est utilisé pour
indiquer à la mémoire principale si l'on effectue un accès en lecture ou en écriture.
Le processeur (CPU, pour Central Processing Unit, soit Unité Centrale de Traitement)
permet de manipuler des informations numériques, c'est-à-dire des informations codées sous
forme binaire, et d'exécuter les instructions stockées en mémoire.
L'homme calcule depuis 2000 ans avant Jésus-Christ avec 10 chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8,
9), on parle alors de base décimale (ou base 10). Toutefois dans des civilisations plus
anciennes ou pour certaines applications actuelles d'autres bases de calcul ont et sont toujours
utilisées :
Base sexagésimale (60), utilisée par les Sumériens. Cette base est également utilisée
dans le système horaire actuel, pour les minutes et les secondes ;
Base vicésimale (20), utilisée par les Mayas ;
Base duodécimale (12), utilisée par les anglo-saxons dans leur système monétaire
jusqu'en 1960 : un «pound» représentait vingt «shilling» et un «shilling» représentait
douze «pences». Le système d'heure actuel fonctionne également sur douze heures
(notamment dans la notation anglo-saxonne) ;
A.BENMAKHLOUF Page 12
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Base quinaire (5), utilisée par les Mayas ;
Base binaire (2), utilisée par l'ensemble des technologies numériques.
Lorsqu’un ordinateur traite du texte, du son, de l’image, de la vidéo, il traite en réalité des
nombres. Un ordinateur manipule exclusivement des informations binaires,
Mais qu’est-ce qu’une information binaire ? C’est une information qui ne peut avoir que deux
états : par exemple, ouvert - fermé, libre –occupé, militaire – civil, assis – couché, blanc –
noir, vrai – faux, etc. Si l’on pense à des dispositifs physiques permettant de stocker ce genre
d’information, on pourrait citer : chargé – non chargé, haut – bas, troué – non troué.
On ne donne pas le dernier exemple au hasard : ce sont précisément ceux dont se sert un
ordinateur pour stocker l’ensemble des informations qu’il va devoir manipuler. En deux mots,
la mémoire vive (la « RAM ») est formée de millions de composants électroniques qui
peuvent retenir ou relâcher une charge électrique. La surface d’un disque dur, d’une bande ou
d’une disquette est recouverte de particules métalliques qui peuvent, grâce à un aimant, être
orientées dans un sens ou dans l’autre. Et sur un CD-ROM, on trouve un long sillon étroit
irrégulièrement percé de trous.
Toutefois, la coutume veut qu’on symbolise une information binaire, quel que soit son support
physique, sous la forme de 1 et de 0. Il faut bien comprendre que ce n’est là qu’une
représentation, une image commode, que l’on utilise pour parler de toute information binaire.
Dans la réalité physique, il n’y a pas plus de 1 et de 0 qui se promènent dans les ordinateurs.
Le 1 et le 0 sont des signes, ni plus, ni moins, pour désigner une information,
indépendamment de son support physique.
Les informations traitées par un ordinateur peuvent être de différents types (texte, nombres,
etc.) mais elles sont toujours représentées et manipulées par l'ordinateur sous forme binaire.
Toute information sera traitée comme une suite de 0 et de 1. L'unité d'information est le
chiffre binaire (0 ou 1), que l'on appelle bit (pour binary digit, chiffre binaire).
Le codage d'une information consiste à établir une correspondance entre la représentation
externe (habituelle) de l'information (le caractère A ou le nombre 36 par exemple), et sa
représentation interne dans la machine, qui est une suite de bits.
A.BENMAKHLOUF Page 13
Chapitre-1 Architecture des Ordinateurs & Codage binaire
a- Représentation des nombres entiers
En base 10, on écrit par exemple 1996 pour représenter le nombre
i=0
Exemple en base 2 :
( 101 )2 = 1 22 + 0 21 + 1 20 =4+0+1=5
anan1 ... a1 a0, a1 a2 ... ap = anbn + an1bn1 + ... + a0 b0 + a1 b1 + ... + ap bp
A.BENMAKHLOUF Page 14
Chapitre-1 Architecture des Ordinateurs & Codage binaire
d- Passage de la base 10 vers une base quelconque
Nombres entiers On procède par divisions successives. On divise le nombre par la base,
puis le quotient obtenu par la base, et ainsi de suite jusqu'à obtention d'un quotient nul.
La suite des restes obtenus correspond aux chiffres dans la base visée, a0 a1 ... an.
Exemple : soit à convertir (44)10 vers la base 2.
44 = 22 x 2 + 0 a0 = 0
22 = 11 x 2 + 0 a1 = 0
11 = 2 x 5 + 1 a2 = 1
5 = 2 x 2 + 1 a3 = 1
2 = 1 x 2 + 0 a4 = 0
1 = 0 x 2 + 1 a5 = 1
Ces bases correspondent à des puissances de 2 (21, 23 et 24), d'où des passages de l'une à
l'autre très simples. Les bases 8 et 16 sont pour cela très utilisées en informatique, elles
permettent de représenter rapidement et de manière compacte des configurations binaires.
Chaque chiffre en base 16 (24) représente un paquet de 4 bits consécutifs. Par exemple :
S’il y a des bits qui manquent on complète le paquet de 3 ou 4 bits par des 0 à gauche. On ne
change rien à un nombre si on ajoute des zéros à gauche.
A.BENMAKHLOUF Page 15
Chapitre-1 Architecture des Ordinateurs & Codage binaire
On manipule souvent des nombres formés de 8 bits, nommés octets, qui sont donc notés sur 2
chiffres hexadécimaux.
La représentation (ou codification) des nombres est nécessaire afin de les stocker et manipuler
par un ordinateur. Le principal problème est la limitation de la taille du codage : un nombre
mathématique peut prendre des valeurs arbitrairement grandes, tandis que le codage dans
l'ordinateur doit s'effectuer sur un nombre de bits fixé.
a- Entiers naturels
Les entiers naturels (positifs ou nuls) sont codés sur un nombre d'octets fixé (un octet est un
groupe de 8 bits). On rencontre habituellement des codages sur 1, 2 ou 4 octets.
Un codage sur n bits permet de représenter tous les nombres naturels compris entre 0 et 2n1.
Par exemple sur 1 octet, on pourra coder les nombres de 0 à 255 = 281.
On représente le nombre en base 2 et on range les bits dans les cellules binaires correspondant
à leur poids binaire, de la droite vers la gauche. Si nécessaire, on complète à gauche par des
zéros (bits de poids fort).
Un entier relatif est un entier pouvant être négatif ou po. Soit un nombre de n bits s’écrivant
de la manière suivante :
Par convention, le bit de poids fort an-1 appelé bit de signe est utilisé pour représenter le signe.
Les autres
Bits an-2 ... a1 a0. Ainsi sur n bits on peut coder des nombres signés appartenant à
[-(2n-1-1),2n-1-1]
Il existe trois méthodes pour coder binaire des nombres entiers signés :
- La méthode du signe et valeur absolue. Utiliser un bit de signe et coder la valeur
absolue
- Les méthodes du signe et complément
o La méthode du « complément à b-1 » (complément à 1 en binaire)
o La méthode du « complément à b » (complément à 2 en binaire)
Pour ces trois méthodes On considère le 1er bit « an-1 » du gauche comme un bit de signe pour
préciser le signe du nombre. Il prend les valeurs:
A.BENMAKHLOUF Page 16
Chapitre-1 Architecture des Ordinateurs & Codage binaire
i- Méthode du signe et valeur absolue
On considère que le bit du poids fort code le signe du nombre : 0 pour un entier positif
et 1 pour un entier négatif. Les autres bits codent le nombre en valeur absolue. Il faut
préciser dans ce cas le nombre de bit sur lequel on veut coder le nombre.
Exemple :
Soit le codage sur 4 bits suivant :
(0 111)2 = 7
(1 111)2 = -7
Puisque le premier bit est réservé pour le signe, sur n bit on peut coder de :
- 0 à 2n-1-1 pour les nombres positifs
- -0 à -(2n-1-1) pour les nombre négatifs
Donc sur n bits on peut coder des nombres qui appartiennent à [-(2n-1-1), 2n-1-1].
L’inconvénient de cette méthode c’est qu’on code deux fois le nombre 0 (un code pour +0 et
un autre pour -0).
Dans ce code le bit an-1 représente le signe. Dans une base b ce bit prend les valeurs:
an-1 = 0 si N > 0
an-1 = b-1 si N < 0
Le complément des nombres est un codage particulier. Les deux codes en complément les
plus couramment utilisés sont le complément à b-1 et le complément à b.
Le complément à b-1
Le complément à b-1 d’un nombre N exprimé sur n chiffres (bits), est obtenu en soustrayant
le nombre N du radical R diminué d’une unité.
𝐶𝑜𝑚𝑝𝑏−1 ((𝑁)𝑏 ) = 𝑏 𝑛 − 1 − 𝑁
Exemple :
A.BENMAKHLOUF Page 17
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Comp1(1100)2 = 24 – 1 – (1100)2 = (16 – 1– 12)10 = (3)10 = (0011)2
Remarque : Dans le cas de la base 2 cela se traduit par une simple inversion de tous les
bits.
Le complément à b
Le complément à b d’un nombre N exprimé sur n chiffres (bits), est obtenu en soustrayant le
nombre N du radical R. On peut déduire le complément à b en ajoutant 1 au complément
à b-1
𝐶𝑜𝑚𝑝𝑏 ((𝑁)𝑏 ) = 𝑏 𝑛 − 𝑁
Ou bien
Exemple :
Ou bien
iii- Codage binaire des entiers signés sur n bits : méthode complément à 1
Complémenter à un consiste à changer le 0 par 1 et 1 par 0.
- Pour les nombres positifs on procède comme dans le cas d’un entier non signé
- Pour les nombre négatifs on complémente à un son opposé positif.
- Dans les deux cas le bit du poids fort est réservé au signe.
Exemple :
Soit le codage sur un octet suivant :
(0 000 0111)2 = 7
Le complément à 1 est : (1 111 1000) = -7 et non pas 248
L’inconvénient de cette méthode est toujours le codage deux manières le 0 (0000 et 1111).
iv- Codage binaire des entiers signés sur n bits : méthode complément à 2
Exemple :
A.BENMAKHLOUF Page 18
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Soit le codage sur un octet suivant :
(0 000 0111)2 = 7
Le complément à 2 est : (1 111 1000) + 1 = (1 111 1001) = -7 et non pas 249.
Cette méthode est la plus utilisée pour coder les entiers signés. En effet, le problème du
codage du nombre 0 n’existe plus grâce l’addition de 1 qui décale l’intervalle de codage des
négatifs : (0000)2 = comp2(0000) = (1111)2 = (0)10.
De plus le complément à deux des entiers négatifs facilite les additions et les soustractions des
entiers signés.
Avec cette méthode, sur n bits on peut coder un nombre 𝑁 ∈ [−2𝑛−1 , 2𝑛−1 − 1].
Propriétés :
Comp2(N) + N = 0
Comp2(Comp2(N)) = N
Remarque :
La méthode du complément à deux est utilisable dans n’importe quelle base avec les
mêmes propriétés.
Le complément à 1 d’un nombre N en base B est donnée en remplaçant chaque chiffre
ai de N par le chiffre de valeur B – 1 – ai
Le complément à 2 est égale au complément à 1 plus 1 (comp2= comp1 + 1)
Exemple :
v- Correspondance entre le codage les nombres signés en Comp2 et les nombres non
signé.
Sur n bits on peut coder avec la méthode du Comp2 les nombres signés : 𝑁 ∈
[−2𝑛−1 , 2𝑛−1 − 1]
o Les nombres signés positifs [0, 2𝑛−1 − 1] sont représentés par les nombres non
signés [0, 2𝑛−1 − 1]
o Les nombres signés négatifs[−2𝑛−1 , − 1] sont représentés par les nombres non
signés [2𝑛−1 , 2𝑛 − 1]
A.BENMAKHLOUF Page 19
Chapitre-1 Architecture des Ordinateurs & Codage binaire
- Le signe s est représenté sur le bit de poids fort, ‘+’ est représenté par 0 et ‘-‘ par 1.
- L’exposant e est codé sur les 8 bits (11 bits). On code en binaire la valeur n + 127
(n+1023).
- La fraction f est codée sur les 23 bits (52 bits) de poids faibles.
Afin de pouvoir représenter des exposants négatifs, l'exposant est codé en excès à 127 (1023):
les huit bits codent en binaire l'entier e = E + 127.
31 30 23 22 0
s = signe e = exposant f = Partie fractionnaire
Remarque :
1- Les exposants 00000000 et 11111111 sont interdits :
a. l’exposant 00000000 signifie que le nombre est dénormalisé ;
b. l’exposant 11111111 indique que l’on n’a pas affaire à un nombre (on note
cette configuration NaN, Not a Number, et on l’utilise pour signaler des erreurs
de calculs, comme par exemple une division par 0).
2- Les plus petits exposant est donc -126, et le plus grand +127.
Exemple :
A.BENMAKHLOUF Page 20
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Dans le cas de r = -123, 5 = -1,1110111.26, le signe est négatif : s = 1 ; la partie fractionnaire
de la mantisse est 1110111 et donc m vaut 111 0111 0000 0000 0000 0000 ; enfin,
e=6+127=133 = (1000 0101)2. Le codage de r est donc :
et donc, en hexadécimal :
C 2 F 7 0 0 0 0
Les caractères sont des données non numériques : il n'y a pas de sens à additionner ou
multiplier deux caractères. Par contre, il est souvent utile de comparer deux caractères, par
exemple pour les trier dans l'ordre alphabétique.
Le codage des caractères est fait par une table de correspondance indiquant la configuration
binaire représentant chaque caractère. Les deux codes les plus connus sont l'EBCDIC (en voie
de disparition) et le code ASCII (American Standard Code for Information Interchange).
Le code ASCII représente chaque caractère sur 7 bits (on parle parfois de code ASCII étendu,
utilisant 8 bits pour coder des caractères supplémentaires).
Notons que le code ASCII original, défini pour les besoins de l'informatique en langue
anglaise) ne permet la représentation des caractères accentués (é, è, à, ù, ...), et encore moins
des caractères chinois ou arabes. Pour ces langues, d'autres codages existent, utilisant 16 bits
par caractères.
La table page donne le code ASCII. A chaque caractère est associée une configuration de 8
chiffres binaires (1 octet), le chiffre de poids fort (le plus à gauche) étant toujours égal à zéro.
La table indique aussi les valeurs en base 10 (décimal) et 16 (hexadécimal) du nombre
correspondant.
Plusieurs points importants à propos du code ASCII :
Les codes compris entre 0 et 31 ne représentent pas des caractères, ils ne sont pas
affichables. Ces codes, souvent nommés caractères de contrôles sont utilisés pour
indiquer des actions comme passer à la ligne (CR, LF), émettre un bip sonore (BEL),
etc.
A.BENMAKHLOUF Page 21
Chapitre-1 Architecture des Ordinateurs & Codage binaire
Les lettres se suivent dans l'ordre alphabétique (codes 65 à 90 pour les majuscules, 97
à 122 pour les minuscules), ce qui simplifie les comparaisons.
On passe des majuscules aux minuscules en modifiant le 5ième bit, ce qui revient à
ajouter 32 au code ASCII décimal.
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
A.BENMAKHLOUF Page 22
Chapitre-1 Architecture des Ordinateurs & Codage binaire
64 40 01000000 @ 96 60 01100000 `
65 41 01000001 A 97 61 01100001 a
66 42 01000010 B 98 62 01100010 b
67 43 01000011 C 99 63 01100011 c
68 44 01000100 D 100 64 01100100 d
69 45 01000101 E 101 65 01100101 e
70 46 01000110 F 102 66 01100110 f
71 47 01000111 G 103 67 01100111 g
72 48 01001000 H 104 68 01101000 h
73 49 01001001 I 105 69 01101001 i
74 4A 01001010 J 106 6A 01101010 j
75 4B 01001011 K 107 6B 01101011 k
76 4C 01001100 L 108 6C 01101100 l
77 4D 01001101 M 109 6D 01101101 m
78 4E 01001110 N 110 6E 01101110 n
79 4F 01001111 O 111 6F 01101111 o
80 50 01010000 P 112 70 01110000 p
81 51 01010001 Q 113 71 01110001 q
82 52 01010010 R 114 72 01110010 r
83 53 01010011 S 115 73 01110011 s
84 54 01010100 T 116 74 01110100 t
85 55 01010101 U 117 75 01110101 u
86 56 01010110 V 118 76 01110110 v
87 57 01010111 W 119 77 01110111 w
88 58 01011000 X 120 78 01111000 x
89 59 01011001 Y 121 79 01111001 y
90 5A 01011010 Z 122 7A 01111010 z
91 5B 01011011 [ 123 7B 01111011
92 5C 01011100 \ 124 7C 01111100 |
93 5D 01011101 ] 125 7D 01111101
94 5E 01011110 ^ 126 7E 01111110 ~
95 5F 01011111 _ 127 7F 01111111
Quand on additionne 2 chiffres a et b dans une base B, si la solution dépasse B alors il y a une
retenue.
A.BENMAKHLOUF Page 23
Chapitre-1 Architecture des Ordinateurs & Codage binaire
0+0=0
0+1=1
1 + 1 = 10 soit 0 avec une retenue de 1
Exemple1 : 10 + 1011
1
0010 2
+ +
1011 11
--------------- -----------
= 1101 = 13
1101 13
+ +
1010 10
--------------- -----------
= 10111 = 23
Dans l’exemple-2 une addition de deux nombres de 4bits donne un nombre de 5bits (sur 4 bits
on ne peut coder que les nombres entre [0, 15]). Il y a donc un problème de débordement
(overflow).
On dit qu’il y a un débordement lorsque le résultat de l'opération n'est pas représentable dans
le système utilisé (i.e., avec le nombre de chiffres utilisé).
Exemple1 : addition sur 8bits de deux nombres non signés (179 + 133 =312).
179
+
133
=
312
Dans le cas d'une addition de deux nombres en codage binaire naturel, le débordement
correspond à une retenue sortante à 1 (cas de 179 + 133 sur 8 bits)
A.BENMAKHLOUF Page 24
Chapitre-1 Architecture des Ordinateurs & Codage binaire
- Débordement dans le cas des entiers signés (opération avec complément à 2)
115
+
69
=
-72 sur 8 bits (calcul faux)
=
184 sur 9 bits (calcul juste)
La somme deux valeurs positives donne une valeur négative. Il y a donc un débordement.
Pour avoir le résultat juste il faut faire le codage sur 9bits.
Autres exemples :
Cas de débordement
b- Gestion de débordement
La Gestion des débordements dans le cas d’une addition signé est différente que dans
l'addition non signée :
Une retenue sur un bit supplémentaire par rapport à la précision ne veut pas forcément
dire que le résultat n'est pas stockable avec la précision utilisée
En compare la retenue entrante dans le bit de poids fort (bit de signe) avec la retenue
sortante:
o Si les retenues identiques (00 ou 11) : pas de débordement
o Si retenues différentes (01 ou 10) : débordement
A.BENMAKHLOUF Page 25
Chapitre-1 Architecture des Ordinateurs & Codage binaire
S'il n'y a pas de débordement, le résultat tient dans la précision requise, On néglige
systématiquement la retenue sur le bit supplémentaire pour déterminer le résultat final
la retenue n'a aucune signification.
c- Soustraction binaire
- On utilisant les mêmes règles que dans la décimal. Quand la quantité à soustraire est
supérieure à la quantité dont on soustrait, on emprunte 1 au voisin de gauche.
1101 = 13
-
1011 = 11
-------------------
= 0010 =2
1101
1101 1101
- +
1011 0101
------------------- ----------------------
= 0010 = 1 0010 il y a pas de débordement. Il faut négliger
la retenue il n’a aucune signification
d- Multiplication binaire
101 = 5
× ×
110 = 6
------------
000
101.
101 ..
----------------------
11110 = 30
On a :
Un décalage d’un bit vers la gauche si on multiplie par 2
Un décalage d’un bit vers la droite si on divise par 2
A.BENMAKHLOUF Page 26