Cours 01

Vous aimerez peut-être aussi

Vous êtes sur la page 1sur 9

USTHB Année 2022/2023

Département d’Automatique 3éme année Licence

Les Microprocesseurs/Les Microcontrôleurs

Cours pour les étudiants d’automatique

Niveau L3

Chapitre 01 : Notions de base sur les systèmes de numérations


USTHB Année 2022/2023
Département d’Automatique 3éme année Licence

I-Introduction

Lorsqu'un système logique est conçu à partir d'un microprocesseur, il est appelé
système à microprocesseur. La conception et la réalisation d'un tel système
comprennent deux parties bien distinctes :

1-1L'étude du matériel (hardware) : sont des circuits intégrés LSI (Large Scale
Integration) contiennent un nombre élevé de l’ordre de 10 000 transistors dans un
seul circuit LSI, parmi ces circuits on trouve :

- Le microprocesseur

- La mémoire (RAM/ROM) : qui contiendra les données et les résultats


définitifs ou provisoires d’une exécution ainsi que les programmes nécessaire
pour le bon fonctionnement du microprocesseur

- Les interfaces parallèles/série programmables : ce circuit permet de


connecter le microprocesseur aux circuits électroniques, ces circuits
électroniques acceptant des échanges de données du type parallèle (huit bits
en même temps sur huit fils parallèles). Le système à microprocesseur peut
comporter un ou plusieurs interfaces parallèles programmables. Pour
l’interface série, le circuit LSI permet un échange de données entre le
microprocesseur et un terminal à travers un canal de transmission donc à
grande distance.
I-2-L'étude du logiciel « software »: par opposition au matériel le logiciel est
l'ensemble des programmes nécessaires pour le bon fonctionnement du système à
microprocesseur ainsi que tout ce qui concerne l’étude et la mise au point de ces
programmes.

II-Organisation (hardware) d’un système à microprocesseur

I1-1-historique
-En 1932, le monde a vu la naissance du premier calculateur électronique qui était le
compteur à tubes. Le premier ordinateur ENIAC (Electronic Numerical Integrator And
Computer) est inventé en 1946, c’est une machine qui consommait 140kW et réalisait 5000
additions par seconde contre 500 multiplications. Les mémoires à tores magnétiques ont été
réalisées en 1953 et la société Texas/Kilby fut apparaitre le premier circuit intégré en 1957.
L’entreprise américaine Intel Corporation a réalisé le premier microprocesseur en date du 15
USTHB Année 2022/2023
Département d’Automatique 3éme année Licence

novembre 1971 ; c’était le fameux Intel 4040 qui embarquait 2250 transistors bipolaires,
tournait à la vitesse d’horloge de 108Khz avec quatre bits. La même firme a doublé les
capacités d’Intel 4040 en un autre microprocesseur appelé Intel 8080 avec des mots de huit
bits, 64 kilo Octets adressables et une horloge de 2Mhz.
-L’an 1981 était le début de l’informatique grand public, dont Intel équipait le premier PC et
le MOTOROLA 68000 d’Appel II. Durant la période 1985 à 1990, le monde de l’électronique
avait sur les marchés les premiers microcontrôleurs industriels l’Intel 8051 et le MOTOROLA
68HC11. Dès 1995, la puissance des ordinateurs permettait la vulgarisation des outils de CAO
(Controller Access Object) et des compilateurs C avec comme cible les microcontrôleurs.
-Actuellement

1I-2-Architecture générale
La figure 1.1 représente les parties traditionnelles d'un ordinateur. Cette organisation des
éléments fonctionnels est bien souvent dite Architecture de l'ordinateur.

Figure 1 : Architecture universelle de l'ordinateur.

Pour traiter une information, un microprocesseur seul ne suffit pas, il faut l’insérer au sein
d’un système minimum de traitement programmé de l’information. Cette architecture sert de
base à la plupart des systèmes à microprocesseur actuel. Elle est composée des éléments
suivants :
• une unité centrale
• une mémoire principale
• des interfaces d’entrées/sorties
• Les différents organes du système sont reliés par des voies de communication appelées
USTHB Année 2022/2023
Département d’Automatique 3éme année Licence

III-Le logiciel (software) d’un système à microprocesseur

III-1 Langage binaire

Pour un ordinateur il ne sait que distinguer entre deux niveaux : présence ou absence de
tension ! Cela veut dire que le système décimal est inadapté. Pour représenter deux niveaux
logiques (niveau haut de tension et niveau bas) il est donc obligatoire d’utiliser un système de
numération à base de deux chiffres (0et 1)

III-2 Langage hexadécimal

