Вы находитесь на странице: 1из 7

CHAP 1 : GGENERALITES SUR LES SYSTEMES A MICROPROCESSEURR

I. Notions essentielles
I-1- Microprocesseur
Le microprocesseur ou unité centrale de traitement (CPU : Central Processing Unit) est un circuit électronique
complexe caractérisé par une très grande intégration, capable de comprendre et d’exécuter un ensemble d’instructions
d’un programme.

I-2- Langage machine


Le langage machine est l’association de séquences de bits organisés sous forme d’octets (instruction machine)
compréhensible par le microprocesseur.

I-3- Langage d’assemblage


Le langage d’assemblage est la traduction en langue humaine du langage machine en utilisant des mnémoniques ;
c’est-à-dire que l’on donne des noms aux instructions machines en rapport avec l’action effectuée. Malheureusement il
y a un langage machine par CPU, donc il y a aussi un langage d’assemblage par CPU.
Les codes écrits en langage d’assemblage sont traduits vers le langage machine par le biais d’un programme qu’on
appelle assembleur.

NB : le langage d’assemblage (en anglais : assembly language ou assembly) est le langage de programmation dans
lequel on écrit le programme ; alors que l’assembleur (en anglais : assembler) est le programme qui traduit le source
écrit en langage d’assemblage vers le langage machine. Il est dans l’usage de pratiquer l’abus qui consiste à employer
le terme assembleur à la place de l’expression langage d’assemblage.

I-4- Programme
Un programme est une séquence d’instructions stockées dans une mémoire qui vont être exécutées à partir d’une
adresse de départ. Ces instructions vont interagir plus ou moins directement avec des données se trouvant aussi en
mémoire.
En effet, une instruction est une très courte séquence d’octets dont une partie renseigne le microprocesseur sur
l’action à effectuer (c’est le code opératoire) et une autre partie éventuelle renseigne sur quelles données faire porter
l’action quand il est nécessaire de les spécifier (ce sont les opérandes).

II. Environnement minimum d’un système à microprocesseur


Le microprocesseur ne peut fonctionner sans un environnement minimum comportant :
- Une zone de mémoire vive pour les données et les résultats
- Une zone de mémoire morte pour le programme
- Une ou plusieurs interfaces pour les périphériques.
La structure de l’environnement minimum d’un système à microprocesseur est la suivante :

INTERFACE POUR
MEMOIRE MEMOIRE
PERIPHERIQUE
MORTE (ROM) VIVE (RAM)
Horloge D’ENTREE / SORTIE

Bus d’adresses

Microprocesseur
Bus de données

Bus de commande

1
II-1- Liaisons entre les différentes entités
Un système à microprocesseur (par exemple un ordinateur) se compose principalement d’un microprocesseur (CPU),
de mémoires (ROM et RAM) et des unités d’interface pour périphérique (clavier, souris, scanner, carte son, écran,
imprimante …). Le CPU est la pièce maîtresse de tout le système ; les mémoires et les périphériques étant à son
service. Le CPU est connecté aux périphériques et aux mémoires à l’aide de trois groupes de conducteurs en parallèle
appelés bus et ayant chacun une fonction spécifique :
- Le bus de données (Data bus) : il assure le transfert des informations du microprocesseur vers les éléments
de son environnement et inversement. Il est donc bidirectionnel.
Le nombre de fils constituants le bus de données est égal à la capacité de traitement du microprocesseur. Par
exemple un microprocesseur 16 bits traite les données en les exploitant par groupe de 16 bits, un
microprocesseur 32 bits traite les données en les exploitant par groupe de 32 bits.

- Le bus d’adresses (Address bus) : il permet la sélection des informations à traiter dans un espace mémoire
ou à partir d’un périphérique. Il est unidirectionnel.
Si le bus d’adresses est constitué de n conducteurs alors l’espace mémoire peut avoir 2 n emplacements
possibles.

