Vous êtes sur la page 1sur 24

ISGE-BF

INFORMATIQUE
INDUSTRIELLE
2A RIT / MI

NIKIEMA Daniel
CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

CHAPITRE I

ARCHITECTURE DES SYSTEMES A


MICROPROCESSEUR
Table des matières
I. Introduction ................................................................................................................................. 3
II. Environnement minimal d’un système à microprocesseur ........................................... 3
1. Les mémoires à semi-conducteurs ........................................................................................... 4
a. Principe d'adressage d'une position mémoire .......................................................... 4
b. Principe de fonctionnement ............................................................................................ 5
c. Caractéristiques des mémoires ..................................................................................... 6
d. Les types de mémoires .................................................................................................... 7
e. Exemple d’association de boîtiers mémoires ........................................................... 9
2. L'horloge (quartz et oscillateur) .............................................................................................. 10
3. Le microprocesseur (Central Processing Unit : CPU ou UCT) ......................................... 10
a. Structure externe et évolution ..................................................................................... 10
b. Rôle....................................................................................................................................... 11
c. Jeu d’instructions et modes d’adressage ................................................................. 11
d. Structure interne et fonctionnement.......................................................................... 12
e. Technologie ....................................................................................................................... 15
f. Microprocesseurs spécialisés ....................................................................................... 16
g. Puissance d'un microprocesseur ................................................................................. 16
4. Les bus de communication ....................................................................................................... 16
a. Le bus d'adresses ............................................................................................................. 16
b. Le bus de données........................................................................................................... 17
c. Le bus de commande ou de contrôle ........................................................................ 17
5. Les interfaces d’entrées/sorties (ou ports) .......................................................................... 17
6. Plan mémoire ou mapping mémoire...................................................................................... 17
III. Langages de programmation ............................................................................................... 17
IV. Echange de données ............................................................................................................... 18
1. Les techniques d’échange de données ................................................................................. 18
2. Types de liaisons.......................................................................................................................... 20
a. Liaison parallèle................................................................................................................ 20
b. Liaison série ....................................................................................................................... 21
V. Application : identification des caractéristiques des éléments d’un système à
microprocesseur............................................................................................................................... 22
1. Microprocesseur 6809 .............................................................................................................. 22
2. Mémoire 27C256 ........................................................................................................................ 23
Bibliographie et webographie ....................................................................................................... 24

NIKIEMA Daniel Page 2/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

I. INTRODUCTION
Un microprocesseur est un circuit numérique caractérisé par une très grande
intégration qui combine toute une Unité Centrale de Traitement (UCT) dans un seul
circuit intégré. Il est conçu pour interpréter et exécuter de façon séquentielle les
instructions d'un programme. Ci-dessous, la photo d’un microprocesseur Intel.

Microprocesseur Intel

Le premier microprocesseur intégré fut le 4004 d’Intel, créé en 1971. Il avait été
conçu pour la calculatrice Busicom et traitait des données de 4 bits. Motorola a suivi
Intel avec des microprocesseurs 8 bits comme 6800.

Pour fonctionner, le microprocesseur doit être associé à d'autres composants :

 une mémoire où est implanté le programme de façon permanente ;


 une mémoire pour stocker temporairement les données et les résultats ;
 une ou plusieurs interfaces pour l'échange d'informations avec l'extérieur.

L'association de ces éléments constitue un système à microprocesseur. Ils


équipent principalement les systèmes informatiques (ordinateurs).

Par rapport à la logique câblée, qui pourrait remplir les mêmes fonctions, un
système à microprocesseur présente divers avantages :

 moins de composants ;
 modification aisée du programme ;
 consommation réduite ; en technologie CMOS avec quelques mW on peut avoir un
système très puissant.

II. ENVIRONNEMENT MINIMAL D’UN SYSTEME A MICROPROCESSEUR


Le synoptique suivant présente les éléments qui constituent un système à
microprocesseur.
MEMOIRE MEMOIRE
VIVE MORTE

Bus de données
MICRO
Bus d'adresses
PROCESSEUR
Bus de commande

INTERFACE 1 INTERFACE n
Horloge

PERIPHERIQUE 1 PERIPHEQUE n

Synoptique d’un système à microprocesseur

NIKIEMA Daniel Page 3/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

1. Les mémoires à semi-conducteurs


Une mémoire est un dispositif capable d'enregistrer, de conserver et de restituer des
informations codées en binaire. Les mémoires d'un système à microprocesseur
diffèrent selon leurs fonctions.

Circuit Intégré mémoire

a. Principe d'adressage d'une position mémoire


Les données en entrée et en sortie du système sont stockées en mémoire. Les
données sont lues ou écrites en mémoire par le microprocesseur. Pour sélectionner
un emplacement en mémoire, le microprocesseur utilise une information appelée
adresse. Une adresse s'apparente au "numéro" de la position mémoire considérée
comme le numéro d'une maison pour une adresse postale.

Schéma de principe d’une mémoire

Le microprocesseur manipule des adresses codées en binaire (naturel). Pour


simplifier la manipulation de ces adresses par les techniciens, on utilise souvent le
code hexadécimal.

