INTRODUCTION


 L'ORDINATEUR

Qu'est-ce qu'un ordinateur ?

Il faut condidérer un ordinateur comme un assemblage de composants electroniques.

Ces composants sont pour l'essemtiel :

La carte mère (Motherboard)
Le Microprocesseur (CPU)
La mémoire vive (RAM)
Le disque dur (Hard disk)
L'écran (Screen)
Le clavier (Keyboard)
La souris (Mouse)

Et d'autres éléments qui viennent se greffer sur la carte mère.

Par analogie au corps humain, considérez la Carte mère comme étant le corps humain doté d'un cerveau (CPU) d'une mémoire à court terme (RAM) et une mémoire à long terme (Hard disk), des yeux (Screen), Les sens (Keyboard), les bras (Mouse).

L'ordinateur est une unité de traitement de l'information.

Cette information comme la voie l'ordinateur sont des impulsions electriques qui passent dans les circuits electroniques de ses composants.

Prenons l'exemple d'une mémoire vive composée de huit fils. Dans chacun des fils passe ou ne passe pas de courant.

On va représenter le courant passant dans un fil par le chiffre 1 et le courant qui ne passe pas par le chiffre 0.

Cet état s'appelle le système binaire ou système à deux états.

Fil 0 : 1
Fil 1 : 0
Fil 2 : 0
Fil 3 : 0
Fil 4 : 0
Fil 5 : 0
Fil 6 : 1
Fil 7 : 0

L'ensemble de ces fils représente une information d'un octet que l'homme va interpréter à sa façon.

Du point de vu numérique l'informartion ci-dessus correspond au nombre 65 et du point de vu alphabétique c'est le caractère : A.

LA MEMOIRE

La plus petite unité de stockage est le bit.

Mais l'ordinateur organise l'information sous forme d'octet.

L'informaticien utilise donc l'octet comme zone de stockage minimale.

Plusieurs termes sont utilisés pour faire référence à un espace de stockage, ces termes sont les suivants :

Quartet : 4 bits.

Octet : 8 bits.
(Byte)

Mot (deux octets) : 16 bits
(Word)

Double mot (quatre octets) : 32 bits
(Dword)

Quadruple mot (huit octets) : 64 bits
(Qword)

Dix octets : 80 bits
(Tbyte)

Paragraphe (seize octets) : 128 bits

L'information est placée en mémoire selon la technique "Little Endian". Le premier octet, octet de poids faible (celui situé le plus à droite), est placé à l'adresse la plus basse, le deuxième octet est placé à l'adresse immédiatement supérieure.

Prenons la valeur suivante en hexadécimal : 54A5F2B6h, cette dernière occupe quatre octets en mémoire soit 32 bits.

ADRESSE VALEUR
0 B6
1 F2
2 A5
3 54

Pour en savoir plus

La pile

La pile est une zone de stockage située dans la mémoire vive. Elle sert au programme en exécution, bien évidemment, afin qu'elle y place certaines données.

Ces données sont les variables locales, les paramètres de fonction et d'autres.

Même si un programme n'utilise pas de variables locales, ni n'utilise de paramètres de fonction il faut définir obligatoirement une pile d'une certaine taille.

En effet si vous appelez une fonction sans paramètre et qu'elle ne possède pas de variable locale, l'appel de cette dernière provoquera la mise sur la pile, au minimum, de l'adresse de retour de la fonction.

Je ne vais pas m'étendre d'avantage sur ce point, pour en savoir plus cliquez sur le lien.

Pour en savoir plus.

Les registres

Il existe de la mémoire autre que la mémoire vive (RAM). Cette mémoire, plus rapide que la mémoire vive, est siutée au coeur du microprocesseur, cette mémoire porte le nom de registre. un certain nombre de registres sont disponibles, que vous pouvez utiliser pour stocker les données.

Par exemple : mov eax, edx

eax et edx sont des registres.

Dans cette instruction le microprocesseur copie le contenu de la zone mémoire edx dans la zone mémoire eax.

Pour en savoir plus

LES SYSTEMES NUMERIQUES

Aujourd'hui, Ce sont 3 systèmes de numération qui sont utilisés en informatique.

Ces systèmes de numération sont :

Le système binaire,
le système hexadécimal,
le système décimal.

Le système binaire

Ce système appelé système numérique en base 2. 2 donne le nombre de représentations possibles d'une valeur pour une position. Chaque position d'une valeur binaire est une puissance de deux.

