You are on page 1of 11

Informatique

Industrielle

CHAPITRE1: STRUCTURE GENERALE D’UN SYSTEME A


MICRONTRÔLEUR

I. Introduction
La découverte du microprocesseur date aujourd'hui de près de 49 ans, en effet la fabrication
du premier circuit commence en 1970, année ou la société INTEL met au point le premier
microprocesseur le 4004.
Depuis, leur puissance de calcul et l'intégration des transistors les constituants n'ont cessé
d'évoluer. Les microprocesseurs ne sont jamais employés seuls, des circuits périphériques
leur sont toujours associés pour pouvoir être intégrés au sein d'une application.

Comme tout ordinateur, on peut décomposer la structure interne d’un microcontrôleur en


trois parties :

-Les mémoires

-Le processeur

-Les périphériques

C’est ce qu’on peut voir sur la figure suivante :

les mémoires sont chargées de stocker le programme qui sera exécuté ainsi que
les données nécessaires et les résultats obtenus

le processeur est le cœur du système puisqu’il est chargé d’interpréter les
instructions du programme en cours d’exécution et de réaliser les opérations
qu’elles contiennent .Au sein du processeur, l’unité arithmétique et logique
interprète, traduit et exécute les instructions de calcul.

Page 1
Informatique
Industrielle

les périphériques ont pour tâche de connecter le processeur avec le monde


extérieur dans les deux sens. Soit le processeur fournit des informations vers
l’extérieur (périphérique de sortie), soit il en reçoit (périphérique d’entrée).

Les microcontrôleurs possèdent quant à eux la puissance d'un microprocesseur


mais ont un atout en plus, en effet ils possèdent dans le même boîtier, les périphériques
intégrés.

Microcontrôleur

Il existe plusieurs familles de microcontrôleurs (Atmel AT91, Atmel AVR, le C515C de


Siemens/Infineon, Hitachi H8, Ie 8051 d’INTEL, le 68HC11 de Motorola, PIC de Microchip,
ST6 de STMicroelectronics, etc.), se différenciant par la vitesse de leur processeur et par le
nombre de périphériques qui les composent.

Aujourd’hui on retrouve les microcontrôleurs presque partout: dans les appareils


électroménagers (réfrigérateurs, fours à micro-ondes...), les téléviseurs et magnétoscopes,
les téléphones sans fil, les périphériques informatiques (imprimantes, scanners...), les
voitures (airbags, climatisation, ordinateur de bord, alarme...), les avions et vaisseaux
spatiaux, les appareils de mesure ou de contrôle des processus industriels, ...

Page 2
Informatique
Industrielle

II. Architecture interne d’un système à microcontrôleur.

Voici généralement ce que l’on trouve à l’intérieur d’un microcontrôleur:


 Un processeur (C.P.U.),
 Des bus,
 De la mémoire de donnée (RAM et EEPROM),
 De la mémoire de programme (ROM, OTPROM, UVPROM ou EEPROM),
 Des interfaces parallèles pour la connexion des entrées / sorties,
 Des interfaces séries (synchrone ou asynchrone) pour le dialogue avec d’autres
unités,
 Des trimmers pour générer ou mesurer des signaux avec une grande précision
temporelle.

Structure interne microcontrôleur

Page 3
Informatique
Industrielle

II.1 Caractéristiques des microcontrôleurs

II.1.1 Technologie des microprocesseurs


On peut classer les microprocesseurs à travers deux architectures :

 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 plus grand nombre de cycles
d’horloge.

 Architecture RISC (Reduced Instruction Set Computer): Architecture dans laquelle les
instructions sont en nombre réduit (chargement, branchement, appel sous
programme) et elles 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 .

II.1.2 Organisation de la mémoire

On note deux architectures du point de vue organisation mémoire :

 L’architecture Von Neumann

Page 4
Informatique
Industrielle

L’architecture Von Neumann est caractérisée par une mémoire unique pour le programme
et pour les données :

Un seul chemin d'accès à la mémoire


Un bus de données (programme et données),
Un bus d’adresse (programme et données)

 L’architecture Harvard

 Avec l’architecture Harvard le programme et les données sont stockées dans des
mémoires physiquement séparées :

Un bus de données programme,


Un bus de données pour les données,
Un bus d’adresse programme,
Un bus d’adresse pour les données.
On a une meilleure utilisation du CPU.

II.1.3 Exécution des instructions