Il est fondamental de ne pas confondre une donnée et l'adresse de sa position en


mémoire : rien ne permet de les distinguer. Ainsi le mot 0100 1101 = 4DH peut
correspondre à une adresse ou à une donnée codée sur 8 bits. La figure suivante
illustre l’organisation des cases d’une mémoire.

NIKIEMA Daniel Page 4/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

Organisation d’une mémoire

b. Principe de fonctionnement
Chaque mot binaire est stocké à une position de la mémoire. Chaque position
mémoire correspond à autant de cellules mémoires élémentaires qu'il y a de bits par
mot. Par exemple pour stocker un octet on utilise l'équivalent de 8 bascules (chaque
bascule étant constituée d'un certain nombre de transistors). Mais on ne peut lire ou
écrire que des mots complets.

Généralement toutes les positions mémoires sont accessibles par un seul et même
ensemble de connexions bidirectionnelles : le bus de données.

Pour sélectionner une position mémoire particulière le microprocesseur applique


l'adresse correspondante sur le bus d'adresses qui est unidirectionnel. Il génère
aussi un signal de commande souvent noté R/ W qui permet de choisir entre une
opération de lecture (R/ W = 1) ou d'écriture (R/ W = 0).

Lors d'une lecture c'est la mémoire qui impose la donnée sur le bus de données.
Lors d'une écriture par le microprocesseur, il impose la donnée sur le bus de
données.

 Cycle de lecture
Une lecture est caractérisée par les étapes suivantes :
 le microprocesseur génère l'adresse de la position mémoire où la donnée doit
être lue ;
 le microprocesseur sélectionne le boitier : CS = 0 ;
 le microprocesseur génère une commande de lecture : R/ W = 1 ;
 le microprocesseur attend un certain délai correspondant au temps d'accès ;
 la mémoire fournit la donnée sur le bus de données ;
 le microprocesseur lit la donnée (transfert dans un registre interne).

NIKIEMA Daniel Page 5/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

Cycle de lecture

 Cycle d'écriture
Une écriture est caractérisée par les étapes suivantes :
 Le microprocesseur génère l'adresse de la position mémoire où la donnée doit
être écrite ;
 Le microprocesseur sélectionne le boitier : CS = 0 ;
 Le microprocesseur fournit la donnée sur le bus de données (transfert depuis
un registre interne) ;
 Le microprocesseur génère une commande d'écriture : R/ W = 0.

Cycle d’écriture

c. Caractéristiques des mémoires


Largeur = 8 bits
 Largeur et profondeur :
Adresses
Exemple d'une mémoire de 1 Kbits soit
00H
128 octets organisée en 128 mots de 8
bits. 128
Profondeur positions en
Des données de 16 bits peuvent être = 128 mémoire
utilisées avec une mémoire organisée en mots
octets (on adresse successivement deux 7FH
octets).

NIKIEMA Daniel Page 6/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

 Capacité :
C'est le nombre de mots binaires que
n Espace adressable (nombre de mots = 2n)
l'on peut stocker. La taille d'une adresse 8 256
dépend de la capacité. Avec n bits on
10 1024 = 1 K
peut adresser 2n positions en mémoire. 13 8192 = 8 x 1024 = 8 K
On utilise les symboles K, M, G, T, … 16 65 536 = 64 K
comme préfixes correspondant à kilo, 20 1 048 576 = 1 024 K = 1 M
Méga, Giga, Téra, … : voir le tableau ci- 30 1 073 741 824 = 1 024 M = 1 G
contre. 32 4 294 967 296 = 4 096 M = 4 G
64 17 179 869 184 G = 16 777 216 T

Remarque :
 1 K  1 000, 1 G  1 000 K, … (En physique on note k pour kilo et non K).
 La capacité peut être inférieure à l'espace adressable.

 Mémoire volatile : Les informations sont perdues en cas de coupure


d'alimentation. Applications : mémorisation temporaires (temps court) de
données pendant leur traitement.

 Mémoire non-volatile : Les informations ne sont pas perdues en cas de coupure


d'alimentation. Applications : mémorisation d'un programme, de données de
réglage, …

 Mémoire vive : L'écriture et la lecture y est possible. Application : mémoire


centrale. La mémoire vive est volatile.

 Mémoire morte : La lecture y est possible mais l'écriture est impossible.


Applications : programme ou données figées. La mémoire morte est non-volatile.

 Temps d'accès en lecture : C'est le temps que met la mémoire pour décoder
l'adresse et commuter les circuits qui permettent de sélectionner la donnée et
l'appliquer sur le bus de données. Ce temps conditionne le taux de transfert
maximum (en Mo/s ou kbits/sec). Il est de l’ordre de quelques dizaines de
nanosecondes pour les mémoires vives et de quelques millisecondes pour
certaines mémoires mortes (EEPROM).

d. Les types de mémoires


 Les mémoires vives (Random Access Memory : RAM)
Le microprocesseur peut lire cette mémoire mais aussi modifier son contenu. Il
peut y stocker des informations dont il aura besoin plus tard, ou des informations
qu'il utilise souvent lors de l'exécution du programme. Ces informations sont
couramment appelées des données. Ces mémoires sont volatiles : elles perdent
leurs informations lorsqu'elles cessent d'être alimentées.