- Le bus de commande (Control bus) : il est constitué de quelques conducteurs qui assurent la
synchronisation des flux d’information sur les bus de données et d’adresses.
NB : l’horloge est nécessaire pour la mise en route du microprocesseur. En effet, elle permet de rythmer (cadencer)
l’exécution des tâches à effectuer par le microprocesseur.
II-2- Les mémoires
Les mémoires sont des circuits électroniques qui peuvent enregistrer, conserver et restituer des informations binaires.
Chaque bit est enregistré dans une cellule mémoire (ou point mémoire). Il existe des dispositifs mémoires permettant
de manipuler de très grandes quantités d’informations.
On distingue généralement deux familles de mémoires :
- Les mémoires RAM (Random Access Memory) : mémoire à accès aléatoire.
- Les mémoires ROM (Read Only Memory) : mémoire à lecture seulement.

a. Mémoires RAM
Ce sont des mémoires dans lesquelles l’on peut écrire et lire une information à tout moment ; d’où l’appellation
"mémoires vives". Elles sont volatiles, c’est-à-dire que l’on perd les données qu’elles contiennent en cas de coupure
d’alimentation.
Parmi les mémoires vives, on distingue :
- Les SRAM (Static RAM) : leurs cellules sont faites de bistables (bascules). Elles sont plus rapides car leur
temps d’accès est très faible.
- Les DRAM (Dynamic RAM) : leurs cellules sont faites de micro-accumulateurs (condensateurs). Leur
particularité c’est que pour éviter que les micro-accumulateurs qui les constituent se déchargent sous peine de
perdre l’information, elles doivent être rechargées périodiquement ; on dit qu’on rafraîchit la mémoire. Cette
disposition les rend moins rapide que les SRAM.

b. Mémoires ROM
Les ROM sont des mémoires où seules les opérations de lectures sont autorisées. Les informations qu’elles
contiennent sont conservées en permanence, même lors d’une coupure d’alimentation. Elles sont également appelées
mémoires mortes ou mémoires fixes. Avec les diverses évolutions technologiques, on distingue différents types de
mémoires ROM :

- Les ROM (Read Only Memory). Ce sont les ROM typiques. Les informations sont écrites une fois pour de bon
chez le concepteur.
- Les PROM (Programmable ROM). Elles peuvent être programmées une seule fois par l’utilisateur à l’aide
d’un programmateur de mémoire. Elles sont aussi dites PROM à fusibles.

2
- Les EPROM (Erasable PROM). Ce sont des mémoires qui peuvent être reprogrammées à condition d’en avoir
effacé au préalable le contenu par un rayonnement ultra-violet. On les appelle aussi UV-PROM. Pour les
reprogrammer il faut un programmateur nécessitant une tension de programmation élevée (généralement
supérieure à 12V).
- Les EEPROM (Electrically Erasable PROM). C’est une amélioration technologique des EPROM. Ce sont des
mémoires qui peuvent être effacées et reprogrammées électriquement avec une tension relativement faible
(5V).
- Les mémoires FLASH. Ce sont en fait, à la base, des mémoires de type EEPROM et donc en possède les
principales caractéristiques mais avec des améliorations technologiques notables. Le temps de
reprogrammation est plus bref et elles supportent plusieurs centaines de milliers de cycles de
reprogrammation.

c. Organisation d’une mémoire

Une mémoire est organisée comme une structure matricielle de L lignes et C colonnes. Chaque ligne est une case
mémoire (ou emplacement mémoire).
Dans chaque case mémoire on peut mémoriser 1 bit part colonne. Donc dans une case mémoire on peut mémoriser
une donnée de C bits.
Le nombre de cases mémoires pouvant être très élevé, il est alors nécessaire de pouvoir les identifier par un numéro
appelé adresse. L’accès à une case mémoire se fait alors par l’intermédiaire de son adresse. L’adresse est un nombre
binaire de n bits.
Pour des adresses de n bits, on peut sélectionner 2n cases mémoires possibles. Ainsi comme pour chaque adresse
correspond une et une seule case mémoire, le circuit mémoire dispose d’un décodeur d’adresses qui permet de
choisir la case mémoire adressée parmi les 2 n.
Par ailleurs, un boîtier mémoire comprend une entrée de commande qui permet de définir le type d’action que l’on
effectue (lecture/ écriture) et une entrée de sélection qui permet de mettre les entrées/sorties du boîtier en haute
impédance (c’est-à-dire de mettre le boîtier hors service).
Bus de données