Un microcontrôleur exécute des instructions. On définit « le cycle instruction » comme le


temps nécessaire à l’exécution d’une instruction. Attention de ne pas confondre cette notion
avec le cycle d’horloge qui correspond au temps nécessaire à l’exécution d’une opération
élémentaire (soit un coup d'horloge).
Une instruction est exécutée en deux phases :

Page 5
Informatique
Industrielle

la phase de recherche du code binaire de l’instruction stocké dans la mémoire de


programme

la phase d’exécution ou le code de l’instruction est interprété par le processeur


et exécuté.

Chaque phase dure 4 cycles d’horloge comme le montre la figure 5 :

figure

On pourrait donc croire qu’un cycle instruction dure 8 cycles d’horloge mais l’architecture
particulière du PIC lui permet de réduire ce temps par deux (notion PIPE LINE). En effet,
comme les instructions issues de la mémoire de programme circulent sur un bus différent de
celui sur lequel circulent les données, ainsi le processeur peut effectuer la phase de
recherche d’une instruction pendant qu’il exécute l’instruction précédente.

Page 6
Informatique
Industrielle

figure

II.2 Processeur.

Le microprocesseur, noté aussi M.P.U. (Microprocessor unit) ou encore C.P.U. (Central


Processing Unit) est un circuit intégré complexe appartenant à la famille des VLSI (Very
large scale intégration) capable d'effectuer séquentiellement et automatiquement des suites
d'opérations élémentaires. Il remplit deux fonctions essentielles :
 Le traitement des données. On parle d'unité de traitement. Cette fonction est dédiée
à l'Unité Arithmétique Logique. Elle concerne la manipulation des données sous
formes de transfert, d’opérations arithmétiques, d’opérations logiques....
 le contrôle du système. Cette fonction se traduit par des opérations de décodage et
d'exécution des ordres exprimés sous forme d'instruction.

Structure interne microprocesseur (1)

Page 7
Informatique
Industrielle

Structure interne microprocesseur (2)


II.2.1 L’unité de commande.

Elle permet de séquencer le déroulement des instructions. Elle effectue la recherche en


mémoire de l'instruction, le décodage de l’instruction codée sous forme binaire. Enfin elle
pilote l’exécution de l’instruction. Elle est constituée d’un compteur de programme, d’un
registre d’instruction, d’un décodeur d’instruction et d’un bloc logique de commande.

 Le registre d'instruction et le décodeur d'instruction. Chacune des instructions à


exécuter est transférée depuis la mémoire dans le registre d’instruction puis est
décodée par le décodeur d’instruction.

 Le bloc logique de commande (ou séquenceur). Il organise l'exécution des


instructions au rythme d’une horloge. Il élabore tous les signaux de synchronisation
internes ou externes (bus de commande) du microprocesseur en fonction de
l’instruction qu’il a à exécuter.

 Les registres d'adresses (pointeurs): Ce sont des registres connectés sur le bus
d’adresses. On peut citer comme registres: le compteur ordinal (pointeur de
programme PC) , le pointeur de pile (stack pointer SP),les registres d'index (index
source SI et index destination DI).

 Le pointeur de pile ou SP en anglais (stack pointeur) : son rôle consiste à mémoriser


l’adresse courante lorsque le programme principal est dérouté vers un sous-
programme.

 Le compteur de programme (PC: Programme Counter ou compteur ordinal : CO). Il


comporte un registre dont le contenu est initialisé avec l'adresse de la première
instruction du programme. Ce registre contient toujours l’adresse de la prochaine
instruction à exécuter.
Page 8
Informatique
Industrielle

II.2.2 L’unité de traitement.

Elle regroupe les circuits qui assurent les traitements nécessaires à l'exécution des
instructions : accumulateurs, unité arithmétique et logique, registre d’état.

 Les accumulateurs sont des registres de travail qui servent à stocker un opérande au
début d'une opération arithmétique et le résultat à la fin de l'opération.

 L’Unité Arithmétique et Logique (UAL), ou ALU (Arithmetic and Logic Unit). C’est un
circuit complexe qui assure les fonctions logiques (ET, OU, Comparaison, décalage,
etc…) ou arithmétique (Addition, soustraction…). Toute instruction qui modifie une
donnée fait toujours appel à l’ALU.

 Le registre d'état est un registre pour lequel chacun de ses bits est un indicateur dont