On distingue les RAM statiques (SRAM) et les RAM dynamiques (DRAM) :

 Les SRAM emploient des bascules comme éléments de stockage et peuvent


conserver leurs données aussi longtemps qu’elles sont alimentées.

 Les DRAM utilisent des condensateurs comme éléments de stockage et ne


peuvent conserver les données très longtemps sans que les condensateurs ne
soient rechargés par un procédé appelé rafraichissement.

NIKIEMA Daniel Page 7/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

 Les mémoires mortes (ROM : Read Only Memory, mémoire à lecture seule)
Cette mémoire est destinée à être lue uniquement. Elle contient les ordres
(instructions) que doit effectuer le microprocesseur. Les ROM sont des mémoires
non volatiles : elles préservent leurs informations même lorsqu'elles ne sont pas
alimentées. Ces mémoires sont programmées avant d'être placées sur une carte à
microprocesseur. Ce dernier pourra en lire le contenu mais ne pourra pas le
modifier. Il existe différents types de mémoires mortes :

 ROM simple : leur programmation est faite à la fabrication par le constructeur ;

 PROM (Programmable Read Only Memory) : terme générique qui désigne toutes
les mémoires programmables par l'utilisateur. Parmi les PROM, on distingue :

 Les OTPROM (One Time Programmable Read Only Memory) : Ce sont des
mémoires programmables une seule fois ;

 Les EPROM (Electrically Programmable Read Only Memory) : ce sont des


PROM Effaçables. Après une programmation, il est possible de l'effacer puis
de la reprogrammer complètement. Les UV EPROM s'efface aux ultraviolets.
Le boîtier est muni, sur sa face supérieure, d'une fenêtre en quartz
transparente aux U.V. Une exposition à un rayonnement U.V. pendant 15 à 30
minutes efface la totalité de la mémoire. Pour éviter un effacement
intempestif par des sources parasites telles que le soleil, un cache opaque
protège cette fenêtre ;

 Les EEPROM (Electrically Erasable Programmable Read Only Memory), aussi


appelées mémoires "Flash", sont des PROM Effaçables Electriquement. Ce
type de mémoire présente l'avantage par rapport au précédent de pouvoir
être programmé et effacé in situ.

 Les Flash EPROM (Flash Erasable Programmable Read Only Memory) sont
directement dérivées de l’EEPROM puisque tout est fait de manière électrique.
Quelques différences existent cependant : le fonctionnement par bloc (on ne
peut pas effacer une case seule), la grande capacité de stockage, la facilité
d’utilisation (mono tension, algorithme intégré). Tous ces avantages ont fait
que la Flash s’est rapidement placé comme la solution idéale de stockage de
logiciel dans les microcontrôleurs et sur les cartes à microprocesseur. Ainsi
les BIOS des cartes mères de PC sont maintenant en Flash ce qui permet,
après avoir téléchargé la nouvelle version sur Internet, de reprogrammer sa
carte mère en quelques minutes sans aucune intervention matérielle. Certains
constructeurs architecturent même leurs Flash pour qu’elles simulent le
comportement d’un disque dur éliminant ainsi les problèmes mécaniques
inhérents à ceux-ci.

Résumé des mémoires à semi-conducteurs

NIKIEMA Daniel Page 8/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

 Les mémoires spéciales


 Mémoire FIFO ou file : ce sont des mémoires réinscriptibles volatiles
organisées de sorte que l'accès se fait d'une façon séquentielle dite premier
entré, premier sorti (FIFO : First In First Out). Un mémoire FIFO fonctionne
comme une file devant un guichet, le premier qui se place dans la file sera le
premier qui arrive au guichet donc le premier servi. Au fur et à mesure que les
clients de tête sont servis, les autres progressent dans la file. L'ordre
chronologique d'entrée est respecté en sortie.

 Mémoire LIFO ou pile : ce sont des mémoires réinscriptibles volatiles


organisées de sorte que l'accès se fasse d'une façon séquentielle dite dernier
entré, premier sorti (LIFO : Last In First Out). Une mémoire LIFO fonctionne
comme une pile d'assiettes, la dernière assiette posée sur le dessus de la pile
sera la première à en être retirée. Ce type de mémoire est utilisé comme pile
(stack) pour les microprocesseurs afin de sauvegarder les adresses de retour
lors des appels de fonctions ou des interruptions.

Remarque : Il existe des mémoires à accès série, appelées mémoires sérielles,


dont la lecture et l’écriture s’effectuent à travers une liaison à 2 fils
uniquement. Exemple : l’EEPROM 24C32 de 32 Kbits à bus I2C.

Outre les mémoires à semi-conducteurs, on a les mémoires


magnétiques (disquette, disque dur) et les mémoires optiques (CD-
ROM, DVD, …) qui constituent des mémoires de stockage de masse.

e. Exemple d’association de boîtiers mémoires