D7 D6 D5 D4 D3 D2 D1 D0
Une opération de lecture ou d’écriture de la
Commande de
mémoire suit le cycle suivant :
lecture/écriture
L3 - 1ère action : sélection de l’adresse
A1 Décodeur L2 - 2ème action : choix de l’opération à effectuer
Bus d’adresses A0 L1 (lecture ou écriture)
d’adresses L0
Commande de - 3ème action : sélection du circuit mémoire
sélection du circuit - 4ème action : lecture ou écriture de la donnée.
Structure d’une mémoire de quatre cases mémoires d’un octet

d. Capacité d’une mémoire


La capacité caractérise le nombre de bits ou d’octets mémorisables par un circuit mémoire. Elle est souvent exprimée
en kilobits ou en kilo-octets.
Pour un circuit mémoire ayant un bus d’adresses de n bits et un bus de donnée de D bits (c’est-à-dire D bits dans
une case mémoire), alors la capacité est :

C = 2n x D (en bits) ou bien C = 2n x 2-3 x D = 2n-3 x D (en octets).

Remarque : 1 octet = 23 = 8 bits 1 kilo-octet (Ko) = 210 octets


1 kilobit (Kb) = 210bits 1 Mégaoctet (Mo) = 210 Ko =220 octets
1 Mégabit (Mb) = 210 Kb =220 bits 1 Gigabit (Go) = 210 Mo = 220 Ko = 230 octets.
1 Gigabit (Gb) = 210 Mb = 220 Kb = 230 bits.

3
III. Structure et fonctionnement d’un microprocesseur
Le cœur d’un système à microprocesseur est l’unité centrale de traitement (UC) ou CPU, ou tout simplement
microprocesseur.

Le microprocesseur est un circuit séquentiel pouvant effectuer une suite d’opérations binaires en fonction d’une
instruction. Il se compose essentiellement de :

- Une unité de commande ou unité de contrôle.


- Une unité Arithmétique et Logique (UAL) ou Arithmetic and logic Unit (ALU)
- Registres

III-1- Architecture interne d’un microprocesseur


Le microprocesseur exécute les instructions qui constituent un programme. Pour réaliser cette tâche, les divers
éléments qui le constituent sont classés en deux grands blocs qui sont :

- Le bloc unité de commande (ou unité de contrôle)


- Le boc UAL

Tous ces blocs fonctionnent en manipulant des registres divers.

BUS interne

Registre Registre
Registre Registre RI PC

Registre Registre
Décodeur

UAL Séquenceur
RE

Accumulateur Horloge
Unité d'exécution
Unité de commande (ou de contrôle)

a- L’unité de commande

Elle supervise le déroulement de toutes les opérations (actions) effectuées par le microprocesseur. Elle se compose
de :
- Une horloge qui permet la synchronisation des tâches effectuées.
- Un séquenceur qui est chargé de générer tous les signaux de commande et de gérer le séquencement
(ordonancement) des tâches effectuées.
- Un registre d’instruction (RI) dans lequel est stocké l’instruction qui est en cours d’exécution.
- Un compteur de programme ou compteur ordinal ou Program Counter (PC) qui est un registre particulier
chargé de contenir l’adresse de l’emplacement mémoire où est stockée la prochaine instruction à exécuter
(c’est-à-dire à envoyer dans le RI) après celle qui est encours de traitement.

