You are on page 1of 11

I - Les systèmes de numération

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 :

10 n = B N ⇒ log10 (10 n ) = log10 ( B N ) d'où n = N log10 ( B )

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

20 21 22 23 24 25 … 210 211 … 220 221 …

1 2 4 8 16 31 1024 (1k) 2048 (2k) 1048576 2097152


1024k=1M 2048k=2M

Tableau 1 : poids du système binaire

Notons en particulier que : 1k (kilo) =210=1024 ; 1M (méga) =220 =1024k


1G (giga) = 230 = 1024M ; 1T (térra) = 240 =1024G

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

Les restes successifs de la conversion entière par B


jusqu'à ce que le quotient soit nul et lus de bas en haut
représente AB.
Application : ( 47 )10 = (? )2

(47)10 = (101111)2

2.2 Le système octal


La base est B=8. Les seuls chiffres existants sont : 0, 1, 2, 3, 4, 5, 6, 7. On notera A8.
(47)10 = (57)8

2.3 Le système hexadécimal


La base est 16. Ce qui implique qu'il faut 16 chiffres pour représenter les nombres dans cette base. Les
10 chiffres du système décimal ne suffisaient donc pas pour coder les valeurs. Plutôt que d’inventer 6
nouveaux symboles, il a été décidé d’utiliser les 6 premières lettres de l’alphabet comme CHIFFRES.
Les chiffres existants dans cette base sont donc : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. On notera
A16 ou Ah. On utilise cette représentation quand il s’agit de noter simplement de longues séries de bits. Un
chiffre hexadécimal son équivalent en binaire s'écrit sur 4 bits (Tableau 2)
2.4 Conversion binaire – octal – hexadécimal
Elle est simple du fait que : 8 = 23  groupe de 3 bits
16 = 24  groupe de 4 bits
1 5 E → (15 E )h

(
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

3 Code DCB (Décimal codé binaire, anglais BCD)

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

4 Représentation des caractères alphanumériques (Donner le tableau du code ASCII)

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

5.1 Codage des nombres négatifs


Le bit de poids fort (MSB : Most Signicant Bit) est bit de signe. Il indique le signe du nombre : 0 
positif ; 1  négatif. Il existe trois modes de représentation.
5.1.1 Signe et valeur absolue
Le MSB est le bit e signe, les autres bits indiquent la valeur absolue des nombres.
Exp. :
(17 )10 = 0 10001
et non (32+17)10 = (49)10 exprimé en binaire pure
( −17 )10 = 1 10001
Cette représentation produit une bonne lisibilité, mais nécessite un transcodage pour les calculs
arithmétiques.
5.1.2 Complément à 1
Si n est le nombre de bits constituant le nombre N, il est appelé aussi complément à 2n-1. C'est le
complément logique ( − N = N ) de tout les bits, bit à bit : − N + N = 2 n + 1 .
Exp. :
(17 )10 = 0 10001
et non (31+8+4+2)10=(46)10 exprimé en base 2
( −17 )10 = 1 01110
5.1.3 Complément à 2
Si n est le nombre de bits constituant le nombre N, il est appelé aussi complément à 2n. C'est le
complément à 1 auquel on ajout 1 ( − N = N + 1 ) : − N + N = 2n .
Exp. :

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

-128 1000 0000


Autres exemples :

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).

17 + (-8) = +9 Le complément à 2 de (-8)


retenue Signe 0 0 0 0 1 0 0 0 (+8)
0 0 0 1 0 0 0 1 1 1 1 1 0 1 1 1 c/1
1 1 1 1 1 0 0 0 + 1
1 0 0 0 0 1 0 0 1 1 1 1 1 1 0 0 0 c/2 (-8)
On ne tient pas compte de la retenue.

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)

96 + 48 = +154 (-96) + (-48) = -154


retenue Signe retenue Signe
0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0
0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0
0 1 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0
Dans les deux derniers cas, les résultats sont faux, car les signes des résultats ne correspondent pas aux
vrais résultats  il y a dépassement de capacité.
Si "-" est l'opérateur de complémentation, "+" et "⋅" sont la somme et le produit logique respectivement.
On peut donc exprimer le débordement (dépassement de capacité) par :

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.

