Vous êtes sur la page 1sur 15

Chapitre 1

Présentation des systèmes


micro-programmés

1.1 Introduction
Vue notre besoin du traitement de l'information, eectuer des opérations arithmétique (

addition, soustraction, . . . ) ou bien logique (ET, OU, . . . ) entre plusieurs entrées pour

générer les signaux de sortie), vient l'importance des circuits intégrés. L'intégration de

maximum des structures électroniques à un seul circuit intégré nous permet de réduire

le cout d'une part et avoir une architecture simple d'un système d'autre part. On peut

représenter les diérents types des circuits intégrés par la schéma suivant :

Figure 1.1  Diérents types des circuits intégrés

2
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 3

- ASIC ( Application Specic Integrated Circuit ) : c'est un circuit intégré spécique à

une application.

- Circuit analogique : c'est un circuit intégré qui nous permet le traitement des informa-

tions analogique.

- Circuit logique : c'est un circuit intégré représentant des structures logiques non pro-

grammés.

- Circuit programmé : dans ce type de circuit on a besoin des programmes (représentant

des informations virtuelles) régissant leur fonctionnements.

1.2 De transistor vers le microprocesseur


Dès l'invention du transistor (qui a eu lieu en 1947), une évolution électronique est ap-

parue et a rendu possible le développement rapide des ordinateurs, de l'informatique, des

logiciels.

Tout cet ensemble de techniques : ordinateurs, logiciels, électronique, Silicium, et transport

de l'information forment un système technique.

Par interconnexion de plusieurs transistors sur une même puce en1958, un circuit intégré

a été inventé.

L'accroissement s'est fait d'une façon exponentielle (rythme loi de Moore en 1965), par

un doublement tous les 18 mois.

La variation exponentielle s'applique à tous les paramètres caractérisant l'électronique :

dimensions des transistors (dont la surface est divisée par 2 tous les 3 ans), prix de chaque