Ecrire des nombre en binaire par une succession de 1 et de 0 sur une taille élevée (plusieurs
bits) n’est pas facile à gérer et peut même être une source d’erreur d’écriture. Pour y remédier,
il a été décidé de diviser l’octet en deux quartets. Un quartet ne peut coder que les nombres
décimaux de 0 à 15. Pour qu’un quartet ne puisse être représenté que par un seul chiffre, il a
été décidé de remplacer les 6 nombres de 10 à 15 par les premières lettres de l’alphabet : A, B,
C, D, E et F.

III-3 Langage assembleur

L'hexadécimal est déjà beaucoup plus facile que le binaire, mais les codes opérations des
instructions ne sont pas significatifs. Aussi les informaticiens ont depuis longtemps représenté
les différentes opérations logiques ou arithmétiques que peut effectuer un ordinateur par des
expressions mnémoniques d'autant plus faciles à retenir qu'elles font penser aux opérations
qu'elles représentent. Toutefois ces expressions mnémoniques sont presque toujours tirées du
vocabulaire anglo-saxon. Une addition est représentée par (ADD).Ainsi une soustraction
pourra être désignée par SUB (Substract) un décalage par SHT (shift), un saut par JP (jump),
etc. Le programmeur utilisera donc l'ensemble de ces symboles mnémoniques pour constituer
son programme. Nous dirons que le programme est en langage d'assemblage ou en
assembleur.
Mais comme le microprocesseur ne connaît que le binaire (ou même l’hexadécimal), il faudra
traduire chaque expression mnémonique en langage binaire. Cette traduction sera faite par un
programme spécial appelé assembleur et qui devra donc être mis en mémoire pour exécuter la
traduction.
USTHB Année 2022/2023
Département d’Automatique 3éme année Licence

L'assembleur est un programme spécifique du microprocesseur. Il sera donc fourni par le


constructeur.

III-4 Langage évolué (haut niveau)

L'assembleur est fort utile mais il a l'inconvénient de n'être pas un langage universel puisque
le programme assembleur d’un microprocesseur X sera différent de programme assembleur
d’un microprocesseur Y par exemple. Pour cette raison, les informaticiens ont créé des
langages universels et qui, en même temps, sont plus puissants au point de vue des
instructions, une instruction en langage évolué (c'est le nom réservé pour un langage
universel) peut nécessiter plusieurs instructions binaires successives. Ces langages évolués
sont donc des outils très puissants des ordinateurs, mais accessibles à l'utilisateur de
microprocesseurs. Comme langage évolué, il y a le C +, C++, MATLAB, PYTHON………
Un programme écrit en langage évolué devra être traduit en langage machine. C'est encore un
programme conçu par le constructeur qui fera cette traduction. Il sera appelé compilateur.

IV- Codage/ décodage/ multiplexage


IV-1 Conversion d’un système de numération à un autre
L’ordinateur ne sait calculer qu’en base 2. Malheureusement, l’écriture binaire n’est ni
pratique ni intuitive (le cerveau humain ne calcule facilement qu’en base 10). On doit donc
souvent effectuer des changements de base entre la base 2 et les bases 8, 10 ou 16. Le
changement de base le plus simple est le passage entre la base 2 et les bases 8 ou 16. En effet,
les valeurs 8 et 16 étant des puissances de 2 (8 = 23;16 = 24), chaque bloc de 3 ou 4 bits
correspond à un symbole octal ou hexadécimal. Les conversions les plus utilisées sont les
suivantes:

 Base b vers base 10.


 Base 10 vers base b.
 Base 2 vers base 2n (8 ou 16).
 Base 2n (8 ou 16) vers base 2

IV-2– Décodage (Base b vers base 10)

Pour convertir un nombre d’une base b vers la base décimale, on utilise la méthode dite des
additions qui consiste à utiliser la représentation du nombre sous forme polynomiale
USTHB Année 2022/2023
Département d’Automatique 3éme année Licence

1V-3- Codage (Base 10 vers base b)


Pour effectuer une conversion d’un entier décimal dans une autre base on applique la méthode des
divisions successives : on effectue des divisions successives du nombre par cette base, les restes
successifs forment alors le nombre converti. A titre d’exemple, dans le cas d’une conversion d’un
nombre décimal en son équivalent binaire, on réalisera des divisions successives par 2. Les restes de
ces divisions formeront le nombre converti dans la base 2.

IV-4-Représentation des nombres signés :


