Vous êtes sur la page 1sur 9

ENST GEII Architecture des systèmes à microprocesseur Mme D.

BOUTOUTA

CHAPITRE 1: Généralités sur les systèmes à base de microprocesseur

Le calculateur numérique (ordinateur) est un système ou un ensemble de blocs composés d’éléments et de circuits
numériques qui se concertent pour exécuter un programme bien défini, conservé dans une mémoire avec des données
sur lesquelles il travaille. Quand le calculateur reçoit l’ordre d’exécuter un programme quelconque, il suit et respecte un
certain ordre jusqu’à ce que le programme prenne fin. Les informations traitées par un calculateur numérique sont de
différents types (nombres, instructions, images, vidéo, etc.…) mais elles sont toujours représentées sous un format
binaire et codées sur des mots de 8 bits (Octet) ; 16 bits ; 32 bits ou 64 bits.
1. NOTIONS DE BASE
1.1. Le microprocesseur
C’est l’élément de base dans un calculateur numérique, appelé souvent Unité Centrale. Il assure l’exécution
des programmes. Il est intégré dans une puce électronique, où on retrouve les éléments de la logique combinatoire et
séquentielle (portes, bascules, registres...). L’objectif de cette intégration qui dépasse actuellement facilement les
centaines de millions de transistors, est de permettre la réalisation des différentes opérations arithmétiques et logiques,
ainsi que les opérations de base de transfert et de branchement.
Les systèmes à microprocesseurs sont multiples et variés, on les trouve dans : l’ordinateur, la console de jeux, la
calculatrice, la télévision, le téléphone portable, le distributeur automatique, la robotique, le lecteur carte à puce ou code
à barre, l’automobile, l’instrumentation etc.…

1.2. Programme et instruction


Le programme est une suite (séquence) d’instructions élémentaires stockées dans la mémoire principale et qui
vont être exécutées dans l’ordre par le processeur.
Une instruction est une opération qui peut être :
➢ un simple transfert de données (lecture et écriture)
➢ un calcul arithmétique (addition, soustraction,..)
➢ un calcul logique (NOT, AND, OR,..)
➢ un branchement ou saut après un test (contrôle de séquence).
Une instruction est composée de deux champs :
➢ le champ opération, qui indique au processeur quelle opération à réaliser.
➢ le champ opérandes qui contient la (les) donnée (s), ou l’adresse d’une donnée en mémoire.
Chaque instruction est codée en binaire (un nombre entier d’octets) afin de faciliter son décodage par le processeur.
Exemple 1 : NOT A
Opération Opérande

Exemple 2 : ADD A,B


Opération Opérandes

La taille totale d’une instruction dépend du type de l’instruction et aussi du type des opérandes.

1.3. Le jeu d’instruction et la notion d’architecture RISC et CISC


Chaque processeur est capable d’exécuter un certain nombre d’instructions, élaboré par le fabricant, c’est son
jeu d’instructions. Le nombre d'instructions d’un microprocesseur est directement lié à la taille du code opération,
par exemple : un code opération d’une taille d’un octet permet de distinguer au maximum 28= 256 instructions
différentes.
La première étape de la conception d’un microprocesseur est la définition de son jeu d’instructions. Il va donc
en partie déterminer l’architecture du microprocesseur à réaliser.

Chapitre 1 : Généralités sur les systèmes à base de microprocesseur 1


ENST GEII Architecture des systèmes à microprocesseur Mme D.BOUTOUTA
Selon le jeu d’instruction, l’architecture des microprocesseurs se composent de deux grandes familles :
➢ Architecture à instructions simples: RISC (Reduced Instruction Set Computer).
• Les instructions sont simples et en nombre réduit (le programme est plus long).
• Chacune de ces instructions s’exécutent en un cycle d’horloge.
• Peut être réalisée à partir de séquenceur câblé (chaque instruction est traitée par matériel).

➢ Architecture à instructions complexes : CISC (Complex Instruction Set Computer).


• Les instructions sont complexes et en plus grand nombre (Le programme est plus réduit).
• Chacune des instructions nécessite un plus grand nombre de cycles d’horloge.
• Le code machine nécessite donc un décodeur complexe (un code  plusieurs micro-codes).