Remarque : au début du lancement ou de l’exécution d’un programme, le PC (Program Counter) est toujours initialisé
pour contenir l’adresse de l’emplacement mémoire où se trouve stockée la première instruction du programme.
- Un décodeur qui est chargé de décoder l’instruction contenue dans le registre d’instruction (RI) et de générer
les signaux en conséquence qu’il doit acheminer au séquenceur.
4
- Un registre d’état (RE) ou registre de condition formé de plusieurs appelés flag ou fanion (drapeau) qui sont
positionnés à un certain niveau logique par l’UAL après chaque opération. Selon le microprocesseur, on
distingue plusieurs bits du registre d’état dont entre autres :
o Le bit de retenue ou Carry (C) : c’est un bit qui est positionné à un lorsqu’une retenue est générée après
une opération arithmétique entre les bits de plus fort poids de deux opérandes.
o Le bit indicateur de zéro (Z) : c’est un bit qui est positionné à un lorsque tous les bits de l’accumulateur
ou d’un registre particulier sont à zéro après une opération.
o Le bit de signe (S) : c’est un bit qui est positionné à un lorsque le MSB de l’accumulateur est un.
o Le bit de dépassement ou Overflow (O) : c’est un bit qui est positionné à un lorsque des opérations
arithmétiques dans une représentation binaire donnée indique un résultat erroné.
o Le bit de demi-retenue ou Half Carry (H) ou (DC) : c’est un bit qui est positionné à un lorsque le quartet
inférieur génère une retenue vers le quartet supérieur dans un calcul sur des octets.

b- L’unité d’exécution ou UAL

L’UAL est chargé d’effectuer les opérations arithmétiques (addition, soustraction, multiplication, division …) et
logiques (Et, Ou, Non, …) ; mais aussi des opérations de test sur les données.

Les données traitées par l’UAL proviennent soit de la mémoire, soit d’une unité d’entrée/sortie, soit d’un registre.
Le résultat des traitements est transféré soit vers la mémoire, soit vers une unité d’entrée/sortie ou dans un
registre. Les entrées de l’UAL sont connectées aux bus internes par l’intermédiaire de registres dont l’un est
particulier : l’accumulateur. L’accumulateur est un registre par lequel transite pratiquement toutes les opérations.

NB :
Outre l’accumulateur, les autres registres qui servent au stockage temporaire des données manipulées appelés
registres à usage général (ou GPR : General Purpose Register).

Certains microprocesseurs disposent d’un registre particulier appelé pointeur de pile (SP : Stack Pointer). Ce
registre est destiné à contenir l’adresse d’une autre zone mémoire appelée la pile. On dit que le pointeur de pile
pointe sur une adresse de la pile.
La pile est en effet, une partie de la mémoire réservée pour sauvegarder les adresses de certaines instructions
quand il y a un saut dans le programme. La pile est du type LIFO (Last In First Out) ; c’est à dire que la dernière
adresse empilée (sauvegardée dans la pile) est la première à être dépilée (ressortie de la pile).

III-2- Puissance d'un microprocesseur

La notion de puissance est la capacité de traiter un grand nombre d'opérations par seconde portant sur de grands
mots et en grande quantité.
Généralement la puissance se détermine 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 liée à la fréquence de fonctionnement de l'horloge de synchronisation
exprimée en MHz ou en GHz.
 Le nombre d’instructions dans le jeu d’instructions. On distingue :
- Les microprocesseurs à jeu d’instructions réduit : RISC (Reduced Instructions Set Computer). Chacune d’elles
s’exécute en un cycle instruction.
- Les microprocesseurs à jeu d’instructions complexes (importants) : CISC (Complex Instructions Set
Computer). Chacune d’elles s’exécute en plusieurs cycles instructions.

5
III-3- Fonctionnement d’un microprocesseur

a- Charges incombant au microprocesseur