Une mémoire de 1 Mo possède 20 entrées adresses : A0...A19. Pour réaliser une
mémoire de 4 Mo à l'aide de 4 boîtiers mémoires de 1 Mo chacun, il faut 22 entrées
adresses, A0...A21. Les 20 premiers bits d'adresses (A0...A19) servent à adresser le
même octet au sein des 4 boîtiers. Les deux bits d'adresses restant (A20 et A21)
permettent à l'aide d'un décodeur 1 parmi 4 de sélectionner un boîtier, comme
illustre la figure ci-dessous.

Exemple d’association de boîtiers mémoires

NIKIEMA Daniel Page 9/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

Position Adresses (Hexa) Adresses (Déc)


1er boîtier 000000  0FFFFF 0  1048575
2ème boîtier 100000  1FFFFF 1048576  2097151
3 ème
boîtier 200000  2FFFFF 2097152  3145727
4 ème
boîtier 300000  3FFFFF 3145728  41194304

Répartition des adresses entre boîtiers

2. L'horloge (quartz et oscillateur)


Les microprocesseurs sont cadencés par un signal d'horloge (signal oscillant,
régulier, imposant un rythme au circuit). Plus cette fréquence est élevée, plus le
microprocesseur peut exécuter à un rythme élevé les instructions de base des
programmes. L’horloge peut être externe ou interne.

3. Le microprocesseur (Central Processing Unit : CPU ou UCT)


a. Structure externe et évolution
 Structure externe d’un microprocesseur :

Schéma de principe d’un microprocesseur

Un microprocesseur dont le bus de données comportent p lignes est appelé


microprocesseur p bits.

 Evolution des microprocesseurs