1.4. Modes d’adressage d’une instruction


Un mode d'adressage définit la manière dont le microprocesseur va accéder à l’opérande. Les modes
d'adressage dépendent de chaque microprocesseur mais on retrouve en général :
➢ l'adressage immédiat où l’on définit la valeur de l’opérande dans l’instruction elle-même (juste après
l’opération) située dans la mémoire centrale partie programme.
➢ l'adressage registre où l’on définit la valeur de l’opérande dans un des registres du microprocesseur.
➢ Les adressages direct et indirect où l’on définit la valeur de l’opérande dans la mémoire centrale partie
données.
Selon le mode d’adressage de la donnée, une instruction sera codée sur 1 ou plusieurs octets.

1.5. Le temps d’exécution d’une instruction


Le processeur exécute chaque instruction en quelques cycles d’horloges. Le nombre de cycles dépend de la
complexité de l’instruction et aussi du mode d’adressage. Il est plus long d’accéder à la mémoire principale qu’à un
registre du processeur. La durée d’un cycle dépend de la fréquence d’horloge du microprocesseur.

2. ARCHITECTURE D’UN SYSTEME A BASE D’UN MICROPROCESSEUR


Pour traiter une information, un microprocesseur seul ne suffit pas, il faut l’insérer au sein d’un système minimum
de traitement programmé de l’information. L’architecture d’un système à microprocesseur représente l’organisation
de ses différentes unités et de leurs interconnexions. Un système à base de microprocesseur est formé des éléments
suivants (voir figure 1) :

Figure 1 : Eléments de base d’un calculateur numérique

Chapitre 1 : Généralités sur les systèmes à base de microprocesseur 2


ENST GEII Architecture des systèmes à microprocesseur Mme D.BOUTOUTA
2.1. Le microprocesseur ou l’unité centrale CPU (Central Processing Unit)
Le microprocesseur est le cerveau du calculateur numérique car c’est lui qui se charge des fonctions suivantes :
➢ Prendre en charge les instructions et les données d’un programme en mémoire.
➢ Décoder les instructions du programme à exécuter.
➢ Effectuer les opérations arithmétiques et logiques correspondant aux instructions.
➢ Transférer les données entre la mémoire et les dispositifs d’Entrée/Sortie et vice versa.
➢ Fournir les signaux de synchronisation et de commande à tous les éléments du calculateur.
➢ Réagir aux signaux de commande produits par les E/S, comme le signal d’initialisation (Reset), les signaux
correspondant aux interruptions, ...
Le microprocesseur est caractérisé par :
➢ sa fréquence d’horloge : en MHz ou GHz,
➢ le nombre d’instructions par secondes qu’il est capable d’exécuter en MIPS (Million d’instructions par
seconde),
➢ la taille du bus de données: en bits (la taille des données qu’il est capable de traiter)
➢ et enfin la taille du bus d’adresse (la taille de l’espace adressable).

2.2. Les mémoires


