Académique Documents
Professionnel Documents
Culture Documents
1
LES SYSTEMES
A MICROPROCESSEUR
(Structure et principes de base)
1
I.1 I NTRODUCTION
L’électronique a énormément évolué ces 20 dernières années
et la tendance est au numérique. Cette tendance de la dominance
des circuits numériques au détriment des techniques analogiques
est due essentiellement à la facilité de traitement des informations
binaires.
Quel que soit sa complexité et sa fonction, tout système
électronique numérique traite des données d’entrées pour
produire des résultats en sorties et des actions :
Données d’entrées : données saisi au clavier
d’ordinateur, données reçus, données en provenance de
capteurs (mesurant la température, la pression,...)…etc.
Données de sortie : Représentent les résultats de
traitement implémenté par le système électronique.
Actions : affichage, impression, transmission, actions
au processus industriel commandé (signalisation,
commande de vanne, de moteur, …).
SYSTÈME
DE
TRAITEMENT
Vérin
commandé
par f Capteurs
X1X2X3
Pièce
Tapis Catégorie 2
roulant Pièces X1X2X3
000
Catégorie 1 010
X1X2X3 Pièces 011
001 Bac 2
111
101
100 Bac 1
110
4
En réalité, il existe une On peut réaliser ce circuit avec 2 manières différentes:
troisième manière pour
réaliser cette fonction qui 1- en utilisant la logique câblée : le circuit est réalisé sous la forme
consiste à utiliser les de somme de mintermes avec des portes logiques. Evidement il
composants logiques existant d’autres formes de réalisation câblée en utilisant par
programmables (module en exemple des multiplexeurs.
Master 1)
X1
X2
f
X3
Début
Lire
x1, x2 et x3
NON NON
x1 ≠ x3 ? x2 ≠ x3 ?
OUI OUI
NON OUI
x2 = 0 ? x1 = 1 ?
OUI NON
f=1 f=0
Fin
5
Pour la réalisation de ces 2 En général, la mise en œuvre d’un système programmé
parties nous avons besoins s’appuie sur deux réalisations distinctes:
d’outils matériels et
logiciels. Les outils logiciels 1. réalisation matérielle (hardware): correspond à l’aspect
sont appelé logiciels CAO matériel du système dont l’élément principal est le
(Conception Assisté par microprocesseur appelé aussi CPU (Central Processing
Ordinateur.) nommée Unit).
également en anglais EDA
(pour Electronic design 2. réalisation logicielle (software): correspond à un
automation) ou ECAD ensemble d’instructions qui définissent les actions à
(pour Electronic Computer effectuer par le matériel pour réaliser le traitement
Aided Design). Ces outils
permettent principalement
souhaité (programme).
de concevoir les circuits et Le choix du type de logique (câblée ou programmée) à
de tester virtuellement leur
utiliser pour réaliser un circuit, dépend de 3 critères: la
fonctionnement par
simulation. complexité, l’évolutivité et la rapidité.
Complexité: Dans la logique câblée, la taille du
circuit croit avec la complexité du circuit. La logique
programmée nécessite un minimum de composant
mais la taille du circuit n'augmente plus avec la
complexité du circuit ( ou moins vite qu'en logique
câblée).
Evolutivité: En logique câblée, la moindre
modification de la fonction du système entraîne la
mise au point d'un nouveau circuit. Alors qu'en
logique programmée on pourra parfois se contenter
d'une modification du programme.
Rapidité : En fait, la logique câblée garde l'avantage
en terme de rapidité.
Pour illustrer ces critères de choix, nous comparons les 2
réalisations d’un fréquencemètre numérique données
par l’exemple suivant:
Compteur Afficheur
Séquenceur
Signal de
référence
6
1- Réalisation d’un fréquencemètre numérique 50MHz avec des
composants standard (bascules, compteurs, décodeurs)
8
I.3 T YPES DE SYSTEMES A MICROPROCESSEUR
Les systèmes à base de microprocesseurs (ou systèmes à
microprocesseurs tout court) se déclinent en deux catégories :
Les ordinateurs : l’ordinateur est un calculateur à usage général
ou spécifique composé d’une unité centrale et de plusieurs
périphériques (Clavier, Ecran, …). Il existe plusieurs types
d’ordinateurs distingués par leurs performances: super
ordinateur, station de travail, serveurs, ordinateur de bureau
(Personnel Compter PC), ordinateur portable.
Les systèmes embarqués : Un système embarqué (embedded
System en anglais) est un système très spécialisé. Il contient
généralement un ou plusieurs microprocesseurs destinés à
exécuter un ensemble de programmes définis lors de la
conception (à usage spécifique). Un système embarqué est un
calculateur mais ne possède pas des périphériques standards
tels qu'un clavier ou un écran d'ordinateur. Contrairement à un
ordinateur, l'interface homme machine (IHM) d'un système
embarqué peut être aussi simple qu'une LED ou aussi complexe
qu'un système de vision de nuit, ou un afficheur LCD (Liquid
Crystal Display), un afficheur tactile …etc. Les systèmes
embarqués sont peu encombrant, à faible consommation et
utilisés dans des applications très diverses tels que :
le transport (avionique, spatial, automobile, ferroviaire,
maritime…etc.),
les appareils électriques et électroniques (appareils photo,
jouets, télévision, électroménager, systèmes audio,
téléphones portables…etc.),
les systèmes de commande, de télécommunication,
distribution d'énergie …etc.
9
I.4 S TRUCTURE D ’ UN SYSTEME A MICROPROCESSEUR
I.4.1 L E MICROPROCESSEUR ET SON ENVIRONNEMENT
Le microprocesseur est un circuit séquentiel très complexe
dont la fonction est d’exécuter, l’une après l’autre, une suite
ordonnée d’instructions élémentaires pour produire le résultat
désiré. L’instruction élémentaire d’un microprocesseur est très
différente des instructions des langages étudiés tels que Pascal et
Matlab : la figure ci-dessous donne un exemple de la forme de cette
instruction.
opération
Opérande
1
, Opérande
2
Exemple :
ADD X,15; pour le microprocesseur Intel8086 X=X+15 !!!
10
Cependant, il existe 2 architectures de système vis à vis les
informations véhiculées par le bus:
l’architecture Von Neuman. C’est la plus courante. Les
instructions et les données circulent sur le même bus
(Réalisation plus simple).
l’architecture Harvard. Les instructions et les données
circulent sur 2 bus différents (mémoire de programme
séparée de la mémoire de données) (Echanges rapides).
Zone de
Périphériques
programme
Processeur Entrées/
CPU
Mémoire Sorties
Zone de
données
(a)
B
BUS
Périphériques
Mémoire de
Processeur Mémoire de Entrées/
programme
CPU données Sorties
(b)
B
BUS
11
I.4.1.1 O RG A N I S A TI O N D E L A M E M O I RE :
L’octet (ou Byte en anglais) La mémoire peut être vue comme un ensemble de cellules ou
est l’unité de mesure de la cases de même taille (en général 1 octet = 8 bits) contenant
taille de données et des chacune une information: une instruction ou une donnée.
capacités mémoire.
Chaque case mémoire est repérée par un numéro d’ordre
unique: son adresse. L’adresse est aussi manipulée sous forme
binaire (notée en hexadécimal) et représentée sur un certain
nombre de bit qui dépend du nombre de cases à adresser:
Adresses
Case des cases
mémoire mémoires
(notées en
hexadécimal)
Exemple :
- L’instruction ADD X ,15
- Rangée en mémoire à l’adresse 4000h
- Son code est : 80 06 06 01 0F (X représente l’adresse 0106h !!!)
80 06 06 01 ,, 0F
Adresse Valeur
Code
Case immédiate
opération
mémoire
12
Rangement en mémoire :
Case
mémoire
?? 0106h X contenant la
donnée
(1 octet)
80h 4000h
j k
Mémoire Mémoire
13
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). La mémoire est contrôlée en écriture
ou lecture (accès mémoire) à travers les signaux de contrôle R/W
(Read/Write).
Bus de données
Mémoire
Bus d’adresses
W R
Bus
0
Adresse
d’adresse
Commande
de lecture
Données
Temps d’accès stables
Bus de
données Valeurs non significatives Données
14
Vitesse Taille Registres
Caches
Mémoire principale
Disques
Organes
périphériques
Entrées/
CPU Mémoire Sorties
Largeur du bus
n
Bus de données
p
Bus d’adresses
Bus de commandes
15
La largeur du bus d’adresses du CPU caractérise l’espace
mémoire adressable par le µP: p lignes d’adresses permettent
d’adresser 2p cases mémoire: par exemple 8 bits d’adresses
permettent d’adresser 256 cases mémoires.
Les bus de données et de commande sont bidirectionnels, le
bus d’adresse est unidirectionnel : seul le microprocesseur peut
délivrer des adresses (il existe une dérogation pour les circuits
d’accès direct à la mémoire, DMA : Direct Access Memory).
1.3.2 S TRUCTURE INTERNE D ’ UN MICROPROCESSEUR
On peut représenter un microprocesseur par le schéma
fonctionnel suivant :
Horloge p bits
Bus d’adresse
Reset
n bits
CPU Bus de données
Signaux de
commande du
microprocesseur Bus de commandes
16
Bus de
Bus interne de données
données
Etat
Clk
Bus de
commandes
Bus
Bus interne d’adresses
d’adresses
1.3.2.2 L ’ UN I TE D E T R AI TE M E N T :
UAL ou ALU pour Cette unité se compose de l’unité arithmétique et logique
Arithmetic and Logic Unit (UAL), du registre d’état, et un certain nombre de registres de
en anglais
travail et d’adresses.
L’UAL est utilisé pour l’exécution d’instructions de la classe
des opérations arithmétiques et logiques. L’UAL est constituée d’un
17
certain nombre de circuits formant un ensemble homogène :
registres à décalage, additionneurs, multiplieurs… Elle est
classiquement représentée en forme de « V » (figure I.20)
puisqu’elle possède généralement deux entrées (opérandes) pour
une sortie (résultat).
... S Z OV C
I.4.3.1 N O TI O N D E CY CL E D ’ E X E CU TI O N
Cycle
d’horloge
Les détails d’exécution par phases sont les suivants (figure I.23) :
P HA S E 1 : R E C HE R CH E D E L ' I N ST RU C T I O N A T RAI T E R (F ET C H )
1. Le compteur programme contient l'adresse de l'instruction
à exécuter. Cette valeur est placée sur le bus d'adresses par l'unité
de commande qui émet un ordre de lecture.
2. L'instruction est récupérée du bus de données est stockée
dans le registre instruction du processeur.
P HA S E 2 : D E CO D AG E D E L ’ I N ST RU CT I O N ET R E CH E RC H E D E
L ' O P E R AN D E (D E CO D E )
P HA S E 3 : E X E CU T I O N D E L ' I N ST RU C T I O N (E X E CU T E )
1. L’opération est effectuée.
2. Les drapeaux sont positionnés (registre d'état).
P HA S E 4 : S A UV E GA RD E D U R E SU LT A T (S AV E )
1. L’adresse de sauvegarde est fournie par l’instruction ou un
registre d’adresse. Cette valeur est placée sur le bus d'adresses par
l'unité de commande.
2. L'unité de commande place le résultat à sauvegarder sur le
bus de données et émet un ordre d’écriture.
3. L'unité de commande positionne le PC pour l'instruction
suivante.
P hase P hase
3
Etat 2-1 Clk
Bus de
commandes
P hase
P hase
4-1 P hase
1-1 Bus
2-2
Bus interne d’adresses
d’adresses
I.4.3.2 N O TI O N D E PI PE L I N E
20
Le temps d’exécution d’une instruction n’est pas réduit mais
le débit d’exécution des instructions est considérablement
augmenté.
Modèle classique:
R1 R2 R3
D1 D2 D3
E1 E2 E3
S1 S2 S3
Cycle
1 2 3 4 5 6 7 8 9 10 12 13 d’horloge
Modèle pipeliné:
R1 R2 R3 R4 R5 R6 R7 R8 R9
D1 D2 D3 D4 D5 D6 D7 D8 D9
E1 E2 E3 E4 E5 E6 E7 E8 E9
S1 S2 S3 S4 S5 S6 S7 S8 S9
Cycle
1 2 3 4 5 6 7 8 9 10 12 13 d’horloge
FIG. I.24 : fonctionnement d’un étage pipeline.
I.4.3.3 N O TI O N D E C A CHE
21
- Si la donnée ou l’instruction requise est présente dans le
cache, elle est alors envoyée directement au microprocesseur.
On parle de succès de cache.
j
Unité de Unité de Cache Mémoire
traitement commande CPU mémoire principale
k
FIG. I.25 : Succès de cache.
- Si la donnée ou l’instruction n’est pas dans le cache, et le
contrôleur de cache envoie alors une requête à la mémoire
principale. Une fois l’information récupérée, il la renvoie au
microprocesseur tout en la stockant dans le cache. On parle de
défaut de cache.
j k
Unité de Unité de Cache Mémoire
traitement commande CPU mémoire principale
m l
FIG. I.26 : Défaut de cache.
22
FIG. I.27 : Niveaux de langages de programmation.
Exemple :
24
Exemple :
- Les caractéristiques du microprocesseur Intel8086
27
puissance de calcul n’est pas nécessaire autant que l’embarcation,
la consommation électrique réduite et le faible coût (systèmes
embarqués). Ce composant est utilisé pour la mise en œuvre de
système miniaturisée et autonome (faible consommation)
nécessitant des ressources de communication, de conversion …
pour assurer des fonctions très variées telles que : mise en forme
de signal, contrôle, applications plus ou moins complexes avec
calcul.
Pratiquement, on rencontre trois grandes familles de µC:
- La plus ancienne : la famille PIC (Programmable
Intelligent Computer) de Microchip Technology, est
basée sur un petit noyau microprocesseur de type
RISC . Ce microcontrôleur évolua de 8 à, récemment,
32 bits en passant par une déclinaison de 16 bits
(figure I.32)
- La plus utilisée dans le domaine des applications
grand public, de l’électroménager aux
télécommunications: la famille MCS-51 (CISC)
fabriqués initialement par Intel puis par plusieurs
fabricant: Motorola (Série 68HC11), Atmel (Série
AVR) et Comfile Technology (Cubloc, basé sur uP
Atmel)
- Très utilisée dans les systèmes destinés à une
utilisation industrielle: la famille Motorola 6805,
68HC05, 68HC11 (née sur la lancée du
microprocesseur 6800).
28