transistor qui diminue (le prix d'une puce est resté constant), marché mondial des semi-

conducteurs (multiplié´e par 3 tous les 8 ans), etc.

Les circuits intégrés (1965) ont permis la portabilité de ces appareils, ainsi que leur com-

plexication exponentielle jusqu'aux Mécanos informatiques puis systèmes (SOC).

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 4

Figure 1.2  1/2 siècle de l'électronique

Plus qu' on peut mettre de transistors sur une seule puce, et plus le nombre de puces

diérentes que l'on peut imaginer est grand.

Figure 1.3  Loi de Moore

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 5

La classication des circuits se base sur le nombre de transistors par puce :

- 1964 Intégration à petite échelle (SSI de 1 à 10 transistors) : les portes logiques, les

bascules ...

- 1965 Intégration à moyenne échelle (MSI de 10 à 500 transistors) : UAL, compteur,..

- 1970 Mise au point de la technologie MOS.

- 1971 Intégration à grande échelle (LSI de 500 à 20 000 transistors) : microprocesseur

4004. . .

- 1985 Intégration à très grande échelle (VLSI plus de 20 000 transistors).

On appelle  microprocesseur , un processeur dont tous les composants sont réunis en

un seul circuit intégré.

La miniaturisation des transistors a permis d'augmenter considérablement la capacité

d'intégrations sur silicium. On a passé rapidement du processeur 4 bits au processeur 64

bits.

- Premier microprocesseur : Intel, 1971, microprocesseur 4004 (4bits).

- Déebut des années 1980. Processeur 8 bits, 8080 et 8085 d'Intel.

- Processeurs 16 bits : 8086/8088 d'Intel.

- Processeurs 32 bits : 1986 : 80386 d'Intel.

- Processeurs 64 bits.

Cette miniaturisation a oert des possibilités de réaliser des systèmes embarquées (micro-

contrôleurs, DSP,..).

1.3 Le microprocesseur
Les premiers microprocesseurs apparaissent dans les débuts des années 1970. Ainsi , à

cet époque ils ont pu intégrer plusieurs milliers de portes dans un même substrat ( c'est

le concept de  LSI ( Large Scale Integration) ) et aussi l'arrivé à la maturité de la

technologie MOS caractérisé par sa faible consommation. Alors, la conjugaison de ces

évènements a permis de regrouper une unité centrale d'ordinateur dans un seul circuit

intégré appelé  microprocesseur . Ce type de composant est apparu au sein de familles

provenant de grands constructeurs américains : Intel, Motorolla, Advanced Micro Device

(AMD),. . .

La performance de ce composant porte sur la vitesse de fonctionnement, la largeur des

mots traités, le nombre et la complexité des opérations réalisables.

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 6

La fabrication du premier microprocesseur le  4004  en 1971 par la société INTEL

contient 2300 transistors et fonctionne avec un bus de données de 4 bits. Depuis l'appa-

rition du premier processeur, l'évolution des microprocesseurs n'a pas cessé et ça revient

à l'intégration d'un nombre important des transistors dans les microprocesseurs que nous

permet aujourd'hui l'apparition du microprocesseur Pentium VII qui contient plus de 24

millions de transistors et peut traiter des données de 8, 16, 32, 64 bits.

Le rôle du microprocesseur apparait dans le traitement d'information ainsi le calcul scien-

tique et c'est pourquoi on classe les microprocesseurs parmi les composants programmés

généralistes.

1.3.1 Architecture d'un microprocesseur


La gure ci dessous représente une architecture simpliée d'un microprocesseur.

Figure 1.4  Architecture de base d'un microprocesseur

- Unité de contrôle ou séquenceur : l'unité de contrôle est un circuit logique séquentiel

chargée de séquencer l'algorithme et de générer les signaux de contrôle pour piloter les

éléments du chemin de données. Elle envoie des commandes à l'unité de traitement qui

va exécuter les traitements.

L'unité de contrôle contient :

ã Le compteur de programme (PC : Programme Counter) appelé aussi Compteur

Ordinal (CO) : Il est constitué par un registre dont le contenu est initialisé avec

l'adresse de la première instruction du programme. Il contient toujours l'adresse

de la prochaine instruction à exécuter.

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 7

ã Le registre d'instruction et le décodeur d'instruction : Chacune des instructions

à exécuter est transféré depuis la mémoire dans le registre instruction puis est

décodée par le décodeur d'instruction.

ã Bloc logique de commande (ou séquenceur) : IL organise l'exécution des instruc-

tions au rythme d'une horloge. Il élabore tous les signaux de synchronisation in-

ternes ou externes (bus de commande) du microprocesseur en fonction de l'instruc-

tion qu'il a à exécuter.

- L'unité arithmétique logique (UAL) : le rôle de l'UAL est d'exécuter des opérations

arithmétiques ( addition, soustraction, multiplication, division) et des opérations logiques

( tel que Et, Ou, NOT,..) et de même pour les opérations de rotation et de décalage...

- Les accumulateurs : ce sont des registres de travail qui servent à stocker une opérande

au début d'une opération arithmétique et le résultat à la n de l'opération.

- Le registre d'état : il est généralement composé de 8 bits à considérer individuelle-

ment. Chacun de ces bits est un indicateur dont l'état dépend du résultat de la dernière

opération eectuée par l'UAL. On l'appelle indicateur d'état ou ag ou drapeau (Retenue,

débordement, zéro, ...).

- Le registre : c'est un espace mémoire interne au processeur. Un registre est une petite

partie de mémoire intégrée au microprocesseur, dans le but de recevoir des informations

spéciques, notamment des adresses et des données stockées durant l'exécution d'un pro-

gramme. Il existe plusieurs types de registres. Certains d'entre eux sont aectés à des

opérations d'ordre général et sont accessibles au programmeur à tout moment. Nous di-

sons alors qu'il s'agit de registres généraux. D'autres registres ont des rôles bien plus

spéciques et ne peuvent pas servir à un usage non spécialisé. Enn, d'autres registres

sont invisibles et par conséquent inaccessible au programmeur. Ces registres ne sont ac-

cessibles qu'au microprocesseur. Lorsque nous exécutons un programme, l'UAL à toujours

accès à ces registres.

- Les Bus : le microprocesseur est relié à trois types de bus : le bus d'adresse, le bus de

données et le bus de commande. Il s'agit de plusieurs pistes électroniques qui sont reliées

au microprocesseur. Ces bus assurent la communication interne et externe du micropro-

cesseur.

ã Bus d'adresse : le bus d'adresse est une voie unidirectionnelle qui sert à envoyer un

code d'adresse à la mémoire et à communiquer avec des dispositifs extérieurs.

ã Bus de donnée :le bus de donnée peut présenter une largeur de 8 à 64 bits, se-