Suivant la loi de Moore (Gordon E. Moore, ingénieur de Fairchild Semiconductor, un


des trois fondateurs d'Intel) réévaluée en 1975 (première loi en 1965), le nombre de
transistors des microprocesseurs sur une puce de silicium double tous les deux ans.

Entre 1971 et 2001, la densité des transistors a doublé chaque 1,96 année. En
conséquence, les machines électroniques sont devenues de moins en moins
coûteuses et de plus en plus puissantes. Ci-dessous, le graphique illustrant la loi de
Moore et l’évolution des microprocesseurs Intel.

NIKIEMA Daniel Page 10/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

Evolution de la complexité des microprocesseurs

b. Rôle
Le microprocesseur :
 analyse le contenu du programme, sélectionne, gère et commande les circuits
nécessaires à l'exécution de chaque tâche ;
 organise l'enchaînement des tâches précisées dans la mémoire programme ;
 prend en compte les informations extérieures au système.

c. Jeu d’instructions et modes d’adressage


Le jeu d’instructions définit l’ensemble des instructions qu’un microprocesseur peut
exécuter.

Un programme est une suite d’instructions stockées dans la mémoire. Une


instruction peut être codée sur un ou plusieurs octets.

Exemple de format d’une instruction à deux champs (opération et opérandes) :

Certaines instructions n’utilisent qu’un seul opérande. Les instructions sans


opérande servent au contrôle du microprocesseur.

NIKIEMA Daniel Page 11/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

Dans une instruction, le mode d'adressage spécifie l'emplacement de l'opérande


avec lequel l'instruction doit être exécutée. Les modes d’adressage les plus utilisés
sont :

 L’adressage littéral ou immédiat : la donnée (valeur littérale) est dans


l'instruction.
 L'adressage registre : la donnée est dans un registre interne au microprocesseur.
Le champ opérande de l’instruction contient le nom du registre.
 L’adressage direct : la donnée est en mémoire. Le champ opérande de
l’instruction contient l'adresse d'une donnée en mémoire.
 L’adressage indirect : l'adresse de la donnée est contenue dans un pointeur. Le
champ opérande de l’instruction contient l'adresse d'un pointeur.

L’ensemble des instructions d’un microprocesseur est donné sous forme de liste de
mnémoniques (abréviation anglaise de l’opération). Le jeu d’instructions diffère
d’un microprocesseur à l’autre.

Exemple : MOVLW 26 ; mettre la valeur 26 dans le registre W prend

Cette instruction (MOVe Literal to W), de la famille mid-range de Microchip comme le


PIC16F84, charge la valeur littérale 26 dans le registre de travail W. La valeur 26
représente l’opérande, d’où l’adressage immédiat.

d. Structure interne et fonctionnement


Un microprocesseur exécute un programme constitué d’instructions. Ci-dessous, le
synoptique du processus d’exécution d’une instruction.

Schéma fonctionnel d’un microprocesseur

Pour fonctionner, le microprocesseur nécessite donc au minimum les éléments


suivants :

NIKIEMA Daniel Page 12/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

Eléments constitutifs d’un microprocesseur

La figure ci-dessous donne la structure interne simplifiée du microprocesseur 80186


d’Intel.

Structure interne simplifiée du 80186 d’Intel

Pour exécuter les instructions dans l’ordre établi par le programme, le


microprocesseur doit savoir à chaque instant l’adresse de la prochaine instruction à
exécuter. Pour cela, il utilise un registre contenant cette information. Ce registre est
appelé pointeur d’instruction (IP : Instruction Pointer) ou compteur
d’instructions ou compteur ordinal ou encore compteur programme (PC).

NIKIEMA Daniel Page 13/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

Exemple :

Pointeur d’instruction

La valeur initiale du pointeur d’instruction est fixée par le constructeur du


microprocesseur. Elle vaut une valeur bien définie à chaque mise sous tension du
microprocesseur ou bien lors d’une remise à zéro (reset), c’est le vecteur de reset.

Pour savoir quel type d’opération doit être exécuté (addition, soustraction, ...), le
microprocesseur lit le code opération de l’instruction pointée par le pointeur
d’instruction (code opératoire) et le range dans un registre appelé registre
d’instruction. Le code opératoire est décodé par des circuits de décodage contenus
dans le microprocesseur. Des signaux de commande, pour l’Unité Arithmétique et
Logique (UAL), sont produits en fonction de l’opération demandée qui est alors
exécutée.

Pour exécuter une opération, l’UAL utilise des registres de travail. Exemple :
l’accumulateur est un registre temporaire recevant des données intermédiaires.

Pendant que l’instruction est décodée, le pointeur d’instruction est incrémenté de


façon à pointer vers l’instruction suivante.

Incrémentation du pointeur d’instruction

Puis le processus de lecture et de décodage des instructions recommence.

NIKIEMA Daniel Page 14/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

Après l’exécution de chaque instruction, un registre du microprocesseur est


actualisé en fonction du dernier résultat : c’est le registre d’état. Chacun des bits
du registre d’état est un indicateur d’état ou flag (drapeau). 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 conditionnel : en
fonction de l’état d’un (ou plusieurs) flags, le programme se poursuit de manière
différente.

Toutes les différentes étapes de traitement de chaque instruction (lecture de


l’instruction, décodage, exécution), sont synchronisées par un séquenceur ou unité
de contrôle qui assure le bon déroulement des opérations. Le séquenceur exécute
lui-même un programme appelé microcode, contenu dans une mémoire morte à
l’intérieur du microprocesseur. Il est dirigé par l’horloge qui délivre un signal de
fréquence donnée permettant d’enchaîner les différentes étapes de l’exécution
d’une instruction :

Exemple de cycle de traitement d’une instruction

Chaque instruction est caractérisé par le nombre de périodes d’horloge (ou


microcycles) qu’elle utilise (donnée fournie par le fabricant du microprocesseur).
Exemple : 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.

Cette unité assure aussi le contrôle de mise sous tension du microprocesseur


(initialisation des registres) et le traitement des interruptions.

Une interruption est une requête présentée à l’unité de contrôle par des éléments
extérieurs (périphériques).

e. Technologie
Il existe deux technologies de microprocesseurs :
 La technologie CISC (Complex Instruction Set Computer), dont chaque instruction
complexe nécessite un nombre important de cycles d'horloge, mais qui a en son
cœur beaucoup d'instructions pré-câblées pour faciliter la programmation.
Exemple : 6809 de Motorola, 80186 d’intel, …

 La technologie RISC (Reduced Instruction Set Computer), rapide avec des


instructions simples de taille standardisée, facile à fabriquer et dont on peut
monter la fréquence de l'horloge sans trop de difficultés techniques. Exemple :
MPC601 de Motorola, Pentium 4 d’Intel, …

NIKIEMA Daniel Page 15/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

f. Microprocesseurs spécialisés
 Les microcontrôleurs
Ils contiennent un CPU (microprocesseur), de la RAM, de la ROM, quelques ports
d’entrées/sorties parallèles, des ports séries, des compteurs programmables
(timers), des CAN (Convertisseur Analogique Numérique), des interfaces de
communication, ...

Ils sont en général utilisés pour contrôler de simples machines et constituent des
systèmes embarqués (automobiles, robots, appareils électroménagers, lecteurs
de carte à puce, ...). Exemple de microcontrôleurs :
 8051, 80C186XX, … d’Intel ;
 68HC11, 68HC12, 68HC16, … de Motorola ;
 PIC16F84, PIC16F877, ... de Microchip ;
 MSP430G2553, MSP430F5529, … de Texas Instrument (TI).

 Digital Signal Processor (DSP)


Ce sont des microprocesseurs 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, ... Exemples de DSP :
 TMS320 de Texas Instrument ;
 2100 et 21000 d’Analog Device ;
 56000 de Motorola.

g. Puissance d'un microprocesseur


La notion de puissance est la capacité de traiter un grand nombre d'opérations par
seconde sur de grands nombres et en grande quantité. Intrinsèquement la
puissance se joue donc sur les trois critères suivants:

 la longueur des mots : données et instructions (on parle de largeur du bus des
données).
 le nombre d'octets que le microprocesseur peut adresser (on parle de largeur du
bus des adresses).
 la vitesse d'exécution des instructions exprimée en Million d’Instructions Par
Seconde (MIPS).

4. Les bus de communication


Les bus (groupes de fils en parallèle) sont les supports pour l'échange
d'informations entre les différents composants. On distingue trois bus ayant chacun
une fonction spécifique.

a. Le bus d'adresses
Il permet au microprocesseur de sélectionner :

 une adresse de la mémoire ROM à laquelle il veut accéder pour lire une