1.2 Notion de HARDWARE (Matériel)


C'est tous les composants physiques qui constituent un système, à savoir circuits imprimés, composants
électroniques, alimentation, châssis, …ça représente la partie palpable ou concrète du système.
 Microprocesseur :
C'est l'élément exécuteur (CPU, Central Processing Unit), exécute les instructions qui se trouvent en
mémoire (vive ou morte).
 Mémoire morte : elle contient des programmes et des données ineffaçables.
 Mémoire vive : elle contient des programmes et des données qui peuvent être effacées par le µp.
 Interfaces : circuits servants d'intermédiaire entre le µp et d'autres éléments qui communiquent
avec ce circuit.
 Horloge : c'est la base de temps qui cadence le fonctionnement séquentiel du µp.

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.

 Interpréteur et compilateur pour langage évolué :


Ce sont des programmes spéciaux qui interprètent les programmes de l'utilisateur écrits en langage
évolué, en des programmes écrits en langage machine,donc compréhensible par le µp.
 Le programme système (système d’exploitation)
Le système d’exploitation (SE, en anglais Operating System ou OS) est un ensemble de programmes
responsables de la liaison entre les ressources matérielles d’un ordinateur et les applications informatiques
de l’utilisateur (traitement de texte, jeu vidéo… ). Il fournit aux programmes applicatifs des points d’entrée
génériques pour les périphériques.

2 Les mémoires à semi-conducteurs

On distingue deux types de mémoires :


(Voire la copie !!!!)

8
2.1 Schéma fonctionnel d’une mémoire

Le nombre de lignes d’adresses dépend de la capacité de la mémoire : n lignes d’adresses permettent


d’adresser 2n cases mémoire : 8 bits d’adresses permettent d’adresser 256 octets, 16 bits d’adresses
permettent d’adresser 65536 octets (= 64 Ko), ...
Exp. :
Mémoire RAM 6264 : 13 broches d’adresses de A0 à A12, 213 = 8192 = 8 Ko (capacité = 8K×8 bits).
2.2 Organisation de la mémoire
La mémoire peut être vue comme un ensemble de cellules ou cases contenant chacune une information :
une instruction ou une donnée. Chaque case mémoire est repérée par un numéro d’ordre unique : son
adresse.

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).

3 Fonctionnement d’un microprocesseur

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.

4 Types d’architecture d’un microprocesseur

4.1 Architecture CISC (Complex Instruction Set Computer)


C’est une architecture avec un grand nombre d’instructions. Le processeur doit exécuter des tâches
complexes par instruction unique. Donc, pour une tâche donnée, une machine CISC exécute un petit
nombre d’instructions mais chacun nécessite un pus grand nombre de cycles d’horloge (Intel 8086,
Pentium…, Motorola 68000, PowerPC). Actuellement les deux technologies convergent : les processeurs
CISC (Pentium par exemple) utilisent des instruction de plus en plus simples et exécutent parfois plusieurs
instructions en un cycle d’horloge.
4.2 Architecture RISC (Reduced Instruction Set Computer)
Architecture dans la quelle les instructions sont en nombre réduit (chargement, branchement, appel sous-
programme) et elle sont fréquemment utilisées. Le but est d’éliminer les instructions rarement employées et
de consacrer les ressources matérielles à exécuter les instructions relativement simples en un cycle
d’horloge et à émuler les autres instructions à l’aide des séquences basées sur les instructions élémentaires.
On trouve donc une meilleure performance à une vitesse donnée (le gain en performance envisageable est
important mais dépend de la qualité du compilateur). Processeurs RISC : PowerRISC (IBM/Motorola),
SPARC (SUN), PA-RISC (HP).
4.3 Les processeurs spécialisés
4.3.1 Micro-contrôleurs
Ils contiennent un CPU, de la RAM, de la ROM, quelques ports d’E/S parallèles, des ports séries, des
compteurs programmables (timers), des CAN/CNA, des interfaces pour réseaux de terrain ...

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

You might also like