lon l'année et le type du microprocesseur. C'est par le bus de donnée que sont

transmises les données qui doivent être traitées par le microprocesseur. A l'in-

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 8

verse, c'est également par le bus de données 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.

ã Bus de commande :le bus de commande sert à coordonner tous les échanges d'in-

formations décrits précédemment. Le bus de commande véhicule des données qui

valident la mémoire et les ports d'entrées / sorties. Le bus de commande 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 conits

de bus lorsque deux éléments cherchent à communiquer en même temps.

1.3.2 Système à base d'un microprocesseur


Les éléments constituants un système sont reliés entre eux et au microprocesseur grâce

aux trois bus : donnée, adresse et commande.

Un modèle se représente dans la gure ci-dessous :

Figure 1.5  système à base d'un microprocesseur

Le processeur exécute les instructions machines présente dans la mémoire et traite les don-

nées qu'elle contient : le fonctionnement du microprocesseur est entièrement conditionné

par le contenu de celles-ci.

En réalité, on distingue deux structures de microprocesseurs :

- Structure de Von Neumann : (Figure 1.6)

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 9

Figure 1.6  structure Von Neumann

La mémoire de programme, la mémoire des données et les périphériques d'entrées/sorties

partagent le même bus d'adresses et des données.

- Structure de Harvard

Figure 1.7  Structure Harvard

La structure de Harvard permet de transférer les données et les instructions simulta-

nément. Ce type d'architecture est utilisé sur des microcontrôleurs qui ont connu un

développement important ces dernières années.

On se rappelle que le rôle d'un microprocesseur est d'exécuter un programme. Un pro-

gramme est un ensemble d'instructions. Chaque instruction a une adresse et stockée dans

une case mémoire.

Format d'une instruction : code de l'opération, opérande1, opérande 2.

L'exécution d'une instruction nécessite, généralement cinq étapes :

- Recherche de l'instruction.

- Décodage.

- Recherche des opérandes.

- Exécution.

- Stockage de résultat.

- Prochaine instruction à exécuter.

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 10

Exemple 1 : Pour mieux comprendre le fonctionnement d'un microprocesseur, on


va expliquer la démarche d'exécution d'une instruction avec l'exemple représenté dans la

gure ci_dessous :

Figure 1.8  Exemple : Instruction à exécuter

Et on va prendre comme exemple l'instruction : R2 =R1+R0 codée par 11 00 0110.

ã Étape 1 : Recherche de l'instruction (Figure 1.9) : le microprocesseur doit savoir à

chaque instant l'adresse de la prochaine instruction à exécuter. Le microprocesseur

utilise un registre contenant cette information : Le pointeur d'instruction PC. Le

contenu de PC est placé sur le bus des adresses. L'unité de contrôle (UC) émet

un ordre de lecture, au bout d'un certain temps (temps d'accès à la mémoire),

le contenu de la case mémoire sélectionné est disponible sur le bus des données.

L'unité de contrôle charge la donnée dans le registre d'instruction pour le décodage.

Figure 1.9  Recherche de l'instruction

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 11

ã Étape 2 : décodage de l'instruction.

Figure 1.10  Décodage de l'instruction

ã Étape 3 : recherche des opérandes.

Figure 1.11  Recherche des opérandes

ã Étape 4 : exécution de l'instruction.

Figure 1.12  Exécution de l'instruction

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 12

ã Étape 5 : stockage du résultat.

Figure 1.13  Stockage du résultat

ã Étape 6 : Recherche de la prochain instruction.

Figure 1.14  Recherche de la prochaine instruction

Exemple 2 : On va prendre comme exemple un processeur DIX sans pipeline.


L'interprétation des instructions du DIX nécessite 5 cycles d'horloge qui sont :

- Instruction Fetch cycle (IF).

- Instruction decode/register fetch cycle (ID).

- Exécution/ (EX).

- Memory access (MEM).

- Write-back cycle (WB).

L'architecture interne du microprocesseur DIX (Figure 1.15) se représente comme suit :

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 13

Figure 1.15  Architecture interne du processeur DIX

Les caractéristiques globales de ce processeur sont les suivantes :

- Instructions codées sur 32 bits.

- 32 registres entiers de 32 bits chacun notés R0 à R31. R0 contient toujours 0.

- Mémoire adressable par mot, adresse mémoire sur 6 bits (64 mots).