Nous savons maintenant représenter en binaire des nombres entiers positifs. Mais comment
faire pour travailler avec des nombres négatifs ? Dans l’arithmétique classique, ces nombres
sont précédés d’un signe moins, mais c’est ici impossible car on ne peut mettre que des bits
dans une case mémoire. Il faut donc trouver une écriture, une représentation des nombres
négatifs. Dans cette représentation, on utilise le bit de poids fort du nombre pour représenter
un nombre négatif. Sur n bits, le bit de poids fort (aussi appelé « bit de signe ») indique le
signe du nombre (1pour un nombre négatif) et les n – 1 bits restants donnent la valeur absolue
binaire du nombre. Les mots binaires 01011001 = 89 et 10110100 = –52 sont deux exemples
de nombres écrits dans cette représentation sur 8 bits
IV-5- Représentation en complément à 2
C’est la représentation standard sur les ordinateurs pour exprimer les nombres entiers négatifs. Quand
on parle de représentation signée ou d’entiers signés, ces derniers sont toujours exprimés à l’aide de la
représentation en complément à 2. Sur n bits, on exprime les nombres de l’intervalle [-2n-1, 2n-1-1]. On
retrouve bien les 2n nombres possibles. Un nombre positif est représenté de façon standard par son
écriture binaire. On représente un nombre négatif en ajoutant 1 à son complément à 1 et en laissant
tomber une éventuelle retenue finale.
-Si l’on reprend l’exemple précédent, 89 (positif) s’écrit toujours 01011001, mais –52 (négatif) s’écrit
maintenant 11001100. En effet, en binaire sur 8 bits, 52 s’écrit 00110100, ce qui donne un
complément à 1 égal à 11001011 et un complément à 2 égal à 11001100. Dans le cas d’un nombre
négatif, il est important d’indiquer sur combien de bits doit s’écrire le nombre car on ne rajoute pas
des zéros en tête mais des uns (suite à l’inversion obtenue lors du calcul du complément à 1).
IV-6- Codage des nombres réels en virgule flottante
Les nombres flottants (floating point numbers) permettent de représenter, de manière
approchée, une partie des nombres réels. La valeur d’un réel ne peut être ni trop grande, ni
trop précise. Cela dépend du nombre de bits utilisés (en général 32 ou 64 bits). C’est un
USTHB Année 2022/2023
Département d’Automatique 3éme année Licence

domaine très complexe et il existe une norme, IEEE 754, pour que tout le monde obtienne les
mêmes résultats.
Le codage en binaire est de la forme 1,M 2E et la représentation en virgule flottante sera sous
la forme : S (1bit) Ed(8bit) M(23bit)
S : signe
Ed : 127+E
M : mantisse
De nos jours, pratiquement tous les constructeurs ont des processeurs dédiés qui effectuent
des calculs en virgule flottante et qui emploient la représentation au standard IEEE 754, cette
normalisation adoptée définit deux principaux types de nombres en virgule flottante : simple
et double précision
IV-7-Codage des caractères
Les caractères, comme les nombres, doivent être représentés en vue d’être exploités par les
ordinateurs. Comme on ne peut mettre que des bits dans les cases mémoire, on a associé un
code numérique à chaque caractère. Évidemment, pour pouvoir échanger des informations
entre ordinateurs, il faut que cette correspondance soit la même sur toutes les machines. Voici
les systèmes de codage de caractères les plus utilisés.
-La table du code ASCII (American Standard Code for Information Interchange)
- la table du code iso 8859 : une extension du codeASCII
IV-8-bascule/registre
-Une bascule logique est un élément permettant de mémoriser la valeur d'une variable binaire
(logique). Elle est constituée à l'aide de plusieurs transistors connectés entre eux de façon à
conserver l'état qui a été fourni à l'entrée à un moment donné. La valeur mémorisée est
disponible en permanence à la sortie de la bascule
-Un registre est un ensemble de bascules permettant de décaler les valeurs mémorisées, c'est
à dire de les faire passer sur commande d'une case à la suivante. Là encore les bits mémorisés
sont disponibles en permanence aux sorties du registre. Plusieurs décalages successifs
permettent de sortir tous les bits du registre pour les envoyer dans un autre circuit. Plusieurs
types de registres existent selon que l'information à mémoriser est rentrée bit par bit
USTHB Année 2022/2023
Département d’Automatique 3éme année Licence

-Un décodeur est un circuit qui établit une relation unique (ou plus exactement univoque)
entre l'un des fils de sortie du décodeur et l'un des nombres binaires codés entre n fils d'entrée.
Ainsi avec 4 fils d'entrée, un décodeur devra posséder 24 fils de sortie soit 16. Ainsi au
nombre binaire 0101 correspondra la sortie S5, au nombre binaire 1100 correspondra la sortie
S12, etc.

Figure 2 : Schéma d’un décodeur


- Un multiplexeur est un sélecteur de données ou aiguillage convergent. Il peut transformer
une information apparaissant sous forme de n bits en parallèle en une information se
présentant sous forme de n bits en série. La voie d’entrée E, sélectionnée par son adresse A,
est reliée à la sortie S, L’affichage d’une adresse permet de sélectionner une entrée de
données parmi N, pour l’aiguiller vers la sortie S. Le démultiplexeur est la fonction inverse
du multiplexeur.

Figure 3 : Schéma d’un multiplexeur


USTHB Année 2022/2023
Département d’Automatique 3éme année Licence

Vous aimerez peut-être aussi