- Traitement numérique du microprocesseur
-
Traitement numérique (microprocesseur)
Cet article est utile pour les élèves de collèges et de lycées techniques. Le microprocesseur, cerveau de l'ordinateur, effectue tous les calculs.
Système de numération
Base
Une base B caractérise un système de numération dans lequel tout nombre N peut s'écrire: N = mnBn + mn-1Bn-1 + M1B + m0B0 avec tous les coefficients m < B.
Exemples
- Le nombre 341(8) en base octale s'écrit: 3 × 8² + 4 × 81 + 1 × 80
- Le nombre 3AF8(16) en base hexadécimale s'écrit: 3 × 163 + A × 162 + F × 161+8 × 160
Tableau numérique
Base décimale Base binaire Base octale Base hexadécimale 0 0 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10 17 10001 21 11 18 10010 22 12 ... ... ... ... Pondération
Représenter un nombre NB de n chiffres (ou symboles), dans une base B donnée, consiste en l'écriture en ligne de ces n chiffres de façon telle que: NB = (§)n-1… (§)i ... (§)5 (§)4 (§)3 (§)2 (§)1 (§)0
Avec: § : un quelconque des B chiffres ou symboles de la base, n - 1, .... i, 5, 4, 3, 2, 1, 0 indices indiquant le rang ou la position d'ordre du chiffre à partir de la droite.
La pondération permet l'attribution d'une valeur numérique ou poids à chacun des rangs. Ce poids P dépend de la base dans laquelle est représenté le nombre et a pour valeur: P=Brang
Exemple
Dans le nombre décimal 425, le chiffre 5 est en position d'ordre 1 ou rang 0, le chiffre 2 en position d'ordre 2 ou rang 1 et le chiffre 4 en position d'ordre 3 ou rang 2.
4 2 5 nombre
2 1 0 rang
Pour la base 10, système décimal :
- le premier rang ou rang 0 a pour poids 100 soit 1, c'est le rang des unités,
- le rang suivant, rang 1 a pour poids 101 soit 10 (rang des dizaines),
- le rang 2 a pour poids 102 soit 100 (rang des centaines),
- le rang 3 a pour poids 103 Soit 1000 (rang des milliers), et ainsi de suite.
Note
Dans le système binaire on ne parle plus d'unité, de dizaine ou de centaine mais de bit (contraction de l'anglais binary digit, qui signifie rang binaire). On distingue ainsi le bit 0, le bit 1, le bit 2, le bit 3 ... L'équivalent français de bit est élément binaire ou eb, ce terme est relativement peu employé.
Code binaire pur
Le code binaire pur ou code binaire naturel est un code pondéré dans lequel les poids sont représentés par les puissances successives de deux. La valeur décimale du nombre binaire représenté s'obtient directement par addition du poids affecté à chaque bit de valeur 1.
Note
Un groupe de huit bits est appelé octet (en anglais byte of 8 bits). Un groupe de quatre bits est appelé quartet (en anglais byte of 4 bits).
Exemple
Le nombre binaire 110011 a pour valeur : 1 × 25 + l × 24 + 0 × 2³ + 0 × 2² + 1 × 21 + 1 × 20 Soit en décimal : 32 + 16 + 0 + 0 + 2 + 1 = 51
24 (16) 2³ (8) 2² (4) 21 (2) 20 (1) Équivalent décimal N(10) 0 0 0 0 0
0 0 0 1 1 0 0 1 0 2 0 0 1 1 2 + 1 ou 3 0 1 0 0 4 0 1 0 1 4 + 1 ou 5 0 1 1 0 4 + 2 ou 6 0 1 1 1 4 + 2 + 1 ou 7 1 0 0 0 8 1 0 0 1 8 + 1 ou 9 1 0 1 0 8 + 2 ou 10 1 0 1 1 8 + 2 + 1 ou 11 1 1 0 0 8 + 4 ou 12 1 1 0 1 8 + 4 + 1 ou 13 1 1 1 0 8 + 4 + 2 ou 14 1 1 1 1 8 + 4 + 2 + 1 ou 15 1 0 0 0 0 16 1 0 0 0 1 16 + 1 ou 17 1 0 0 1 0 16 + 2 ou 18 Code de Gray (code binaire réfléchi)
Dans le code binaire pur le passage d'une combinaison à l'autre entraîne parfois le changement simultané de plusieurs bits. C'est par exemple le cas pour la transition de l'équivalent décimal 3 à l'équivalent décimal 4 pour laquelle les bits de poids 1 et 2 passent de 1 à 0 et le bit de poids 4 passe de 0 à 1. Pour éviter cet inconvénient, cause d'aléas lorsque le code sert à la représentation de grandeurs physiques à variation continue, informations de position par exemple, il est nécessaire d'imaginer des codes pour lesquels le passage d'une combinaison à la suivante n'implique que la modification d'un bit et d'un seul. De tels codes sont appelés "codes réfléchis". Parmi ceux-ci, le code de Gray est le plus employé.
Plus d'infos sur le Code de Gray sont disponibles sur Internet. Voir sur Google.
Note
Un code réfléchi qui est un code non pondéré ne peut être utilisé pour les opérations arithmétiques.
Représentation hexadécimale des nombres binaires
La représentation hexadécimale ou représentation à base 16 est une notation condensée des nombres binaires. En remarquant que 24 = 16, on peut représenter un octet binaire à l'aide de l'un des 16 symboles du système hexadécimal. Dans ce système les dix premiers symboles sont identiques à ceux utilisés dans le système décimal : 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9, et les six derniers correspondent aux premières lettres de l'alphabet latin : A, B, C, D, E et F, lesquelles valent respectivement : 10, 11, 12, 13, 14 et 15 en base 10.
Transcodage
Passage de la base 2 à la base 16
Pour représenter en hexadécimal un nombre binaire, il suffit de le découper en groupe de quatre bits. Chacun des bits de ces groupes ayant une pondération s'échelonnant de 20 à 23, leur somme fournit la valeur hexadécimale de chaque groupe.
Exemple
Soit le nombre binaire 1011100110101100 à convertir en hexadécimal. Le découpage en quartets de ce nombre donne : 1011 1001 1010 1100
Après pondération, la somme S, bit par bit de chaque groupe de quatre bits est :
2³ (8) 2² (4) 21 (2) 20 (1) S 1 0 1 1 11 Soit B(16) 1 0 0 1 9 Soit 9(16) 1 0 1 0 10 Soit A(16) 1 1 0 0 12 Soit C(16) Le nombre hexadécimal correspondant au nombre binaire 1011100110101100 est : B9AC
Passage de la base 16 à la base 2
Pour convertir en binaire un nombre hexadécimal, il convient de remplacer chacun des symboles hexadécimaux par son quartet binaire équivalent.
Exemple
Les trois quartets binaires équivalents au nombre hexadécimal 8D6 sont :
2³ (8) 2² (4) 21 (2) 20 (1) 8 1 0 0 0 D 1 1 0 1 6 0 1 1 0 Le nombre binaire correspondant au nombre hexadécimal 8D6 est : 1000 1101 0110
Représentation octale des nombres binaires
Comme la représentation hexadécimale la représentation octale ou représentation à base 8 est une notation condensée des nombres binaires. En remarquant que 2³ = 8, on peut représenter un triplet binaire à l'aide de l'un des 8 symboles du système octal. Ces huit symboles sont identiques au huit premiers chiffres du système décimal, soit : 0, 1, 2, 3, 4, 5, 6 et 7.
Pour représenter en octal un nombre binaire, il suffit de le découper en groupe de trois bits ou triplet. Chacun des bits de ces groupes ayant une pondération s'échelonnant de 20 à 2² leur somme fournit la valeur octale de chaque groupe.
Soit le nombre binaire 110101100 à convertir en octal. Le découpage en triplets de ce nombre donne: 110 101 100
Après pondération, la somme S, bit par bit de chaque groupe est :
2² (4) 21 (2) 20 (1) S 1 1 0 6 Soit 6(8) 1 0 1 5 Soit 5(8) 1 0 0 4 Soit 4(8) Le nombre octal correspondant au nombre binaire 110101100 est : 654
Représentation binaire codée décimale
Dans la représentation binaire codée décimale à chacun des éléments décimaux correspond un quartet représentatif de son équivalent binaire.
Ainsi :
- au 0(10) correspond 0000(2) ;
- au 1(10) correspond 0001(2) ;
- au 9(10) correspond 1001(2).
Le code Binaire Codé Décimal (BCD) est un code pondéré.
Les poids des bits représentatifs sont:
- pour le quartet le moins significatif (le premier quartet à droite): 8.4.2.1. ;
- pour le quartet suivant 80.40.20.10 ;
- 800.400.200.100. pour le troisième ;
- et ainsi de suite jusqu'au quartet le plus significatif (le dernier quartet à gauche).
Exemple
Le nombre décimal 2001(10) devient en BCD : 0010 0000 0000 0001. Inversement, le nombre BCD 1001 0101 0001 0111 devient en décimal 9517.
Récapitulations
Tableau récapitulatif de conversion des systèmes
Base décimale Base binaire Base octale Base hexadécimale 0 0 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10 17 10001 21 11 18 10010 22 12 ... ... ... ... Récapitualtif des méthodes de conversion
Conversion binaire - décimal
La méthode consiste à décomposer le nombre en puissances décroissantes de 2 en partant du rang le plus haut, soit :
- 1010(2) = 1 × 2³ + 0 × 2² + 1 × 21 + 0 × 20
- 1010(2) = 8 + 0 + 2 + 0
- 1010(2) = 10(10)
Conversion décimal - binaire
On effectue des divisions successives par 2 (voir plus en haut).
Conversion hexadécimal - décimal
La méthode consiste à décomposer le nombre en puissances décroissantes de 16 en partant du rang le plus haut, soit :
- BA8(16) = B × 16² + A × 161 + 8 × 160
- BA8(16) = 11 × 16² + 10 × 161 + 8 × 160
- BA8(16) = 2816 + 160 + 8
- BA8(16) = 2984(10)
Conversion décimal - hexadécimal
On effectue des divisions successives par 16 (voir plus en haut).
Conversion octal - décimal
La méthode consiste à décomposer le nombre en puissances décroissantes de 8 en partant du rang le plus haut, soit :
- 777(8) = 7 × 8² + 7 × 81 + 7 × 80
- 777(8) = 448 + 56 + 7
- 777(8) = 511(10)
Conversion décimal - octal
On effectue des divisions successives par 8 (voir plus en haut).
Opérations arithmétiques en base 2
Les opérations les plus fréquentes en base 2 sont l'addition et la soustraction. Ces opérations s'effectuent de la même manière que les opérations décimales en utilisant des tables d'addition et de soustraction beaucoup plus simples.
Addition binaire
L'addition est l'opération qui consiste à effectuer: dans un premier temps, la somme Si de deux chiffres binaires de même rang tels que Ai et Bi par exemple, puis, dans un second temps, une deuxième somme entre le résultat précédemment obtenu et la valeur du report ou retenue Ri-1, issu de l’addition aval de rang i - 1.
Exemple
Effectuer l'addition de deux nombres binaires A et B tels que:
- A = 110 (6 en décimal)
- B = 011 (3 en décimal)
Décomposition de la procédure :
- au premier rang (20), la retenue aval est forcément nulle et le total de A. et B. est bien égal à 1,
- au rang suivant (21), la retenue aval est également nulle, le total de A1 et B1, est égal à 0 mais génère un report R1,
- au troisième rang (2²) au total de A2 et B2 égal à 1 il faut rajouter le report R1 ce qui donne un total définitif de 0 avec un report R2 qui affecte le rang quatre.
Résultat final
Le résultat définitif est donc : 1001 soit 9 en décimal (6 + 3 = 9).
Voir aussi
- Arithmétique binaire
- Mathématiques
- Microprocesseur
- Ordinateur
- Système binaire
- Système hexadécimal
- Système octal
Liens externes
Aucun lien externe pour le moment.
- Portail de l’informatique
- Portail de la logique
- Portail des mathématiques
Catégories : Microprocesseur | Carte mère | Calcul numérique
Wikimedia Foundation. 2010.