|
BINAIRE,
HEXADÉCIMAL:
Vers la fin
des années 30, Claude Shannon
démontra qu'à l'aide de
"contacteurs" (interrupteurs)
fermés pour "vrai" et ouverts
pour "faux" il était possible
d'effectuer des opérations
logiques en associant le nombre
" 1 " pour "vrai" et "0" pour
"faux".
Ce codage de
l'information est nommé base
binaire. C'est avec ce codage
que fonctionnent les
ordinateurs. Il consiste à
utiliser deux états (représentés
par les chiffres 0 et 1) pour
coder les informations. L'homme
travaille quant à lui avec 10
chiffres (0,1,2,3,4,5,6,7,8,9),
on parle alors de base décimale.
Bit
(noté b avec une
minuscule dans les notations)
signifie "binary digit",
c'est-à-dire 0 ou 1 en
numérotation binaire. C'est la
plus petite unité d'information
manipulable par une machine
numérique.
Il est possible de représenter
physiquement cette information
binaire :
- par un signal électrique
ou magnétique, qui,
lorsqu'elle atteint une
certaine valeur, correspond
à la valeur 1.
- par des
aspérité géométrique
dans une surface.
- grâce à des bistables,
c'est-à-dire des composants
électroniques qui ont deux
états d'équilibre (un
correspond à l'état 1,
l'autre à 0)
Avec un bit
il est ainsi possible d'obtenir
deux états: soit 1, soit 0.
2 bits rendent possible
l'obtention de quatre états
différents (2*2):
Avec 3 bits
il est possible d'obtenir huit
états différents (2*2*2):
| 0 |
0 |
0 |
| 0 |
0 |
1 |
| 0 |
1 |
0 |
| 0 |
1 |
1 |
| 1 |
0 |
0 |
| 1 |
0 |
1 |
| 1 |
1 |
0 |
| 1 |
1 |
1 |
Pour un groupe de n bits, il est
possible de représenter 2n
valeurs.
L'octet
(en anglais byte, noté
B avec une majuscule dans
les notations) est une unité
d'information composée de 8
bits. Il permet de stocker un
caractère, telle qu'une lettre,
un chiffre ...
Ce regroupement de nombres par
série de 8 permet une lisibilité
plus grande, au même titre que
l'on apprécie, en base décimale,
de regrouper les nombres par
trois pour pouvoir distinguer
les milliers. Par exemple le
nombre 1 256 245 est plus
lisible que 1256245.
Une unité
d'information composée de 16
bits est généralement appelée
mot (en anglais word)
Une unité
d'information de 32 bits de
longueur est appelée double
mot (en anglais double
word, d'où l'appelation
dword).
Pour un
octet, le plus petit nombre est
0 (représenté par huit zéros
00000000), le plus grand est 255
(représenté par huit chiffre
"un" 11111111), ce qui
représente 256 possibilités de
valeurs différentes.
| 27
=128 |
26
=64 |
25
=32 |
24
=16 |
23
=8 |
22
=4 |
21
=2 |
20
=1 |
| 0 |
0 |
0 |
0 |
0 |
0 |
0 |
0
|
| 1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
Longtemps
l'informatique s'est
singularisée par l'utilisation
de différentes valeurs pour les
unités du système international.
Ainsi beaucoup d'informaticiens
ont appris que 1 kilooctet
valait 1024 octets. Or, depuis
décembre 1998, l'organisme
international IEC a
statué sur la question (http://physics.nist.gov./cuu/Units/binary.html).
Voici donc les unités
standardisées :
- Un kilooctet (ko ou kB)
= 1000 octets
- Un Mégaoctet (Mo ou MB)
= 1000 Ko = 1 000 000 octets
- Un Gigaoctet (Go ou GB)
= 1000 Mo = 1 000 000 000
octets
- Un Téraoctet (To) = 1000
Go = 1 000 000 000 000
octets
 |
Attention ! De
nombreux logiciels
(parfois même certains
systèmes d'exploitation)
utilisent toujours la
notation antérieure à
1998 pour laquelle :
- Un kilooctet (ko)
= 210
octets = 1024 octets
- Un Mégaoctet
(Mo) = 220
octets = 1024 Ko = 1
048 576 octets
- Un Gigaoctet
(Go) = 230
octets = 1024 Mo = 1
073 741 824 octets
- Un Téraoctet
(To) = 240
octets = 1024 Go = 1
099 511 627 776
octets
|
L'IEC a
également défini le kilo binaire
(kibi), le méga binaire (Mébi),
le giga binaire (Gibi), le tera
binaire (Tebi).
Voici leurs définitions :
- Un kibioctet (kio ou
kiB) vaut 210 =
1024 octets
- Un Mébioctet (Mio ou
MiB)vaut 220 =1
048 576 octets
- Un Gibioctet (Gio ou
GiB) vaut 230 =1
073 741 824 octets
- Un Tébioctet (Tio ou
TiB) vaut 240 =1
099 511 627 776 octets
Il est également utile de noter
que la communauté internationale
dans son ensemble utilise
préférentiellement le nom de
"byte" plutôt que le terme
"octet" purement francophone.
Cela donne les notations
suivantes pour kilobyte,
mégabyte, gigabyte et terabyte :
kB, MB, GB, TB
 |
Notez l'utilisation
d'un B majuscule
pour différencier
Byte et bit.
|
Voici une
capture d'écran du logiciel
HTTrack, l'aspirateur de
sites le plus populaire,
montrant l'utilisation de cette
notation :
Les
opérations arithmétiques simples
telles que l'addition, la
soustraction et la
multiplication sont faciles à
effectuer en binaire.
L'addition en
binaire se fait avec les mêmes
règles qu'en décimale:
On commence à additionner les
bits de poids faibles (les bits
de droite) puis on a des
retenues lorsque la somme de
deux bits de mêmes poids dépasse
la valeur de l'unité la plus
grande (dans le cas du binaire:
1), cette retenue est reportée
sur le bit de poids plus fort
suivant...
Par exemple:
| |
0 |
1 |
1 |
0 |
1 |
| + |
0 |
1 |
1 |
1 |
0 |
| - |
- |
- |
- |
- |
- |
| |
1 |
1 |
0 |
1 |
1 |
La table de
multiplication en binaire est
très simple:
La multiplication se fait en
formant un produit partiel pour
chaque digit du multiplieur
(seul les bits non nuls
donneront un résultat non nul).
Lorsque le bit du multiplieur
est nul, le produit partiel est
nul, lorsqu'il vaut un, le
produit partiel est constitué du
multiplicande décalé du nombre
de positions égal au poids du
bit du multiplieur.
Par exemple:
| |
|
0 |
1 |
0 |
1 multiplicande |
| x |
|
0 |
0 |
1 |
0 multiplieur |
| - |
- |
- |
- |
- |
- |
| |
|
0 |
0 |
0 |
0 |
| |
0 |
1 |
0 |
1 |
|
| 0 |
0 |
0 |
0 |
|
|
| - |
- |
- |
- |
- |
- |
| |
0 |
1 |
0 |
1 |
0 |
|
Un
processeur est composé
de transistors
permettant de réaliser
des fonctions sur des
signaux numériques. Ces
transistors, assemblés
entre eux forment des
composants permettant de
réaliser des fonctions
très simples. A partir
de ces composants il est
possible de créer des
circuits réalisant des
opérations très
complexes. L'algèbre de
Boole (du nom du
mathématicien anglais
Georges Boole
1815 - 1864) est un
moyen d'arriver à créer
de tels circuits.
L'algèbre de Boole est
une algèbre se proposant
de traduire des signaux
en expressions
mathématiques. Pour
cela, on définit chaque
signal élémentaire par
des variables logiques
et leur traitement par
des fonctions logiques.
Des méthodes (table
de vérité)
permettent de définir
les opérations que l'on
désire réaliser, et à
transcrire le résultat
en une expression
algébrique. Grâce à des
règles appelées
lois de composition,
ces expressions peuvent
être simplifiées. Cela
va permettre de
représenter grâce à des
symboles un
circuit logique,
c'est-à-dire un circuit
qui schématise
l'agencement des
composants de base (au
niveau logique) sans se
préoccuper de la
réalisation au moyen de
transistors (niveau
physique).
Un
ordinateur ne manipule
que des données
binaires on appelle
donc variable logique
une donnée binaire,
c'est-à-dire une donnée
ayant deux états
possibles: 0 ou 1.
On
appelle fonction logique
une entité acceptant
plusieurs valeurs
logiques en entrée et
dont la sortie (il peut
y en avoir plusieurs)
peut avoir deux états
possibles: 0 ou 1.
En
réalité ces fonctions
sont des composants
électroniques admettant
des signaux électriques
en entrée, et restituent
un signal en sortie. Les
signaux électroniques
peuvent prendre une
valeur de l'ordre de 5
Volts (c'est l'ordre de
grandeur général) que
l'on représente par un
1, ou 0 V que l'on
représente par un 0.
Les
fonctions logiques de
bases sont appelées
portes logiques. Il
s'agit de fonctions
ayant une ou deux
entrées et une sortie:
- La fonction
OU (en anglais
OR)
positionne sa sortie
à 1 si l'une ou
l'autre de ses
entrées est à 1
- La fonction
ET (en anglais
AND)
positionne sa sortie
à 1 si ses deux
entrées sont à 1
- La fonction
OU EXCLUSIF (en
anglais XOR)
positionne sa sortie
à 1 si l'une ou
l'autre de ses
entrées est à 1 mais
pas les deux
simultanément
- La fonction
NON (appelée
aussi inverseur)
positionne sa sortie
à 1 si son entrée
est à 0, et
vice-versa
On
définit généralement les
fonctions NON OU
(couramment appelée
NOR) et NON ET
(NAND) comme
étant la composition
respective d'un NON avec
un OU et un ET.
Un
chronogramme est un
diagramme montrant
l'évolution des entrées
et des sorties en
fonction du temps.
Voici par exemple ce à
quoi pourrait ressembler
un chronogramme de
l'opérateur ET:
Ce
chronogramme en un
chronogramme idéal, en
réalité les signaux
électriques ne passent
pas instantanément de 0
à 1, les pentes (ici
verticales) sont
obliques, et le
traitement des entrées
cause un retard sur les
sorties:
Le
but de l'algèbre de
Boole est de décrire le
traitement de signaux
sous forme d'expression
algébrique. Comme nous
l'avons vu, les signaux
sont représentés par des
noms de variables. Les
fonctions logiques sont
représentées par des
opérateurs:
- la fonction
OU est
représenté par un
plus:
- la fonction
ET est
représenté par un
point:
- la fonction
NON est
représenté par une
barre
au-dessus de la
variable inversée:
Elle est parfois
représentée par un /
devant la variable
inversée
- la fonction
OU EXCLUSIF est
représenté par un
plus encerclé:
Une
expression algébrique
sera donc une expression
du type:
Une
table de vérité est un
tableau permettant de
décrire toutes les
possibilités de sorties
en fonction des entrées.
On place donc les
variables d'entrées dans
les colonnes de gauche
en les faisant varier de
telle façon à couvrir
l'ensemble des
possibilités. La colonne
(ou les colonnes si la
fonction a plusieurs
sorties) de droite
décrit la sortie.
Voici
par exemple les tables
de vérités des portes
logiques:
| Nom de la
porte |
Entrée |
Sortie |
| |
A |
B |
S
|
|
OU
|
0 |
0 |
0
|
| 0 |
1 |
1
|
| 1 |
0 |
1
|
| 1 |
1 |
1
|
|
ET
|
0 |
0 |
0
|
| 0 |
1 |
0
|
| 1 |
0 |
0
|
| 1 |
1 |
1
|
|
NON OU
|
0 |
0 |
1
|
| 0 |
1 |
0
|
| 1 |
0 |
0
|
| 1 |
1 |
0
|
|
NON ET
|
0 |
0 |
1
|
| 0 |
1 |
1
|
| 1 |
0 |
1
|
| 1 |
1 |
0
|
|
NON
|
0
|
1
|
|
1
|
0
|
Il
est possible à partir de
la table de vérité d'une
fonction d'écrire
l'expression algébrique
de celle-ci.
Soit la table de vérité
suivante:
|
Entrée |
Sortie |
| A |
B |
S
|
| 0 |
0 |
0
|
| 0 |
1 |
0
|
| 1 |
0 |
1
|
| 1 |
1 |
0
|
La
sortie vaut 1 lorsque A
vaut 1 et B vaut 0,
l'expression algébrique
de cette fonction est
donc:
Prenons maintenant la
table de vérité
suivante:
|
Entrée |
Sortie |
| A |
B |
C |
S
|
| 0 |
0 |
0 |
0
|
| 0 |
0 |
1 |
0
|
| 0 |
1 |
0 |
1
|
| 0 |
1 |
1 |
0
|
| 1 |
0 |
0 |
0
|
| 1 |
0 |
1 |
0
|
| 1 |
1 |
0 |
1
|
| 1 |
1 |
1 |
0
|
La
sortie vaut 1 lorsque
- A vaut 0
- B vaut 1
- C vaut 0
ou
- A vaut 1
- B vaut 1
- C vaut 0
L'expression algébrique
de cette fonction est
donc:
 |
|