a) La mémoire morte (ROM) dont le rôle est généralement le stockage des programmes permanents (instructions
et données inaltérables) nécessaires à la mise en fonctionnement de l’ensemble du calculateur, par exemple les
instructions du programme qui explore sans arrêt le clavier ou les données d’une table « ASCII » nécessaire
pour sortir les informations sur un écran ou sur une imprimante.
b) La mémoire vive (RAM) destinée au stockage des programmes au cours d’exécution (instructions et données
volatiles), ces derniers étant modifiés au fur et à mesure que se déroule le traitement. Cette section sert
également à la mémorisation des valeurs intermédiaires et des valeurs finales des calculs réalisés pendant
l’exécution du programme.
2.3. Les interfaces (ports) d’entrées/sorties
Les interfaces ou les port d'entrée/sortie sont des composants qui permettent au microprocesseur de
communiquer avec l’environnement extérieur (les périphériques) : clavier, écran, imprimante, capteurs, boutons...
2.4. Les bus, il existe trois types de bus :
a) Le bus de données est un ensemble de de fils conducteurs parallèles. Il permet le transfert des informations
binaires (un bit pour chaque fil). Le bus de données est bidirectionnel pour les deux liaisons suivantes :
➢ la communication du microprocesseur avec la mémoire vive (RAM) et
➢ la communication du microprocesseur avec l’interface d’entrée/sortie.
Il est unidirectionnel pour les trois liaisons suivantes :
➢ Mémoire Morte (ROM) → Microprocesseur,
➢ Microprocesseur → Interface de Sortie (par exemple l’imprimante),
➢ Interface d’Entrée (par exemple la sourie)→ Microprocesseur
b) Le bus d’adresses, est aussi un ensemble de fils conducteurs parallèles unidirectionnel allant du
microprocesseur vers ses périphériques, il permet de correspondre une adresse pour chaque case mémoire
adressable par le microprocesseur. Exemple : un microprocesseur possédant un bus d’adresse de16 bits, peut
adresser jusqu’à 216 cases mémoires.
c) Le bus de commande ou de contrôle est constitué de quelques fils conducteurs indépendants les uns des autres.
Il assure la synchronisation des flux d'informations sur les bus de données, on trouve par exemple CS (Chip
Select) ou CE (Chip Enable), OE (Output Enable) et R/𝑾 ̅̅̅(ReaD/Write), acceptation d’une demande
d’interruption ou d’un accès direct mémoire, ...Le nombre de lignes de commande dépend du type de
microprocesseur utilisé !
2.5. Le circuit d’horloge
Le microprocesseur est un circuit numérique séquentiel, toutes ses activités sont cadencées par une horloge. La
fréquence de cette horloge s’exprime en MHz (millions de battements par seconde).
Le signale d’horloge est généré par un étage oscillateur, dont la fréquence est définie par le concepteur du
système, tout en respectant les limites imposées par le constructeur du circuit intégré.

Chapitre 1 : Généralités sur les systèmes à base de microprocesseur 3


ENST GEII Architecture des systèmes à microprocesseur Mme D.BOUTOUTA
3. TYPES D’ARCHITECTURES D’UN SYSTEME A MICROPROCESSEUR
Il existe deux types d'architectures qui décrivent la fonctionnalité et la mise en œuvre des systèmes informatiques.
L’un est l’architecture Von Neumann, l’autre est l’architecture de Harvard (figures ci-dessous) :

Figure 2.a : Modèle de Von Neumann Figure 2.b : Modèle de HARVARD

3.1. L’architecture de Von Neumann


L’architecture Von Neumann a été conçue par le physicien et mathématicien renommé John Von Neumann à
la fin des années 1940 et depuis lors, elle constitue la base de l'informatique moderne et est plus facile à mettre
en œuvre. Elle dispose :
➢ Une mémoire de type RAM pour stocker le programme (les instructions) avec ses données.
➢ Un seul bus d’adresse
➢ Un seul bus de données qui sert à la fois pour les récupérations d'instructions et les transferts de données.
3.2. L’architecture de HARVARD
Le nom de cette structure vient du nom de l’université Harvard où une telle architecture a été mise en
pratique pour la première fois avec le Mark I en 1944. L'architecture Harvard est une architecture complexe car
elle dispose de :
➢ Deux mémoires séparées, une pour les instructions de type (ROM) et une seconde pour les données (RAM),
➢ Deux bus d’adresse, un pour la mémoire programme (instructions) et un autre pour la mémoire de Données,
➢ Deux bus de données, un pour les instructions qui sert à récupérer les instructions de la mémoire
programme vers le microprocesseur, et un second pour les données du programme qui sert à transférer des
données entre la mémoire Données et le microprocesseur.
3.3. Comparaison entre les deux architectures
Point de Architecture de Von Neumann Architecture de HARVARD
comparaison
Dans l'architecture Von-Neumann, le CPU est Dans l'architecture Harvard, le CPU est connecté à la
Arrangement connecté à une seule mémoire (RAM) de programme fois à la mémoire de données (RAM) et à la mémoire
et données. de programme (ROM).
L'architecture Von Neumann nécessite moins de Contrairement à l'architecture Von Neumann, cela
Configuration matériel car seule une mémoire commune doit être nécessite plus de matériel car il nécessitera un bus
matérielle atteinte (un seul bus d’adresse et un seul bus de des données et un bus d'adresses distincts pour
données). chaque mémoire.
L'architecture Von-Neumann nécessite moins Cela nécessite plus d'espace
Espace requis
d'espace.
La vitesse d'exécution est plus lente car elle ne peut La vitesse d'exécution est plus rapide car le
Rapidité
pas récupérer les données et les instructions en même processeur récupère simultanément les données et les
d’exécution
temps. instructions.
L'espace n'est pas gaspillé car l'espace de la mémoire Il en résulte un gaspillage d'espace car si l'espace est
Utilisation de données peut être utilisé par la mémoire laissé dans la mémoire de données, la mémoire
de l’espace d'instructions et vice-versa. d'instructions ne peut pas utiliser l'espace de la
mémoire de données et vice-versa.
Domaine Utilisée littéralement sur toutes les machines, des Utilisée dans les microcontrôleurs et les DSP (Digital
d’application ordinateurs de bureau, ordinateurs portables….. Signal Processing).
Chapitre 1 : Généralités sur les systèmes à base de microprocesseur 4
ENST GEII Architecture des systèmes à microprocesseur Mme D.BOUTOUTA
4. DESCRIPTION EXTERNE D’UN MICROPROCESSEUR
Depuis le premier microprocesseur d’Intel le 4004 réalisé en 1971, la finalité était de remplacer la logique câblée
par un système permettant l’exécution d’un ensemble d’instructions stockées en mémoire, chose qui facilite
l’implémentation d’algorithmes plus ou moins complexes.
Un microprocesseur se présente alors sous la forme d’un circuit intégré muni d’un nombre généralement important
de broches (pins).

