Vous êtes sur la page 1sur 38

Université Sultan Moulay Slimane

Faculté Polydisciplinaire
Béni Mellal

Informatique Industrielle
Filière SMP – S6

Abdessamad MALAOUI

Professeur
d’électronique, Automatique et Informatique Industrielle

2019/2020

Pr. A. MALAOUI 1
Chapitre 4
Systèmes microprogrammés

Pr. A. MALAOUI 2
I. Généralités

En électronique numérique, il exit 3 catégories des systèmes :

•Les systèmes combinatoires :


les sorties dépendent seulement des entrées par
une fonction logique: additionneur, multiplixeur,…. Logique câblée :
matériels (notion hardware)
•Les systèmes séquentiels :
les sorties dépendent des entrées et d’une Horloge (temps):
Bascules RS, JK, D, T, registres,…..

• Les systèmes microprogrammés:


Ils remplacent les 2 premiers systèmes, ils utilisent la notion du programme
enregistré dans une mémoire sous forme des instructions.

Logique programmée : notion software

. . Pr. A. MALAOUI 3
II. Langage de programmation du matériel

La programmation des dispositifs électroniques

Langages de bas niveau Langages de haut niveau

Langage machine Langage d'assemblage

. . Pr. A. MALAOUI 4
II. Langage de programmation du matériel

1. Langages de bas niveau

Se sont des langages spécifiques aux matériels (hardware),


on distingue les langages machine et les langages d'assemblage.

1.1. Langage machine

C'est un langage qui utilise uniquement les chiffres 0 et 1.


Un programme écrit en langage machine est donc constitué d'une succession de
bits directement exécuté par le processeur.

L'inconvénient de ce langage c'est qu'il difficile a lire et a écrire.

. . Pr. A. MALAOUI 5
II. Langage de programmation du matériel

1. Langages de bas niveau

1.1. Langage machine

Exemple:

Un processeur de 16 bits, possède une instruction de cette forme:

0110 001010 001011


CO ADR1 ADR2

Le premier champ (CO) est le code d'opération à exécuter (addition, multiplication,...).


Le deuxième et troisième champs (ADR1 et ADR2) sont les adresses
des grandeurs à traiter (opérandes).

. . Pr. A. MALAOUI 6
II. Langage de programmation du matériel

1. Langages de bas niveau

1.2. Langage d’assemblage

Il permet d'exprimer, à l'aide des alphabets, les instructions du langage machine


correspondant sous forme symbolique. L'exemple précédent devient :

MUL B, C au lieu 0110 000110 000011

B et C sont deux registres qui contiennent les informations 000110 et 000011.

. . Pr. A. MALAOUI 7
II. Langage de programmation du matériel

2. Langages de haut niveau

Ils sont appelés langages évolués et ils ont les caractéristiques suivantes :

- Ils sont indépendants de la machine (processeur).


- Ils sont compréhensibles.
- Ils sont faciles à apprendre.
- Ils utilisent des instructions proches des langages naturels.

Remarque :
Les langages de haut niveau ne sont pas directement exécutables par la
machine, un programme spécial appelé compilateur est chargé de les traduire.

. . Pr. A. MALAOUI 8
II. Langage de programmation du matériel

2. Langages de haut niveau

Exemple :

Une instruction écrite en langage pascal A := B+C


peut être exprimée en 3 instructions en assembleur:

MOV ACL, B ; registre B à Accumulateur

ADD ACL, C ; registre C + Accumulateur à Accumulateur

MOV A, ACL ; Accumulateur à registre A

L'accumulateur (ACL) est un registre intermédiaire pour réaliser les opérations.


. . Pr. A. MALAOUI 9
II. Langage de programmation du matériel

3. Les instructions

L'ensemble des instructions exécutables constitue le jeu d’instructions.

Généralement, les instructions machines sont classées en 4 catégories :

-Instructions de transfert de données entre la mémoire et les registres de l'ALU.

-Opérations arithmétiques et logiques sur les données.

-Instructions de contrôle.

- Instructions d'E/S.

. . Pr. A. MALAOUI 10
II. Langage de programmation du matériel

3. Les instructions