l'état dépend du résultat de la dernière opération effectuée par l’UAL. On les appelle
indicateur d’état ou flag ou drapeaux. Dans un programme, le résultat du test de leur
état conditionne souvent le déroulement de la suite du programme. On peut citer
par exemple les indicateurs de retenue (carry : C), de débordement (overflow : OV ou
V), de zéro (Z), ...

II.3 Mémoire centrale

 Une mémoire contenant le programme à exécuter par le microcontrôleur,


généralement appelée mémoire morte ou ROM ( Read Only Memory) , mémoire à
lecture seule. Cette mémoire a la particularité de sauvegarder en permanence les
informations qu'elle contient, même en absence de tension (ce qui est primordiale,
sinon il faudrait reprogrammer le microcontrôleur à chaque remise sous tension ).

 Une mémoire vive également appelée RAM (Random Access Memory), cette
mémoire permet de sauvegarder temporairement des informations. Il est à noter
que le contenu d'une RAM n'est sauvegardé que pendant la phase d'alimentation du
circuit. Le microcontrôleur pourra utiliser cette mémoire pour stocker des variables
temporaires ou faire des calculs intermédiaires.

II.4 Circuit d’interfaces

Un port d’entrées - sorties permettant au microcontrôleur de dialoguer avec l'extérieur pour


par exemple prendre l’état d'un capteur, d'un interrupteur ou bien pour allumer une led ou
piloter un moteur pas à pas etc.

II.5 Bus

Page 9
Informatique
Industrielle

Un bus est un ensemble de fils transportant des signaux jouant le même rôle, il permet de
faire transiter (liaison série/parallèle) des informations codées en binaire entre deux points.
Typiquement les informations sont regroupées en mots : octet (8 bits), word (16 bits) ou
double word (32 bits)

Les caractéristiques d'un bus sont:

 nombres de lignes,
 fréquence de transfert.

En effet, un bus est caractérisé par le volume d'informations transmises simultanément


(exprimé en bits), correspondant au nombre de lignes sur lesquelles les données sont
envoyées de manière simultané. Une nappe de 32 fils permet ainsi de transmettre 32 bits en
parallèle.

Des bus internes permettent la communication entre les différents éléments intégrés au
microcontrôleur : bus d’adresse, bus de données, bus de contrôle.
 Le bus de données : c'est un ensemble de fils bidirectionnels qui va permettre le
transfert de données entre les différents éléments du système. C'est par ce bus que
sont transmises les données qui doivent être traitées par le microprocesseur. A
l'inverse, c'est également par ce bus que transitent les résultats en sortie du
microprocesseur. Autrement dit, toutes les données entrantes et sortantes du
microprocesseur sont véhiculées par le bus de données qui fixe la longueur du mot
échangé avec la mémoire. Le nombre de fils de ce bus varie suivant les
microprocesseurs (8 / 16 / 32 / 64 bits).

 Le bus d'adresses : il permet d'adresser un élément par le microprocesseur ,il est


unidirectionnel ,il détermine la capacité maximale d'adressage du système, c'est à
dire le nombre maximum de mots de la mémoire associée (ex : 16 bits "adressent" 64
Kmots).

Page 10
Informatique
Industrielle

 Le bus de commandes et de contrôle : c'est un bus qui permet de véhiculer les


signaux de contrôles et de commandes tels que l'horloge les
signaux R/W etc ... Ce bus sert à coordonner tous les échanges d'informations
décrits précédemment. Il véhicule des données qui valident la mémoire et les ports
d'entrées-sorties. Il introduit des délais d'attente lorsque des informations sont
envoyées à un périphérique qui présente une vitesse de traitement réduite. Le bus
de commande évite les conflits de bus lorsque deux éléments cherchent à
communiquer en même temps.
Remarque :
Dans certains cas, le bus de données et le bus d'adresses sont multiplexés sur un seul
bus. Une logique externe doit alors effectuer le démultiplexage.

Cas d’un bus d’adresse 16 bits et d’un bus de données 8 bits

Dans l'exemple précédent, le microprocesseur écrit la donnée 10101111 dans la case


mémoire d'adresse 1011 1111 0110 1010.

Exemple:

Un Bus d'une largeur de 16 bits, cadencé à une fréquence de 133 Mhz possède donc une
bande passante égale à :

16 * 133.106 = 2128*106 bit/s

soit 2128*106/8 = 266*106 octets/s

soit 266*106 /1024 = 259.7*103 Ko/s

soit 259.7*103 /1024 = 253.7 Mo/s

Page 11

You might also like