On peut représenter un microprocesseur par son schéma externe (Figure 3), il est constitué en générale :
➢ des broches pour l’alimentation du circuit ;
➢ une broche pour l’entrée du signal d’horloge ;
➢ une broche RESET pour la réinitialisation du circuit ;
➢ un nombre n de broches pour le bus de données ;
➢ un nombre p de broches pour le bus de d’adresses ;
➢ quelques broches pour le bus de commande.

Figure 3 : Vue externe d’un microprocesseur


Exemples de microprocesseurs :
• Intel 8085, 8086, Zilog Z80, possèdent tous 40 broches ;
• Motorola 68000, possède 64 broches ;
• Intel 80386, possède 196 broches.
Les microprocesseurs sont commercialisés sous des formes de boitiers différentes telles :
➢ le DIP (Dual Inline Package) sous forme rectangulaire
➢ ou le PLCC (Plastic Leaded Chip Carrier) sous forme carrée (voir figure 4.a et 4.b).

Figure 4.a : Boitier DIP Figure 4.b : Boitier PLCC

5. DESCRIPTION INTERNE D’UN MICROPROCESSEUR (L’UNITE CENTRALE)


Le microprocesseur est construit autour de deux éléments principaux : la première est l’unité de commande
(UC) et la seconde est l’une unité de traitement (UT) aussi appelée Unité Arithmétique et Logique (UAL).
A ces deux unités lui sont associées à un banc de registres chargées de stocker les différentes informations à traiter.
Ces trois éléments sont reliés entre eux par des bus internes permettant les échanges d’informations (figure 5) :

Figure 5 : éléments de base d’un microprocesseur