Remarques :
- Les instructions sont lues une par une, puis décodées et exécutées.
- Une instruction peut être codée sur un ou plusieurs octets (1 à 4).

Format d'une instruction:

. . Pr. A. MALAOUI 11
III. Composition des systèmes microprogrammés

1. Les BUS

•Bus d’adresses "unidirectionnel" :


permet au microprocesseur de spécifier l’adresse de la case mémoire à lire ou à écrire

•Bus de données "bidirectionnels" :


permet les transferts entre le microprocesseur et la mémoire ou les E/S ;

•Bus de commande "bidirectionnels" :

transmet les ordres de lecture et d’´écriture de la mémoire et des E/S. Ce bus a un


nombre variable de fils selon le type du processeur.

Il existe des processeurs qui stockent les programmes et les données


dans la même zone mémoire. Ils traitent une seule séquence d'instruction;
cette architecture s'appelle SISD (Single Instruction Single Data).

. . Pr. A. MALAOUI 12
III. Composition des systèmes microprogrammés

2. La mémoire « centrale »

La mémoire est 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.

Pour un bus 16 bits (A0 à A15), le processeur adresse


(216 = 65536) cases mémoires de $0000 à $FFFF.

(la notation $ est le symbole de l'hexadécimal de Motorola).

Les mémoires sont caractérisées par leur capacité : nombre total de cases
mémoire contenues dans un même boîtier.

. . Pr. A. MALAOUI 13
III. Composition des systèmes microprogrammés

2. La mémoire « centrale »
On générale, on trouve la mémoire sous forme d'un CI, ayant plusieurs broches :

- La broche R/W (Read /Write) sélectionne si la mémoire est utilisée pour une écriture ou pour
une lecture de données.

- La broche OE (Output Enable) contrôle la mise en haute impédance de la sortie. Cela permet
de connecter plusieurs circuits de ce type sur un même bus de données

- Le signal CS (Chip Select) doit être à 1 pour que la mémoire soit opérationnelle. S'il est à 0,
pas de perte de données par écriture intempestive et les sorties sont en haute impédance,

.quel que soit l'état de OE.


. Pr. A. MALAOUI 14
VI. Le microprocesseur

I. Caractéristiques d'un µP.

Définition:

Le microprocesseur (Micropocessor Unit ou MPU),


appelé aussi "Central Processing Unit : CPU", est un
circuit intégré complexe capable d'effectuer une suite
d'opérations élémentaires d'une manière séquentielle
et automatique sur des données binaires.

L’enchaînement de ces opérations est commandé par un programme


enregistré dans une mémoire.

. . Pr. A. MALAOUI 15 15
VI. Le microprocesseur

I. Caractéristiques d'un µP.

Ce circuit permet de réaliser deux fonctions essentielles :

- Le traitement des données sous forme :

ü de transfert,
ü opérations arithmétiques,
ü opérations logiques...

- Le contrôle du système par des opérations de décodage


et d'exécution des instructions.

. . Pr. A. MALAOUI 16 16
VI. Le microprocesseur

I. Caractéristiques d'un µP.

Le µP est caractérisé par sa "puissance" qui se détermine par les trois critères :

- La longueur des mots : données et instructions (largeur du bus des données).

- Le nombre d'octets que le µP peut adresser (largeur du bus des adresses).

- La vitesse d'exécution des instructions liée à la fréquence de fonctionnement de


l'horloge de synchronisation exprimée en MHZ.

. . Pr. A. MALAOUI 17 17
VI. Le microprocesseur

II. Structure interne d'un µP

Un microprocesseur est constitué de 3 éléments logiques principaux :

- Une Unité Arithmétique et Logique (U.A.L.) ;

- Une unité de contrôle (séquenceur).

- Des registres fondamentaux;

. . Pr. A. MALAOUI 18 18
VI. Le microprocesseur

II. Structure interne d'un µP

1. L'Unité Arithmétique et Logique "UAL"

(ALU en anglais) c’est l'élément de base d'un microprocesseur. Son rôle est la
réalisation des opérations arithmétiques (+, -, *, /...), logiques (OR, AND, NOR...),
aussi de décalage, et la comparaison.

Elle possède des entrées A et B et une sortie F.

Les entrées de L'UAL sont connectées au bus interne via


des registres temporaires et un registre particulier appelé "accumulateur".

. . Pr. A. MALAOUI 19 19
VI. Le microprocesseur

2. Les registres fondamentaux

- Ils sont des mémoires internes au microprocesseur qui servent au


traitement temporaire et rapide des données des instructions.

- Un microprocesseur contient des registres (8, 16, 32 ou 64 bits) qui


lui permettent de mémoriser les informations nécessaires.

- Toutes les données et adresses manipulées par le µP transitent par ces


registres. Leur nombre est variable d’un µP à l’autre.

. . Pr. A. MALAOUI 20 20
VI. Le microprocesseur

2. Les registres fondamentaux

2.1. L’accumulateur

- Est un registre interne peut servir de tampon dans les opérations de l’ALU.

- En général, Il a la même taille que le mot mémoire, mais, dans la plupart des
machines, il possède une extension qui permet de doubler sa taille.

- Dans la plupart des opérations arithmétiques, l’accumulateur contient l’un des


opérandes avant l’exécution, et le résultat après.

- Dans un µp, on peut trouver plusieurs accumulateurs.

. . Pr. A. MALAOUI 21 21
VI. Le microprocesseur

2. Les registres fondamentaux

2.2. Compteur d’Instructions (Compteur Programme : « C.P »)

C’est un registre appelé aussi Compteur Ordinal (C.O). relié au bus de données

Il contient l’adresse mémoire de la prochaine instruction à exécuter.

Il est automatiquement incrémenté après chaque instruction sauf dans le cas


d’un saut ou un branchement. Dans ce cas, la nouvelle adresse remplacera
le contenu du CO.

. . Pr. A. MALAOUI 22 22
VI. Le microprocesseur

2. Les registres fondamentaux

2.3. Registre d’adresses (R.A)

C’est un registre qui contient l’adresse déposée sur le bus d’adresses.

Il joue le rôle d’interface entre le bus des données et le bus des adresses.

Son contenu peut correspondre à l’adresse d’une instruction, d’une constante,


d’une variable, d’un registre d’une unité d’échange, …

Dans certains cas, le contenu du compteur ordinal est transféré dans ce registre.

. . Pr. A. MALAOUI 23 23
VI. Le microprocesseur

2. Les registres fondamentaux

2.4. Registre d’instructions (R.I)

C’est un registre relié au bus des données qui contient le code de l’instruction
en cours d’exécution.

Ce code est celui qui vient d’être lu en mémoire programme.

Le contenu de ce registre est interprété par le décodeur d’instruction pour


donner des résultats logiques sur le bus de contrôle.

Le séquenceur est commandé à partir de RI.

. . Pr. A. MALAOUI 24 24
VI. Le microprocesseur

2. Les registres fondamentaux

2.5.Registre d’état

Le registre d’état, contient différents bits appelés bits d’état (status bits)
ou drapeaux (flags).

Ces bits donnant des informations sur le résultat de la dernière opération


effectuée par l’ALU.

La grande majorité des µP disposent des informations suivantes :

- Résultat nul (Z);


- Résultat négatif (N);
- Retenue (C);
- Dépassement de capacité (V).

Ce registre peut aussi contenir des bits réservés à d’autres usages.


. . Pr. A. MALAOUI 25 25
VI. Le microprocesseur

2. Les registres fondamentaux

2.6. Les Registres généraux

Les registres généraux sont utilisés pour enregistrer les informations fréquemment
utilisées pendant l’exécution du programme, ou des résultats intermédiaires.

La manipulation de ces registres évite des accès à la mémoire, accélérant ainsi


l’exécution du programme.

. . Pr. A. MALAOUI 26 26
VI. Le microprocesseur

3. La logique de contrôle.

3.1. Définition :

Elle est appelée encore Unité de contrôle (U.C.) ou Séquenceur, il est piloté
par le Registre d'Instruction via le décodeur d'instruction.

Ce dernier décode les informations (premier octet) stockées dans le RI pour


générer les signaux logiques nécessaires à l'exécution de l'instruction, et activer
les différents circuits E/S.

. . Pr. A. MALAOUI 27 27
VI. Le microprocesseur

3. La logique de contrôle.

Le séquenceur permet de :

ØGénérer les signaux du bus de commande


(RD, WR, etc.),

ØGénérer les signaux internes aux µP (gestion


des registres, de l’A.L.U., aiguillages des bus internes, etc.).

ØAssurer le contrôle de mise sous tension du microprocesseur


(initialisation des registres).

ØAssurer le traitement des interruptions.

. . Pr. A. MALAOUI 28 28
VI. Le microprocesseur

3. La logique de contrôle.

Le schéma simplifié général d’un µp est le suivant :

. . Pr. A. MALAOUI 29 29
VI. Le microprocesseur

3. La logique de contrôle.

3.3. Interruption

C’est une procédure qui permet de suspendre l'exécution d'un programme au


profit d'un autre, avec la possibilité de reprendre l'exécution du programme
initial là où il avait été suspendu.

En général, il existe deux catégories des interruptions :


Interruptions "matérielles" et "logicielles".

. . Pr. A. MALAOUI 30 30
VI. Le microprocesseur

3. La logique de contrôle.

3.3. Interruption

Exemples :

-L’interruption de redémarrage appelée reset : le microprocesseur se référence


à une adresse prédéterminée appelée le vecteur d'interruption.

-Arrêt HALT : Un signal indique à la périphérie qu’un autre processeur peut


Prendre le contrôle du bus d’adresse.

. . Pr. A. MALAOUI 31 31
V. Le microcontrôleur

I. Introduction

Un microcontrôleur est un circuit intégré programmable rassemblant dans


un même boitier un µp, plusieurs types de mémoires et des périphériques de
communication E/S.

Un microcontrôleur se caractérise par :

- Un très haut degré d'intégration,


- Une très faible consommation électrique (de quelques nanowatts à qlq mW),
- Une vitesse de fonctionnement de quelques Mégahertz,
- Un coût réduit par rapport aux microprocesseurs.

. . Pr. A. MALAOUI 32 32
V. Le microcontrôleur

II. Structure interne des µC

Un microntroleur est constitué, en général, des éléments suivants :

ØUn microprocesseur (C.P.U.),

ØUne mémoire de donnée (RAM et EEPROM),

ØUne mémoire 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 Timers pour générer ou mesurer des signaux avec une grande précision temporelle,

ØDes convertisseurs analogique / numérique pour le traitement de signaux analogiques.

33
. . Pr. A. MALAOUI 33
V. Le microcontrôleur

III. Exemple des µC

v Les µC peuvent fonctionner selon différents architectures (Van Newman ou Harvard)

v Il existe 5 types de µC 8-bit qui dominent le marché :

- le 68HC08/68HC11 de Freescale Semiconductor,


- le 8051 de Intel,
- le AVR de Atmel,
- le Z8 de Zilog,
- et le PIC de Microchip technology.

v Ces µC ne sont pas compatibles, chacun possède son propre jeu d’instruction et
son propre ensemble de registres.

. . Pr. A. MALAOUI 34 34
V. Le microcontrôleur

III. Exemple des µC

Le microcontrôleur ARDUINO

. . Pr. A. MALAOUI 35 35
V. Le microcontrôleur

III. Exemple des µC

Le microcontrôleur ARDUINO

. . Pr. A. MALAOUI 36 36
V. Le microcontrôleur

III. Exemple des µC

Le microcontrôleur ARDUINO

. . Pr. A. MALAOUI 37 37
V. Le microcontrôleur
III. Exemple des µC
Le microcontrôleur ARDUINO
Exemple d’un programme: LED allumee par signal rectangulaire
//set blink delay to 1000 ms (1 s):
int interval = 1000;
void setup()
{
// initialize digital pin 13 as output.
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(13, HIGH); // set the LED on
delay(interval); // wait for a second
digitalWrite(13, LOW); // set the LED off
delay(interval); // wait for a second

. . }
Pr. A. MALAOUI 38 38

Vous aimerez peut-être aussi