Professional Documents
Culture Documents
1 Introduction
Soit un nombre entier positif A de n chiffres (ou digit) ai exprimé dans un système de numération de
base B. A est une suite de chiffres ai, c'est-à-dire une succession de chiffres indexée par l'indice i. la valeur
numérique de A est :
n −1
A = ∑ ai B i = an −1 B n −1 + an − 2 B n − 2 + L + a1 B1 + a0 B 0
i =0
On a toujours : 0 ≤ ai < B .
On notera pour préciser la base AB. ai présente un poids égal Bi, B0 étant le poids le plus faible, Bn-1
étant le poids le plus fort.
La base B exprimée dans son propre système s'écrit toujours 10 : B = 1 ⋅ B1 + 0 ⋅ B 0 = 10 B
Dans un système de base B, avec n positions, on peut former Bn nombres et compter de 0 à (Bn-1)
Avec n chiffres décimaux, on peut écrire 10n nombres, de 0 à (10n-1).
Cherchons N, nombre de chiffres dans une base quelconque B, nécessaire pour exprimer un même
nombre de nombres, une même quantité d'information. On écrit :
2 Le système binaire
La base est 2. Les seuls chiffres existants sont donc 0 et 1 ( 0 ≤ ai < B ). C'est le seul système qu'on peut
implémenter (implanter au niveau matériel) de façon simple : 2 états 0 ou 1, information ou pas
d'information, relais ou interrupteur ouvert ou fermé, transistor passant ou non, courant ou pas de courant
… ! On notera A2.
(10010101)B = 1*20 + 0*21 + 1*22 + 0*23 + 1* 24 + 0*25 + 0*26 + 1*27 = 1+4+16+128 = 149
Toute information est stockée, dans un ordinateur, sous forme de BIT (BInary digiT). Ces informations
sont regroupées par blocs de 8 bits nommés OCTETs ( BYTE en anglais) ou par blocs de 16 bits nommés
MOTs (WORD en anglais) ou même par blocs de 32 bits nommés MOTs LONGs (LONG WORD).
2.1 Conversion d'un nombre positif en son équivalent binaire
De façon générale, le principe est le suivant :
A = a3 B 3 + a2 B 2 + a1 B1 + a0 B 0 = B ( a3 B 2 + a2 B1 + a1 ) + a0 = BQ1 + a0
C'est-à-dire que a0, chiffre de poids faible, est le reste de la division entière du nombre A par la base B :
1
A\ B = Q1 + a0 = quotient + reste
puis Q1 = B ( a3 B1 + a2 ) + a1 = BQ2 + a1
Q2 = B ( a3 ) + a2 = BQ3 + a2
Q3 = B ( 0 ) + a3 = 0 + a3
(47)10 = (101111)2
(
Exp. : 101011110 ) 2
5 3 6 → ( 538 )8
On groupe les bits par 3 (octal) ou par 4 (hexadécimal) en partant de la droite pour la partie entière et de
la gauche pour la partie fractionnaire. Ceci produit une condensation de l'écriture, la représentation
physique restant la même.
1k = 1024 → (1000000000 ) 2 → ( 2000 )8 → ( 400 )h
2
Nombres Représentation binaire
En Hexa
décimaux 2 =8 22=4 21=2 20=1
3
0 0 0 0 0 0
1 0 0 0 1 1
2 0 0 1 0 2
3 0 0 1 1 3
4 0 1 0 0 4
5 0 1 0 1 5
6 0 1 1 0 6
7 0 1 1 1 7
8 1 0 0 0 8
9 1 0 0 1 9
10 1 0 1 0 A
11 1 0 1 1 B
12 1 1 0 0 C
13 1 1 0 1 D
14 1 1 1 0 E
15 1 1 1 1 F
Tableau 2
Chaque chiffre décimal (0, …, 9) est représenté par un groupe de quatre bits en binaire. Un nombre
BCD est donc formé de groupes de 4 bits indépendants, qui regroupés, ne forment pas de valeur binaire.
Exp. :
(45)10= (0100 0101)BCD
(5609)10= (0101 0110 0000 1001)BCD
Le code ASCII (American Standard Code for Information Interchange) est appelé aussi code ISO
(International Organization for Standerdization). Le code ASCII de base utilise 7 bits et permet de
représenter 128 (27) caractère différents : les lettres majuscules et minuscules, les chiffres (de 0 à 9), les
caractères spéciaux et symboles numérique (&, *, $ …), les caractères de control …
Le huitième bit est un bit de parité qui rétablit un nombre pair de 1 dans le caractère pour la détection
d'erreur. Si ce huitième bit est utilisé directement pour le codage, le code peut représenter 256 (28)
caractères différents.
5 Arithmétique binaire
Principe :
A+B A-B
A B Résultat Retenue Résultat R e t e n u e
0 0 0 0 0 0
0 1 1 0 1 1
1 0 1 0 1 0
1 1 0 1 0 0
Les circuits travaillent sur des nombres qui ont toujours la même longueur (format). Par exemple, si le
format est de 8 bits, le nombre (10111)2 doit être complété par des zéros : (00010111)2. En effectuant une
addition, une retenue (carry) peut apparaître. En effectuant une soustraction, une retenue (borrow) peut
3
apparaître. En manipulant des nombres trop grands pour le format, on obtient un dépassement de capacité
(overflow).
Exp. :
Addition Soustraction
1 10
1
59 0101111
1 1
011 7
8 5 0 10 0 10
01 0 1 0101
+ 42 + 0 0 1 01 010 − 5 7 − 0 0 1 1 1001
10110 0 11 00 101 2 8
0 0 0 1 1100
Multiplication Division
1101
× 101
1 13
1101
×5
11
0000
65
1101
1000001
4
(17 )10 = 0 10001
( −17 )10 = 1 01110 (complément à 1)
+ 1
( −17 )10 = 1 01111 (complément à 2) et non (47)10 en base 2
Représentation des
Décimal
nombres signés sur 8 Bits
+127 0111 1111
+7 0000 0111
+6 0000 0110
+5 0000 0101
+4 0000 0100
+3 0000 0011
+2 0000 0010
+1 0000 0001
0 0000 0000
-1 1111 1111
-2 1111 1110
-3 1111 1101
-4 1111 1100
-5 1111 1011
-6 1111 1010
17 + 8 =25 17 + 17=34
24 23 22 21 20 24 23 22 21 20
Signe 16 8 4 2 1 Signe 16 8 4 2 1
0 1 0 0 0 1 0 1 0 0 0 1
0 0 1 0 0 0 0 1 0 0 0 1
0 1 1 0 0 1 1 0 0 0 1 0
Dans ce dernier exemple, le résultat est faux, car le signe des deux opérandes est positif (bit de signe à 0)
et celui du résultat est négatif : il y a dépassement de capacité.
5.1.4 La soustraction
Elle est ramenée à une addition effectuée sur les nombres représentés en complément à deux. Avant
d'effectuer les opérations il faut toujours définir le format (la taille) de représentation des nombres (dans les
exemple ça sera sur 8 bits; le bit MSB est toujours le bit de signe).
5
0 0 0 0 1 0 0 0 (+8)
(-17) + (-8) = X= -25
1 1 1 1 0 1 1 1 c/1
retenue Signe + 1
1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 c/2 (-8)
1 1 1 1 1 0 0 0
1 1 1 1 0 0 1 1 1
0 0 0 1 0 0 0 1 (+17)
On ne tient pas compte de la retenue.
1 1 1 0 1 1 1 0 c/1
1 1 1 0 0 1 1 1 Résultat (X) + 1
0 0 0 1 1 0 0 0 c/1 1 1 1 0 1 1 1 1 c/2 (-8)
+ 1
0 0 0 1 1 0 0 1 c/2 (+25)
si A + B = R ⇒ DEB = S A ⋅ S B ⋅ S R + S A ⋅ S B ⋅ S R
où SA est le signe de A
SB est le signe de B
SR est le signe du résultat R
6
II - Système à microprocesseur
1 Introduction
C'est en 1971 que le premier microprocesseur est sorti des laboratoires d'Intel (le 4004). Travaillant sur 4
bits et d'une puissance faible, l'intérêt de ce nouveau composant électronique ne fut pas évident jusqu'à ce
que l'idée de le transformer en calculatrice fut trouvée.
Sept ans plus tard, l'arrivée du 8088 multiplie déjà cette puissance de calcul par 200 ! Cette date
correspond à la naissance des véritables micro-ordinateurs. Arrivent ensuite les microprocesseurs 68000 et
80286 (16 bits) avec les Macintosh et P.C. que nous connaissons. Ils ont introduisent l'image et le son.
Ensuite, tout n'est plus qu'une question de course à la puissance de calcul. Chaque bond technologique
apporte sont innovation.
1.1 Structure générale
C'est un système logique programmables, conçu à base d'un µp, et comprend principalement :
- un µp;
- mémoires;
- interfaces.
Le microprocesseur (CPU) échange des informations avec la mémoire et l’unité d’E/S, sous forme de
mots binaires, au moyen d’un ensemble de connexions appelé bus. Un bus permet de transférer des données
sous forme parallèle, c’est-à-dire en ; , faisant circuler n bits simultanément.
7
Les microprocesseurs peuvent être classés selon la longueur maximale des mots binaires qu’ils peuvent
échanger avec la mémoire et les E/S : microprocesseurs 8 bits, 16 bits, 32 bits, ... Le bus peut être
décomposé en trois bus distincts :
le bus d’adresses permet au microprocesseur de spécifier l’adresse de la case mémoire à lire ou à
écrire ;
le bus de données permet les transferts entre le microprocesseur et la mémoire ou les E/S ;
le bus de commande transmet les ordres de lecture et d’écriture de la mémoire et des E/S.
1.3 Notion de SOFTWARE (Logiciel)
C'est l'ensemble des programmes, des méthodes, et des règles de programmation destinées à faire
fonctionner et à utiliser un systèmes programmable.
Le software est la partie abstraite liée à l'exploitation du système.
Catégories de Logiciel :
Le programme de l'utilisateur :
C'est tout programme écrit en langage machine, en langage assembleur ou en langage évolué par
l'utilisateur du système pour ses applications.
8
2.1 Schéma fonctionnel d’une mémoire
Une case mémoire peut être lue ou écrite par le microprocesseur (cas des mémoires vives) ou bien
seulement lue (cas des mémoires mortes).
Un microprocesseur exécute un programme. Le programme est une suite d’instructions stockées dans la
mémoire. Une instruction peut être codée sur un ou plusieurs octets.
Format d’une instruction :
9
A la suite de chaque instruction, un registre du microprocesseur est actualisé en fonction du dernier
résultat : c’est le registre d’état du microprocesseur. Chacun des bits du registre d’état est un indicateur
d’état ou flag (drapeau).
Exp. : registre d’état du microprocesseur 68000
T - S - - I2 I1 I0 - - - X N Z V C
Les indicateurs d’état sont activés lorsqu’une certaine condition est remplie, exemple : le flag Z est mis
à 1 lorsque la dernière opération a donné un résultat nul, le flag C est mis à un lorsque le résultat d’une
addition possède une retenue, ...
Les indicateurs d’état sont utilisés par les instructions de saut conditionnels : en fonction de l’état d’un
(ou plusieurs) flags, le programme se poursuit de manière différente.
Chaque instruction est caractérisée par le nombre de périodes d’horloge (ou microcycles) qu’elle utilise
(donnée fournie par le fabricant du microprocesseur).
Exp. : horloge à 5 MHz, période T = 1/f = 0, 2 µs. Si l’instruction s’exécute en 3 microcycles, la durée
d’exécution de l’instruction est : 3 × 0,2 = 0, 6 µs.
L’horloge est constituée par un oscillateur `a quartz dont les circuits peuvent être internes ou externes au
microprocesseur.
10
Ils sont en général utilisés pour contrôler des simples machines (appareils électroménagers, lecteurs de
carte à puce...). Exemple de circuits :
- 80C186XX (80186, 16 bits, Intel)
- 68HC11, 68HC12 (6809, 8 bits, Motorola)
- 68HC16 (68000, 16 bits, Mototrola)
- PIC 16F84, 16F877 (Microchip)
4.3.2 Digital Signal Processor
Ce sont des processeurs dédiés aux traitements des signaux numériques. Une architecture particulière
leur permet un traitement efficace des fonctions complexes telles que FFT, convolution, filtrage numérique
...
Exp. :
- TMS320 (Texas Instrument)
- 2100 et 21000 (Analog Device)
- 56000 (Motorola)
11