Comme je le précisais tantôt les données sont injectées en mémoire selon la méthode de "Little endian".

Les données binaires sont interprétées de la droite vers la gauche.

Un octet correspond à huit bits, numérotés de 0 à 7 :


Position 7 6 5 4 3 2 1 0
Valeur absolue 128 64 32 16 8 4 2 1

Position correspond à la postion du bit dans cet ensemble. A chaque position correspond une valeur absolue.

En reprenant l'exemple ci-dessus, la valeur 65 est représentée de la façon suivante :


Position 7 6 5 4 3 2 1 0
Valeur absolue 128 64 32 16 8 4 2 1
Valeur binaire 0 1 0 0 0 0 0 1

Donc,le nombre est représenté en binaire par : 01000001b

Pour calculer une valeur binaire en décimal, on prend la valeur binaire de la position multipliée par la base élevée à la puissance n. L'élévation à la puissance correspond au nombre de positions situées à droite de la position binaire que l'on veut évaluer.

Prenons la valeur de 65 (01000001b) qui s'obtient par :


0 x 2 ^ 7 = 0
1 x 2 ^ 6 = 64
0 x 2 ^ 5 = 0
0 x 2 ^ 4 = 0
0 x 2 ^ 3 = 0
0 x 2 ^ 2 = 0
0 x 2 ^ 1 = 0
1 x 2 ^ 0 = 1

NB : Le b minuscule représente la base du système numérique utilisé.

b pour binaire
h pour hexadécimal
d pour décimal

Le système hexadécimal

Ce système est appelé système numérique en base 16, 16 donne le nombre de représentations possibles d'une valeur pour une position.

C'est le système le plus utilisé par l'homme en informatique car il permet l'interprétation rapide d'une valeur binaire.

En effet chaque postion d'une valeur hexadécimale correspond à un ensemble de quatre (quartet) bits. La plage de valeur s'étend de 0 à F soit seize conbinaisons possibles.


Position 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Valeur hexadécimale F E D C B A 9 8 7 6 5 4 3 2 1 0

Comme on le voit, une valeur hexadécimale est composée de 10 chiffres décimaux et 6 lettres.

Voici les seize possibilités :


Binaire (quartet) Hexadécimal Décimal
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 8
1001 9 9
1010 A 10
1011 B 11
1100 C 12
1101 D 13
1110 E 14
1111 F 15

En reprenant notre valeur de 65 on obtiendra une valeur hexadécimale à deux chiffres.

Pourquoi à deux chiffres ?

Par ce que deux chiffres hexadécimaux peuvent représenter une valeur maximale de 255 donc, 65 est compris dans cette plage de valeurs. La valeur hexadécimale qui résulte de 65 est 41h.


Position 7 6 5 4 3 2 1 0
Valeur absolue 128 64 32 16 8 4 2 1
Valeur binaire 0 1 0 0 0 0 0 1
Valeur hexadécimale (2 quartets) 4 (bit 7 à 4) 1 (bit 3 à 0)

Le système décimal

C'est le système de comptage que l'homme utilise donc je ne donnerai aucune explication à ce sujet.

Si ce n'est que chaque position peut recevoir une valeur comprise entre 0 et 9.

CONCLUSION SUR LES SYSTEMES NUMERIQUES

Pour convertir une valeur d'un système numérique en une valeur décimale, il faut utiliser la formule générique suivante :

vp x b ^ n

vp = valeur de la position
b = base du système
n = nombre de positions qu'il y a à droite d'une position donnée.

Prenons pour exemple le nombre de 266. Ce nombre est codé sur deux octets.

On ne tient pas compte des positions à zéro.

Binaire : 00000001 00001010b

(1 x 2^8 = 256) + (1 x 2^3 = 8) + (1 x 2^1 = 2) = 266

Hexadécimal : 010Ah

(1 x 16^2 = 256) + (A x 16^0 = 10) = 266

Décimal : 266d

(2 x 10^2 = 200) + (6 x 10^1 = 60) + (6 x 10^0 = 6) = 266

Octal (base 8) : 412o

(4 x 8^2 = 256) + (1 x 8^1 = 8) + (2 x 8^0 = 2) = 266

Je n'ai point évoqué ce système numérique étant donné qu'il est tombé en désuétude. Néanmoins j'y ai fait référence par souci d'être complet.

Je le répète qu'elle que soit la base du système numérique utilsez la formule ci-dessus, elle s'y applique à n'importe lequel.