Chapitre 1 : Généralités sur les systèmes à base de microprocesseur 5
ENST GEII Architecture des systèmes à microprocesseur Mme D.BOUTOUTA
5.1. L’unité de traitement (de calcul)
Elle regroupe les circuits qui assurent les traitements nécessaires à l'exécution des instructions, on y trouve :
a) L’Unité Arithmétique et Logique (UAL) : C’est un circuit complexe qui permet de traiter et tester les données,
il assure les opérations arithmétiques et logiques.
b) 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 et peuvent être de 8,16 ou 32 bits.
c) Le registre d'état : les bits de ce registre sont considérés individuellement. Chacun de ces 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 indicateurs 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. Les bits les plus couramment utilisés sont :
➢ Le bit de retenue (C pour Carry), Ce bit est dans l'état actif lorsque le dernier bit du résultat de
l'opération génère une retenue.
➢ Le bit signe (S) : Information qui indique que le bit le plus significatif (MSB) du contenu de
l'accumulateur est un 1 logique.
➢ Le bit Zéro : Ce bit est actif lorsque l'opération a pour effet de mettre tous les bits d'un accumulateur ou
d'un registre à la valeur logique 0.
➢ Le bit de débordement (V), Ce bit est actif lorsque l'opération présente un débordement.
5.2. L’unité de commande
C'est l'unité de control qui supervise le déroulement de toutes les opérations au sein du microprocesseur. Elle est
Constituée principalement de :
a) L’horloge : Elle génère le signal qui permet le cadencement et la synchronisation de toutes les opérations.
b) Le compteur programme PC : (Program Counter) contient l'adresse de la case mémoire ou est stockée la
prochaine instruction à charger. Au début de l'exécution d'un programme, le PC est initialisé à l'adresse
mémoire où est stockée la première instruction du programme. Le compteur programme est incrémenté chaque
fois qu'une instruction est chargée dans le p.
c) Le registre d'instruction RI : C'est là où le p stocke l'instruction en cours d'exécution.
d) Le décodeur : C'est lui qui va "décoder" l'instruction contenue dans RI et générer les signaux logiques
correspondant et les communiquer au séquenceur.
e) Le séquenceur : Il Gère le séquencèrent des opérations et génère :
➢ les signaux du bus de commande (RD, WR , etc.),
➢ les signaux internes aux μP (gestion des registres, de l’A.L.U, aiguillages des bus internes, etc.)
5.3. Le banc de registres
Un registre est une petite mémoire intégrée au microprocesseur, afin de recevoir des informations spécifiques,
notamment des adresses et des données stockées durant l'exécution d'un programme. On trouve :
➢ les registres de données (à usage général) permettent à l'unité de traitement de manipuler des données à
vitesse élevée. Ils sont connectés au bus données interne au microprocesseur et ils sont accessibles au
programmeur.
➢ les registres d'adresses (pointeurs) connectés sur le bus adresses.
➢ D'autres registres ont des rôles bien plus spécifiques et d'autres registres sont inaccessibles au programmeur.

6. Phases de traitement d’une instruction

Le microprocesseur ne comprend qu’un certain


nombre d’instructions qui sont codées en binaire. Le
traitement d’une instruction se fait en trois phases (figure 6)
:

Figure 6 : Phases de traitement d’une instruction

Chapitre 1 : Généralités sur les systèmes à base de microprocesseur 6


ENST GEII Architecture des systèmes à microprocesseur Mme D.BOUTOUTA

Phase 1 : Recherche de l'instruction à traiter (Figure 7.a)


a) La valeur du compteur programme PC est
placée sur le bus d'adresses par l'unité de
commande qui émet un ordre de lecture
RD.
b) Le contenu de la case mémoire
sélectionnée est disponible sur le bus des
données.
c) Le code de l'instruction est ensuite stocké
dans le registre d’instruction du
processeur.

Figure 7.a : Recherche de l’instruction

Phase 2 : Décodage de l’instruction et recherche de l'opérande (Figure 7.b)


Le registre d'instruction contient maintenant le premier mot de l’instruction. Ce dernier contient le code opération
qui définit la nature de l'opération à effectuer (addition, transfert,...) et la taille de l'instruction (en nombre de mots).

a) Le décodeur d’instruction détermine les


opérations à exécuter en fonction du
code de l’instruction, il transforme alors
le code en une suite de commandes
élémentaires nécessaires au traitement
de l'instruction et le séquenceur
déclenche et coordonne les différentes
opérations pour réaliser l’instruction.
b) Si l'instruction nécessite une donnée en
provenance de la mémoire, l'unité de
commande récupère sa valeur sur le bus
de données.
c) Les opérandes sont stockés dans des
registres de données (accumulateurs).
Figure 7.b : Décodage de l’instruction et recherche de l’opérande

Phase 3 : Exécution de l'instruction (Figure 7.c)

a) Le microprogramme réalisant
l'instruction est exécuté.

b) Les drapeaux sont positionnés