instruction (chaque instruction est codée en binaire et située à une adresse
différente) ;
 une adresse de la mémoire RAM à laquelle il veut accéder pour lire ou écrire une
donnée ;
 un port d'entrée pour lire une information (exemple : information provenant d'un
capteur) ;
 un port de sortie pour envoyer une commande (exemple : faire tourner un
moteur).

NIKIEMA Daniel Page 16/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

La taille du bus d’adresses détermine l’espace adressable qui correspond à


l’ensemble des composants raccorder au microprocesseur.

b. Le bus de données
Il permet de transporter :

 les instructions de la mémoire ROM vers le microprocesseur ;


 les données de la mémoire RAM vers le microprocesseur (lecture) ou inversement
(écriture) ;
 les informations lues sur les ports d'entrées ;
 les commandes à écrire sur les ports de sorties.

c. Le bus de commande ou de contrôle


Il permet au microprocesseur de spécifier à son environnement ce qu'il a l'intention
de faire : une ligne (R/ W ) indique si le microprocesseur va lire (Read) ou écrire
(Write) dans la mémoire ou un périphérique. Suivant les microprocesseurs, d'autres
lignes peuvent venir s'ajouter.

5. Les interfaces d’entrées/sorties (ou ports)


Elles permettent l'échange de données et de commandes entre le microprocesseur
et le monde extérieur appelé périphérique. On distingue trois types de
périphériques :

 les périphériques de dialogue homme-machine (terminal, écran, clavier...) ;


 les périphériques de stockage (disque dur, CD ROM, DVD, clés USB...) ;
 les périphériques spécifiques (robots, cartes d'acquisitions...).

6. Plan mémoire ou mapping mémoire


Le plan mémoire définit la répartition de l’espace adressable à l’ensemble des
composants (mémoires et interfaces) communiquant avec le microprocesseur. Cette
répartition, appelée aussi décodage d’adresses, peut se faire à l’aide d’un circuit
décodeur (démultiplexeur) ou d’une combinaison de portes logiques.

Pour un bus d’adresse de n bits, le principe consiste à utiliser les m bits de poids
fort (An-1, …, An-1-m) à travers le décodeur pour sélectionner un et un seul circuit à
chaque combinaison. Le reste du bus (An-1-m-1, …, A0) est utilisé pour l’adressage
interne des composants. Exemple : TD1.

III. LANGAGES DE PROGRAMMATION


Le langage compris par les microprocesseurs est le langage machine, où chaque
instruction se présente sous forme d'un nombre exprimé en binaire (base 2) ou en
hexadécimal (base 16).

Le langage machine étant très lourd à utiliser par le programmeur, une


représentation sous forme de mnémoniques appelée langage assembleur, très
proche du langage machine, est utilisée. Un programme assembleur est tout
simplement une liste d’instructions de base (mnémoniques) organisées de sorte à
permettre au microprocesseur de réaliser une tache.

Les langages dits évolués, proches de l’algorithme, permettent le développement de


programmes complexes à l'aide d'interpréteurs (BASIC) ou de compilateurs (PASCAL,

NIKIEMA Daniel Page 17/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

langage C, Python, …). La mise au point du logiciel est alors facilitée, mais
l'exécution est plus lente car les programmes générés sont souvent plus longs.

La figure suivante illustre les différents niveaux de développement d’un programme.

Langage évolué (C, Python, …)


(Edition du code source)
Exemple : if(RB0==0){…}

Compilation

Langage assembleur
Exemple : btfsc PORTB,0

Assemblage (Edition des liens)

Code exécutable
Exemple : 01 1000 0000 0110

Transfert du programme dans


la mémoire

IV. ECHANGE DE DONNEES


1. Les techniques d’échange de données
Avant d’envoyer ou de recevoir des informations, le microprocesseur doit connaître
l’état du périphérique. En effet, le microprocesseur doit savoir si un périphérique est
prêt à recevoir ou à transmettre une information pour que la transmission se fasse
correctement. Il existe 2 modes d’échange d’information :

 Le mode programmé par scrutation ou interruption où le microprocesseur sert


d’intermédiaire entre la mémoire et le périphérique ;

 Le mode en accès direct à la mémoire (DMA) où le microprocesseur ne se charge


pas de l’échange de données.

a. Echange programmé

 Scrutation

Dans la version la plus rudimentaire, le microprocesseur interroge l’interface pour


savoir si des transferts sont prêts. Tant que des transferts ne sont pas prêts, le
microprocesseur attend. L’inconvénient majeur est que le microprocesseur se
retrouve souvent en phase d’attente. Il est complètement occupé par l’interface
d’entrée/sortie. De plus, l’initiative de l’échange de données est dépendante du
programme exécuté par le microprocesseur. Il peut donc arriver que des requêtes
d’échange ne soient pas traitées immédiatement car le microprocesseur ne se
trouve pas encore dans la boucle de scrutation. Ce type d’échange est très lent.

NIKIEMA Daniel Page 18/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

 Interruption

Une interruption est un signal, généralement asynchrone au programme en cours,


pouvant être émis par tout dispositif externe au microprocesseur. Le
microprocesseur possède une ou plusieurs entrées réservées à cet effet. Sous
réserve de certaines conditions, elle peut interrompre le travail courant du
microprocesseur pour forcer l’exécution d’un programme traitant la cause de
l’interruption. Dans un échange de données par interruption, le microprocesseur
exécute donc son programme principal jusqu’à ce qu’il reçoive un signal sur sa
ligne de requête d’interruption. Il se charge alors d’effectuer le transfert de
données entre l’interface et la mémoire.

Principe de fonctionnement d’une interruption : Avant chaque exécution


d’instruction, le microprocesseur examine s’il y a eu une requête sur sa ligne
d’interruption. Si c’est le cas, il interrompt toutes ces activités et sauvegarde
l’état présent registres (PC, accumulateurs, registre d’état) dans une mémoire
particulière appelée pile. Les données y sont “entassées” comme on empile des
assiettes (la première donnée sauvegardée sera donc la dernière à être restituée).
Ensuite, il exécute le programme d’interruption puis restitue l’état sauvegardé
avant de reprendre le programme principal.

Remarque :

 Certaine source d’interruption possède leur propre autorisation de


fonctionnement sous la forme d’un bit à positionner, on l’appelle le masque
d’interruption.

 On peut donc interdire ou autoriser certaines sources d’interruptions, on les


appelle les interruptions masquables.

 Chaque source d’interruption possède un vecteur d’interruption où est


sauvegardée l’adresse de départ du programme à exécuter.

 Les interruptions sont classées par ordre de priorité. Dans le cas où plusieurs
interruptions se présentent en même temps, le microprocesseur traite d’abord
celle qui a la priorité la plus élevée.

NIKIEMA Daniel Page 19/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

b. Echange direct avec la mémoire

Ce mode permet le transfert de blocs de données entre la mémoire et un


périphérique sans passer par le microprocesseur. Pour cela, un circuit appelé
contrôleur de DMA (Direct Memory Access) prend en charge les différentes
opérations. Le DMA se charge entièrement du transfert d’un bloc de données. Le
microprocesseur doit tout de même :

 initialiser l’échange en donnant au DMA l’identification du périphérique


concerné ;

 donner le sens du transfert ;

 fournir l’adresse du premier et du dernier mot concernés par le transfert.

Un contrôleur de DMA est doté d’un registre d’adresse, d’un registre de donnée,
d’un compteur et d’un dispositif de commande (logique câblée). Pour chaque mot
échangé, le DMA demande au microprocesseur le contrôle du bus, effectue la
lecture ou l’écriture mémoire à l’adresse contenue dans son registre et libère le bus.
Il incrémente ensuite cette adresse et décrémente son compteur. Lorsque le
compteur atteint zéro, le dispositif informe le processeur de la fin du transfert par
une ligne d’interruption (IT DMA). Le principal avantage est que pendant toute la
durée du transfert, le processeur est libre d’effectuer un traitement quelconque. La
seule contrainte est une limitation de ses propres accès mémoire pendant toute la
durée de l’opération, puisqu’il doit parfois retarder certains de ses accès pour
permettre au dispositif d’accès direct à la mémoire d’effectuer les siens : il y a
apparition de vol de cycle.

2. Types de liaisons
Les systèmes à microprocesseur utilisent deux types de liaisons différentes pour se
connecter à des périphériques :

 liaison parallèle ;
 liaison série.

On caractérise un type de liaison par sa vitesse de transmission ou débit (en bit/s).

a. Liaison parallèle
Dans ce type de liaison, tous les bits d’un mot sont transmis simultanément. Ce
type de transmission permet des transferts rapides mais reste limité à de faibles
distances de transmission à cause du nombre important de lignes nécessaires (coût
et encombrement) et des problèmes d’interférence électromagnétique entre chaque
ligne (fiabilité). La transmission est cadencée par une horloge.

NIKIEMA Daniel Page 20/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

Exemple : port parallèle, Bus PCI, AGP dans un PC, …

Comme exemples d’interfaces nous avons les P.I.A (Parallel Interface adapter) tels
que le PIA6522 et PIA6821.

b. Liaison série
Dans ce type de liaison, les bits constitutifs d’un mot sont transmis les uns après les
autres sur un seul fil. Les distances de transmission peuvent donc être beaucoup
plus importantes mais la vitesse de transmission est plus faible.

L’USART (Universal Synchronous & Asynchronous Receiver Transmitter) et l’UART


(Universal Asynchronous Receiver and Transmitter) sont des circuits d’interfaçage
serie.

La transmission de données en série peut se concevoir de deux façons différentes :

 En mode synchrone, l’émetteur et le récepteur possède une horloge synchronisée


qui cadence la transmission. Le flot de données peut être ininterrompu. Exemple :
le bus USB (Universal Serial Bus) qui est Plug and Play car il reconnaît
automatiquement le périphérique), le bus SPI (Serial Peripheral Interface), le
bus I2C (Inter Integrated Circuit), …

 En mode asynchrone, la transmission s’effectue au rythme de la présence des