Dans un système à microprocesseur, le microprocesseur a à sa charge des fonctions suivantes :


 Fournir les signaux de synchronisation et de commande à tous les éléments du système ;
 Prendre en charge les instructions et les données dans la mémoire ;
 Transférer des données entre la mémoire et les dispositifs d’entrées/sorties, et vice versa ;
 Décoder des instructions ;
 Effectuer les opérations arithmétiques et logiques commandées par les instructions ;
 Réagir aux signaux de commande fournis par les entrées/sorties (comme par exemple le signal RESET et les
INTERRUPTIONS).

b- Structure d’une instruction

Un microprocesseur exécute un programme qui est en effet une suite d’instructions stockées dans une mémoire.
Une instruction peut être codée sur un ou plusieurs octets et a le format général suivant :

Code opératoire

Code opératoire Opérandes

Une instruction est donc formée d’un code opératoire (l’action ou opération à effectuer) et d’opérandes (données sur
lesquelles porte l’action à effectuer)

c- Déroulement d'une instruction

Le déroulement d'une instruction se fait en trois phases : une phase de Recherche (Fetch), une phase de Décodage
(Decode) et une phase d'Exécution (Execute).

 Phase de recherche

Pendant la phase de recherche ou cycle de recherche, l’instruction est chargée de la mémoire vers le registre
d’instruction (RI).
En effet, pour que cela se déroule, le contenu du compteur ordinal (Program Counter : PC) est placé sur le bus
d’adresse et une case mémoire est sélectionnée. La mémoire reçoit un ordre de lecture, les données sont transférées
à l’intérieur du microprocesseur vers le registre instruction et le cycle de recherche est terminé.

 Phase de décodage

La deuxième phase est la phase de décodage ou cycle de décodage. Au cours de ce cycle, le contenu du registre
d’instruction (RI) est analysé par le décodeur pour déterminer la nature de l’opération ainsi que le nombre et le type
des opérandes : le code de l’instruction est alors identifié et le microprocesseur sait ce qu’il faut faire.

6
Il faut noter que pendant que l’instruction est décodée, le pointeur d’instruction ou compteur ordinal (PC) est
incrémenté de façon à pointer vers l’instruction suivante (c’est-à-dire indiquer l’adresse de l’instruction suivante), puis
le processus de lecture et de décodage des instructions recommence.

 Phase d'exécution

Au cours de ce cycle :
 Les informations décodées sont communiquées au séquenceur qui charge les opérandes dans les registres
appropriés et envoi à l’ALU les signaux de commandes lui indiquant l’opération à effectuer.
 L’ALU exécute l’opération et positionne les indicateurs du registre d’état.

1
2

3
4 5

6 7

9
8

Illustration du déroulement d’une instruction

d- Temps d’exécution d’une instruction

Une période élémentaire d’horloge est appelée microcycle. L’ensemble des microcycles qui concourent à l’exécution
d’une instruction est appelé cycle d’instruction (ou cycle instruction).
Le temps d'exécution d'une instruction dépend du type de l'opération à exécuter. En effet, un cycle instruction peut
s'étendre sur plusieurs microcycles (périodes d'horloge).

On indique par cycle CPU le temps d'exécution de l'instruction la plus courte.


Chaque instruction est caractérisée par le nombre de périodes d’horloge (ou microcycles) qu’elle utilise (ces données
fournies par le fabricant du microprocesseur).

L’horloge délivre un signal d’une fréquence donnée qui arrive directement au séquenceur et c’est ce dernier qui permet
d’enchaîner les différentes étapes de l’exécution d’une instruction.
Cette horloge est constituée par un oscillateur à quartz dont les circuits peuvent être internes ou externes au
microprocesseur.

Cycle instruction en 3 microcycles Cycle instruction en 9 microcycles

Exemple : Soit une horloge de fréquence f = 10 MHz ; ce qui correspond à une période T = 1/f = 0,1 µs.
Si l’instruction s’exécute en 9 microcycles, la durée d’exécution de l’instruction est : 9 × 0,1 = 0, 9 µs.

Вам также может понравиться