(registre d'état).

c) L'unité de commande charge le


compteur programme PC avec
l’adresse de l'instruction suivante.

Figure 7.c : Exécution de l’instruction

Chapitre 1 : Généralités sur les systèmes à base de microprocesseur 7


ENST GEII Architecture des systèmes à microprocesseur Mme D.BOUTOUTA
7. DECODAGE D’ADRESSES
Un système à microprocesseur possède plusieurs périphériques (des ROM, des RAM et des Interface E/S). Le
microprocesseur ne peut communiquer qu’avec un seul de ses périphériques à la fois. Pour éviter les conflits sur le bus
de données, il faut mettre en place le décodage d’adresse qui a pour fonction de générer les signaux de sélection ou
d’activation CS (chip select) ou CE (Chip Enable) de chaque périphérique, à partir du bus d’adresse (figure 3).

Figure 3 : Décodage d’adresse

7.1. Espace adressable par un microprocesseur


L’espace adressable est le nombre d’adresses que peut fournir un microprocesseur autrement dit c’est le nombre
de cases mémoires que peut adresser un microprocesseur. C’est le nombre de lignes du bus d’adresse qui détermine
l’espace adressable d’un microprocesseur. Si k est la taille du bus d’adresse d’un microprocesseur, son espace
adressable est égale à 2k.
Exemple : Un microprocesseur ayant un bus d’adresses de 10 bits peut générer au maximum 210 adresses distinctes.
7.2. Plage d’adresses
C’est le champ d’adresses occupé par un boîtier mémoire allant de l’adresse minimale (adresse basse) à l’adresse
maximale (adresse haute).
Exemple : soit le boitier mémoire (ROM) suivant :

La capacité de cette mémoire en mot est égale à 29=512 mots de 8bits

On détermine les adresses minimale et maximale de ce boitier :


Adresse A8 A7 A6 A5 A4 A3 A2 A1 A0 Adresse en Héxa Adresse en Plage d’adresses
décimal
Minimale 0 0 0 0 0 0 0 0 0 0 0 0 à (1FF)16 ou
Maximale 1 1 1 1 1 1 1 1 1 (1FF)16 (511)10 0 à (511)10

7.3. La cartographie (Plan) de la mémoire ou memory map


C’est une représentation graphique de ce que le microprocesseur est susceptible de trouver à telle ou telle adresse.
Le plan mémoire est la traduction graphique du décodage d’adresses.

Exemple : Décodage de 8 boitiers mémoires de 128 adresses mis en série pour obtenir 1024 adresses contigües
(figure ci-dessous).
Chapitre 1 : Généralités sur les systèmes à base de microprocesseur 8
ENST GEII Architecture des systèmes à microprocesseur Mme D.BOUTOUTA

Plages d’adresses :

Adresse A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Plages d’adresse


Minimale 0 0 0 0 0 0 0 0 0 0
MEM0 00016-07F16
Maximale 0 0 0 1 1 1 1 1 1 1
MEM1 Minimale 0 0 1 0 0 0 0 0 0 0
08016-0FF16
Maximale 0 0 1 1 1 1 1 1 1 1
MEM2 Minimale 0 1 0 0 0 0 0 0 0 0
10016-17F16
Maximale 0 1 0 1 1 1 1 1 1 1
MEM3 Minimale 0 1 1 0 0 0 0 0 0 0
18016-1FF16
Maximale 0 1 1 1 1 1 1 1 1 1
MEM4 Minimale 1 0 0 0 0 0 0 0 0 0
20016-27F16
Maximale 1 0 0 1 1 1 1 1 1 1
MEM5 Minimale 1 0 1 0 0 0 0 0 0 0
28016-2FF16
Maximale 1 0 1 1 1 1 1 1 1 1
MEM6 Minimale 1 1 0 0 0 0 0 0 0 0
30016-37F16
Maximale 1 1 0 1 1 1 1 1 1 1
MEM7 Minimale 1 1 1 0 0 0 0 0 0 0
38016-3FF16
Maximale 1 1 1 1 1 1 1 1 1 1

Chapitre 1 : Généralités sur les systèmes à base de microprocesseur 9

Vous aimerez peut-être aussi