données. Les caractères envoyés sont encadrés par un signal start et un signal
stop. Exemple : liaison RS232, liaison RS485, …

Liaison série asynchrone à trois fils entre deux équipements

Principe de base d’une liaison série asynchrone :

Afin que les éléments communicants puissent se comprendre, il est nécessaire


d’établir un protocole de transmission. Ce protocole devra être le même pour
chaque élément. Paramètres rentrant en jeu :

 longueur des mots transmis : 7 bits (code ASCII) ou 8 bits

 vitesse de transmission : les vitesses varient de 110 bit/s à 128000 bit/s et


détermine les fréquences d’horloge de l’émetteur et du récepteur.

 parité : le mot transmis peut être suivis ou non d’un bit de parité qui sert à
détecter les erreurs éventuelles de transmission. Il existe deux types de
parité : paire ou impaire. Si on fixe une parité paire, le nombre total de bits
à 1 transmis (bit de parité inclus) doit être paire. C’est l’inverse pour une
parité impaire.

 bit de start : la ligne au repos est à l’état 1 (permet de tester une coupure de
la ligne). Le passage à l’état bas de la ligne va indiquer qu’un transfert va
commencer. Cela permet de synchroniser l’horloge de réception.

NIKIEMA Daniel Page 21/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

 bit de stop : après la transmission, la ligne est positionnée à un niveau 1