- Deux modes d'adressage : immédiat et déplacement.

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 14

1.3.3 Architecture CISC et Architecture RISC


Réellement, un microprocesseur peut se représenter sous forme de deux principaux archi-

tecture CISC et RISC. Dans le tableau suivant (Tableau 1.1), on résume les principaux

points.

RISC CISC

Instructions complexes
Instructions simples consommatrice de temps
d'exécution
Accès à la mémoire Toutes les instructions
uniquement pour lire ou peuvent accéder à la
aecter une valeur mémoire
Peu de traitement en
Traitement en pipeline
pipeline
Instruction au format
Instruction au format xe
variable
Plusieurs registres Pas trop de registres

Tableau 1.1  Architecture des µprocesseurs : CISC & RISC

1.4 De microprocesseur vers le microcontrôleur


L'intégration a également permis de rassembler le microprocesseur et les éléments associés

(mémoire, périphérique d'entrée-sortie,...) au sein d'un seul circuit appelé "microcontrô-

leur". Un microcontrôleur est un circuit intégré et qui a été inventé par Texas Instruments

aux débuts des années 1970 et il était simplement un microprocesseur et des mémoires

tels que RAM et ROM. Les microcontrôleurs ne cessaient pas à évoluer ; à intégrer dans

plusieurs domaines tels que l'automobile, l'éclairage, les communications et les appareils

grand public de faible puissance ; sont également devenus plus petits et plus puissants.

1.4.1 Intérêt du microcontrôleur


Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, une plus faible

consommation électrique, une vitesse de fonctionnement plus faible et un coût réduit par

rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs personnels. Par

rapport à des systèmes électroniques à base de microprocesseurs et autres composants

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 15

séparés, les microcontrôleurs permettent de diminuer la taille, la consommation électrique

et le coût des produits. Les points forts des microcontrôleurs sont nombreux et bien réels.

Tout d' abord, un microcontrôleur intègre dans un seul et même boitier ce qui avant

nécessitait une dizaine d'éléments séparé. Cette intégration a aussi comme conséquence

immédiate de simplier le trace du circuit imprime, puisqu'il n'est plus nécessaire de

véhiculer des bus d'adresses et de données d'un composant a autre. Ainsi, diminution

de l'encombrement du matériel et du circuit imprimé ; simplication du tracé du circuit

imprimé ; intégration en technologie MOS, CMOS d'où la diminution de la consommation ;

environnement de programmation et de simulation évolués.

1.4.2 Architecture à base d'un microcontrôleur


Un microcontrôleur se présente sous la forme d'un circuit intégré réunissant tous les

éléments d'une structure à base de microprocesseur.

L'architecture minimale d'un microcontrôleur contient :

- Un microprocesseur.

- Mémoire programmé : contient les instructions du programme que doit exécuter le

microprocesseur. Ce type de mémoire (appelée mémoire morte), est uniquement accessible

en lecture.

- Mémoire de donnée : permet de mémoriser temporairement les données générées par le

microprocesseur pendant les diérentes phases du traitement numérique (résultats d'opé-

rations, états des capteurs...). Ces mémoires sont accessibles en écriture et en lecture.

- Des interfaces parallèles , des interfaces séries pour le dialogue avec d'autres unités.

- Des convertisseurs analogique - numérique pour le traitement de signaux analogiques

1.4.3 Diérentes familles des microcontrôleurs


On trouve plusieurs familles des microcontrôleurs citons :

- La famille Atmel AT91.

- La famille Atmel AVR.

- Le C167 de Siemens.

- La famille Hitachi H8.

- La famille des PIC de Microchip.

Microcontrôleurs
CHAPITRE 1. PRÉSENTATION DES SYSTÈMES MICRO-PROGRAMMÉS 16

- La famille des DSPIC de Microchip.

La société Américaine Microchip Technologie a mis au point dans les années 90 un mi-

crocontrôleur CMOS : le PIC Peripheral Interface Controller). Ce composant encore très

utilisé à l'heure actuelle, est un compromis entre simplicité d' emploi, rapidité et prix de

revient.

L'utilisation de la famille Microchip s'augmente avec le temps. En 2002, ce dernier s'occupe

la première classe. et que l'on peut visualiser dans la gure ci_dessous :

Figure 1.16  Classement des microcontrôleurs

Microcontrôleurs