pendant un certain nombre de bit afin de spécifier la fin du transfert. En
principe, on transmet un, un et demi ou 2 bits de stop.

Déroulement d’une transmission :

Les paramètres du protocole de transmission doivent toujours être fixés avant la


transmission. En l’absence de transmission, la liaison est au repos au niveau haut
pour détecter une éventuelle coupure sur le support de transmission. Une
transmission s’effectue de la manière suivante :

 L’émetteur positionne la ligne à l’état bas : c’est le bit de start ;

 Les bits sont transmis les uns après les autres, en commençant par le bit de
poids fort ;

 Le bit de parité est éventuellement transmis ;

 L’émetteur positionne la ligne à l’état haut : c’est le bit de stop.

Exemple : transmission d’un mot de 7 bits (0110100)2, parité impaire et 1 bit de


stop.

1 1
Horloge : 𝐹 = 𝐻𝑧 Vitesse de transmission : 𝑣 = 𝑏𝑖𝑡𝑠/𝑠𝑒𝑐
∆ ∆

Contrôle de flux :

Le contrôle de flux permet d’envoyer des informations seulement si le récepteur


est prêt (modem ayant pris la ligne, tampon d’une imprimante vide, etc.). Il peut
être réalisé de manière logicielle ou matérielle. Pour contrôler le flux de données
matériellement, il faudra utiliser des lignes de contrôle supplémentaire
permettant à l’émetteur et au récepteur de s’informer mutuellement de leur état
respectif (prêt ou non). Dans un contrôle de type logiciel, l’émetteur envoie des
données et lorsque le récepteur ne peut plus les recevoir (registres pleins), il
envoie une information à l’émetteur pour le prévenir, via la liaison série.
L’émetteur doit donc toujours être à l’écoute du récepteur avant d’envoyer une
donnée sur la ligne.

V. APPLICATION : IDENTIFICATION DES CARACTERISTIQUES DES


ELEMENTS D’UN SYSTEME A MICROPROCESSEUR

1. Microprocesseur 6809
Il a été développé par MOTOROLA à la fin des années 1970.

NIKIEMA Daniel Page 22/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

 Identifier les broches qui constituent le bus de données.


 Donner la taille du bus de données.
 Identifier les broches qui constituent le bus d'adresses.
 Donner la taille du bus d'adresses.
 Calculer le nombre d'adresses que l'on peut écrire avec ce bus d'adresses.
 Compléter le tableau ci-dessous en écrivant :
 la première adresse en binaire, en hexadécimal et en décimal ;
 la dernière adresse en binaire, en hexadécimal et en décimal.

2. Mémoire 27C256

 Quelle est la nature et le type de cette mémoire.


 Calculer la capacité mémoire de ce composant en nombre d'octets.
 Calculer sa capacité en nombre de kilo-octets (sachant qu'un kilo vaut 210 soit
1024).
 Calculer sa capacité en nombre de bits.
 Calculer sa capacité en nombre de kilobits.

NIKIEMA Daniel Page 23/24


CHAPITRE I ARCHITECTURE DES SYSTEMES A MICROPROCESSEUR

BIBLIOGRAPHIE ET WEBOGRAPHIE
 SYSTEMES NUMERIQUES : concepts et applications, 7ème édition, Thomas L.
Floyd, Les Editions Reynald Goulet, 2000

 PIC16F8X, document DS30430C,


http://www.microchip.com/downloads/en/devicedoc/30430c.pdf

 Programmation des PIC, Première partie-PIC16F84, par BIGONOFF,


http://www.abcelectronique.com/bigonoff/loadpart1.php?par=781a5

 ELECTRONIQUE PRATIQUE N° 289 - Décembre 2004, TRANSOCEANIC

 https://fr.wikipedia.org/wiki/Loi_de_Moore

NIKIEMA Daniel Page 24/24

Vous aimerez peut-être aussi