Vous êtes sur la page 1sur 15

CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

CHAPITRE IV : LES ARCHITECTURES DE L’UNITE CENTRALE

IV-1 INTRODUCTION :

Le CPU ( central process unit ) est l’élément centrale d’un ordinateur , c’est lui qui gère tous les autres modules
( mémoires , interfaces d’E/S , compteur programmable .... ) .L’unité centrale est essentiellement constituée de
trois modules qui sont :

1) L’unité d’exécution construite autour d’une UAL et d’un ensemble de registre assure le traitement
des instructions .
2) L’unité de synchronisation et de contrôle assure la synchronisation des cycles du processeur , ainsi
que la réalisation des fonctions de contrôle nécessaires a l’exécution des instructions .
3) L’unité d’interface BUS fait le lien entre les bus externes (adresse, données et contrôle ) et les bus
internes

Unité de synchronisation et de contrôle

Bus de contrôle
Unité d’exécution Unité
interface Bus d’adresse
UAL Pile
BUS
de
registres Bus de données

Figure IV-1 Schéma bloc de l’unité centrale

IV-2 LES DIFFERENTES ORGANISATION DU CPU :

On distingue trois types d’architecture de l’unité centrale , ces architectures font référence a la conception même
de l’unité d’exécution du CPU :
1) L’architecture a registre unique ( accumulateur )
2) L’architecture a registres généraux
3) L’architecture a pile

IV-2-1 L’architecture a registre unique :

Auteur : Abdelhakim Benakki 42


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

Ce type d’architecture cherche a réduire le nombre de registre internes, ceci simplifie la mise en œuvre de
l’unité centrale ,par contre la programmation se trouve alourdie .Dans cette organisation toutes les opérations
arithmétiques et logiques sont réalisées par le module UAL autour du registre unique AC (l’accumulateur), celui
ci joue un rôle central. Ce type de CPU est décrit par le figure IV-2 .

Bus de données

E AC MDR

M
RI A
UAL R
Bus d’adresses
Unité de
Contrôle PC

Figure IV-2 Organisation d’un CPU a registre unique

La plupart des instructions de ce type de CPU auront un format a une adresse. Si l’on considère l’instruction Commenté [h1]: Document Personnel
« ADD m » par exemple , celle ci réalise l’opération addition entre 02 opérandes .L’une d’elle se trouve déjà
Commenté [h2R1]:
dans l’accumulateur AC et l’autre en mémoire a l’adresse m si l’instruction est en mode d’adressage direct .

MA COP ADRESSE

ADD m : AC AC + M(m) T0 : MAR m


T1 : MDR M(m)
T2 : AC AC + MDR
T3 : Fin du cycle d’exécution

Cette instruction nécessite une séquence 04 micro opérations pour se réaliser , deux d’entre elles pour lire
l’opérande en mémoire , la troisième pour faire l’addition et la quatrième pour aller au cycle de lecture de la
prochaine instruction .

E OPER1 ADD m Mémoire

M
A OPER2
RI R
UAL

Unité de PC
Contrôle

Figure IV-3 Contenu des différents registres du CPU a la fin du cycle de lecture
Maintenant on va décrire les différentes étapes du cycle d’exécution de l’instruction ADD m :

Auteur : Abdelhakim Benakki 43


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

1) Instant T0 : Le contenu adresse du registre MDR ( c.a.d l’adresse de l’opérande m ) est acheminé
vers le registre d’adresse mémoire MAR ,suivi d’un ordre de lecture R/W’=1 venant de l’unité de
contrôle .
2) Instant T1 : La mémoire répond a la demande de l’unité de contrôle du CPU en plaçant le contenu
de la case mémoire d’adresse m dans le BUS de données , l’unité de contrôle se chargera alors
d’acheminer le contenu du BUS de données dans le registre données mémoire MDR .
3) Instant T2 : L’operande1 étant dans AC ,l’operande2 dans le MDR ,l’unité de contrôle donne alors
l’ordre a l’UAL de réaliser l’opération addition ,le résultat sera ensuite charger dans le registre
accumulateur AC.
4) Instant T3 : L’unité de contrôle agit sur les bascules de cycles pour ramener le CPU sur le cycle de
lecture de la prochaine instruction du programme en cours d’exécution .

ADD m Mémoire OPER2 Mémoire

m M
OPER2 OPER2
A
Unité de R
Contrôle
ordre de lecture R/W’

Exécution de l’instruction ADD m instant T0 Exécution de l’instruction ADD m instant T1

Registre AC Registre MDR


OPER1 OPER2
RI

Sélection de l’opération addition Unité de


UAL
Contrôle

Exécution de l’instruction ADD m instant T2

Figure IV-4 Les différentes étapes du cycle d’exécution de l’instruction ADD m

Cette architecture sera très détaillé dans le chapitre V qui traite de l’étude d’un CPU a registre unique .

IV-2-2 L’architecture a registres généraux :

C’est une architecture très utilisé dans la plupart des systèmes a microprocesseur . Elle utilise une batterie de
registres internes permettant une grande souplesse dans la programmation , par le fait même que toutes les variables
utilisées dans les programmes ( Compteur , pointeur , ... ) seront établies dans les registres internes.
Donc leur mise a jour se fera directement sur les registres sans avoir besoin d’un accès mémoire .

La figure IV-5 donne ce type d’organisation avec 07 registres internes .Les sorties des 07 registres avec celle du
registre MDR sont acheminées vers un ensemble de n multiplexeurs 1 parmi 8 ( n étant le nombre de lignes des

Auteur : Abdelhakim Benakki 44


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

registres ) pour former le 1 er Bus source A qui alimente l’entrée A de l’UAL . Un second Bus B est réalisé de la
même manière et alimente l’entrée B de l’UAL .

Les sorties de l’UAL alimentent un circuit a décalage ( a gauche ou a droite) avec une possibilité de maintient des
sorties de l’UAL .

Les sorties du circuit a décalage sont alors acheminés vers les entrées des 07 registres et celles du registre MDR, un
décodeur 3*8 assure le chargement de l’un de ces 08 registres ( les 07 registres internes + le registre MDR ), tout
cet ensemble forme le Bus destination D .

Bus de données externe ( Vers la mémoire )


Load Registre MDR
Load
Registre R1

Load
Registre R2

Registre R3

Registre R7

Sélection du registre 7 3 2 1 0 7 3 2 1 0
source du BUS A Multiplexeur 1 * 8 Multiplexeur 1 * 8
BUS A BUS B

y0 y1 y2 y3 y7
Sélection du
Décodeur destination
3*8 U A L Sélection des
registre destination fonctions UAL

H1
Circuit a décalage H0
BUS D

Figure IV-5 Architecture d’une unité centrale a registres généraux

Si par exemple on aimerait réaliser l’opération suivante : R7 R5 + R3 l’unité de contrôle devra valider la
séquence de micro opérations suivante :
1) La sélection du multiplexeur BUS A doit placer le contenu du registre R5 dans le BUS A
BUS A R5
2) La sélection du multiplexeur BUS B doit placer le contenu du registre R3 dans le BUS B
BUS B R3
3) L’ UAL doit réaliser l’opération addition ( A+B )
Sortie UAL R5 + R3

4) Le circuit a décalage doit réaliser la fonction de transfert


Sortie decaleur R5 + R3

Auteur : Abdelhakim Benakki 45


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

5) Le décodeur destination doit valider le chargement du registre R7


R7 BUS D = Sortie du decaleur = R5 + R3

Maintenant on va faire l’étude et la conception des diffèrent modules de ce type d’organisation :

1) Le BUS A :

Voir Chapitre III section III-2-3

2) L’UNITE ARITHMETIQUE ET LOGIQUE :

a) L’unité arithmétique :

Ce circuit peut se réaliser par un simple additionneur complet en agissant sur les entrées de l’additionneur
pour obtenir les opérations suivantes : Addition ,soustraction ,incrémentation, decrémentation et transfert
selon la table de vérité ci dessous :

Sélections entrées Sortie Description


S1 S0 E1 E2 Ci FAi= E1+E2+Ci
0 0 Ai 0 0 Ai Transfert de l’entrée Ai
0 0 Ai 0 1 Ai + 1 Incrémentation de Ai
0 1 Ai Bi 0 Ai + Bi Addition Ai + Bi
0 1 Ai Bi 1 Ai + Bi + 1 Addition avec retenue
1 0 Ai Bi’ 0 Ai + Bi’ Addition de Ai avec Bi’
1 0 Ai Bi’ 1 Ai + Bi’ + 1 Soustraction Ai - Bi
1 1 Ai 1 0 Ai - 1 decrémentation
1 1 Ai 1 1 Ai Transfert de l’entrée Ai

Pour obtenir ce circuit arithmétiques réalisant 08 opérations ,on va procéder a l’échelle de 02 opérandes a 1 bit

Ai Bi Calcul de l’entrée E2 en fonction de S1, S0 et Bi


S1
Logique S0
S1 \ S0 B 00 01 11 10
0 0 0 1 0
+ E1 E2
Ci
Additionneur
Ci 1 1 0 1 1
Complet sur 1 bit

E2 = S1B’ + S0B
FAi = E1 + E2 + Ci

Figure IV-6 Schéma bloc d’un additionneur complet sur 02 opérandes a un bit

Le circuit arithmetique a l’échelle de 01 bit devient donc comme suit :

Auteur : Abdelhakim Benakki 46


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

Figure IV-7 Unité arithmétique pour 02 opérandes à 01 bit

L’unité arithmétique n bits sera donc constituée de n étages identiques à la figure IV-7

An-1 Bn-1 Ai Bi A0 B0
S1
S0

Ci+
+
C0
Etage n-1 Etage i Etage 0

Cn-1 Ci C0

Cn-1+ FAn-1 FAi FA0

Figure IV-8 Unité arithmétique pour 02 opérandes a n bits

b) L’unité logique :

On se propose de réaliser une unité logique avec 04 opérations : AND, OR, XOR et NON
Le circuit sera conçu sur 02 opérandes a 01 bit a travers les 04 portes logiques correspondantes ,
La sortie FL du circuit logique sera égale a l’une des 04 fonctions logiques selon l’état des lignes de
sélections S1, S0 .

Sélection Sortie Fonction


S1 S0 FL
0 0 FL=AB AND
0 1 FL=AB OR
1 0 FL=AB XOR
1 1 FL= A’ NON

Figure IV-9 Unité logique pour 02 opérandes a 01 bit

L’unité logique a n bits sera donc constituée de n étages ou blocs identiques a la figure IV-9 .

Auteur : Abdelhakim Benakki 47


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

c) L’unité arithmétique et logique ( UAL) :

A partir des études faites en a) et b) ,on se propose de réaliser une UAL avec 12 fonctions , 08 fonctions
arithmétiques et 04 fonctions logiques selon la table ci dessous :

Sélections des fonctions Sortie Fonction


S2 S1 S0 C0 F
0 0 0 0 F=A Transfert de l’entrée 1
0 0 0 1 F = A + 1 Incrémentation de l’entrée 1
0 0 1 0 F=A+B Addition E1 avec E2
0 0 1 1 F=A+B+1 Addition avec retenue
0 1 0 0 F = A + B’ Addition de E1 avec E2’
0 1 0 1 F=A-B Soustraction
0 1 1 0 F=A-1 Decrementation
0 1 1 1 F=A Transfert
1 0 0 x F = AB AND logique
1 0 1 x F = AB OR logique
1 1 0 x F = AB XOR logique
1 1 1 x F = A’ NON logique

L’unité arithmétique et logique sur 02 opérandes a 01 bits aura l’allure suivante :

Ci Ci+
Ai Etage i
Bi Unité arithmétique FAi
MUX Fi
01
Etage i FLi Parmi
S0 Unité logique 02
S1
S2

Figure IV-10 Unité arithmétique et logique pour 02 opérandes a 01 bit

3) LE CIRCUIT DE DECALAGE :

Le circuit de décalage est du type combinatoire ,il peut réaliser 03 fonctions différentes selon la table ci dessous .

Entrées de
contrôles 00 01 10 11
H1 H0
Fonctions
du circuit Transfert Décalage a droite Décalage a gauche Rien

Auteur : Abdelhakim Benakki 48


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

Figure IV-11 Logigramme du circuit a décalage

A présent si l’on désire réaliser l’opération suivante : R7 R5 + R3 ,on doit agir sur les différents
multiplexeurs, décodeurs et autres circuits comme suit .

BUS A BUS B UAL Decaleur Décodeur registre destination


MUX 1*8 MUX 1*8 S2 S1 S0 C0 H1 H0 DCD 3*8
101 011 0 0 1 0 0 0 111

IV-2-3 L’architecture a pile :

Une pile est une zone de la mémoire centrale , généralement réservée pour la sauvegarde du contexte d’un CPU
c.a.d ces registres internes ainsi que d’autres paramètres lors des appels de sous programmes. Quelque soit
l’organisation d’un CPU ,celle ci doit nécessairement inclure une pile. Cependant ,selon l’usage qui est fait a
cette pile ,on distingue les CPU a pile des autres CPU .

Les CPU vu en IV-2-1 et IV-2-2 utilisent la pile essentiellement pour un besoin de sauvegarde du contexte.
Tandis qu’un CPU a organisation par pile, va utiliser celle ci pour exécuter ces instructions. La pile a besoin
d’un pointeur de pile SP ( Stack Pointer) pour adresser l’élément le plus haut de la pile TOS (Top Of Stack).

Par exemple si l’on considère une pile de 64 mots ,a l’initialisation le pointeur SP est chargé par l’adresse la
plus haute 63 ,les bascules FU et EM permettent de se renseigner sur l’état de la pile ( pleine ou vide ) .Deux
opérations de pile sont possibles , l’opération d’empilement PUSH et celle de dépilement POP .

Bas de la pile 0

FU

EM

5 0
Haut de la pile 63 SP

Auteur : Abdelhakim Benakki 49


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

Opération PUSH Opération POP


SP SP - 1 MDR M(SP)
M(SP) MDR SP SP + 1
Si (SP=63 ) alors FU 1 Si (SP=63) alors EM 1
EM 0 FU 0

Dans ce type d’organisation la pile évolue par


décroissement des adresses du pointeur SP .
On peut aussi réaliser une pile par accroissement SP
des adresses du SP ,dans ce cas l’opération SP C
PUSH va incrémenter le pointeur SP. SP B B
A A A

PUSH A PUSH B PUSH C

On distingue 02 types de pile : a) Les piles LIFO (Last In First Out)


b) Les piles FIFO (First In First Out)

Dans notre cas c’est le 1er type de pile qui est utilisé ,soit l’expression arithmétique suivante :
AxB + CxD

Cette expression a été écrite en notation infixe ( l’opérateur est entre les 02 termes), si l’on prend A x B
on peut l’exprimer dans 03 maniérés différentes :
1) En notation infixe : A x B
2) En notation préfixe : x AB
3) En notation postfix AB x

La notation postfixe est très concordante avec un CPU à organisation par pile, cette méthode consiste à empiler
tout d’abord les termes (ou les valeurs) concernés par l’opération dans la pile, ensuite le cpu réalise l’opération
sur les 02 termes qui sont dans le haut de la pile, le résultat est stocké dans la pile .

Soit a réaliser l’opération suivante : ( 3 x 11 ) + ( 5 x 4 )

Pour réaliser cette opération le cpu empile les nombres 3 et 11 dans la pile ,ensuite il fait la multiplication des
02 deniers mots de la pile, le résultat (33) est stocké dans l’emplacement de départ de la pile .Une deuxième
opération d’empilement des valeurs 5 et 4 est faite, suivie d’une multiplication des 02 derniers éléments de la
pile ( 5 et 4), le résultat de cette dernière opération (20) est ensuite stocké dans la case mémoire précédant le 1er
résultat. Une opération d’addition des 02 derniers éléments ( 20 et 33) de la pile est réalisée ,le résultat final (53)
est stocké dans la pile .

4
11 5 5 20
SP 3 3 33 33 33 33 53

L’organisation de l’unité centrale uniquement par pile est très peu utilisée du fait que chaque opération nécessite
un accès à la mémoire centrale qui est très coûteux point de vue temps d’exécution .

Auteur : Abdelhakim Benakki 50


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

Généralement les processeurs combinent les 03 structures, si on prend le cas du Z80 ou du 8080 ,les instructions
arithmétiques et logiques utilisent la structure à registre unique ,les instructions de transfert et d’échanges
utilisent la structure à registres généraux et certaines instructions ( appel de sous programme , reset logiciel ..)
utilisent la structure à pile .

IV-3 FORMAT DES INSTRUCTIONS :

Le format d’une instruction est un groupement de bits divisé en plusieurs zones ;chaque partie a une
signification bien précise .Généralement ce format est repartie en 03 zones :

a) Le mode d’adressage (MA) : spécifie l’adressage (direct, indirect, indexé , relatif....) de l’opérande en
mémoire

b) Le code opération (COP) : spécifie le code binaire de l’opération en cours d’exécution

c) L’adresse de l’opérande : spécifie l’adresse binaire ou hexadécimal de l’opérande

MA COP ADRESSE

Ce format n’est pas universelle ,il peut varié d’un processeur à l’autre .Certains processeur dispose d’une zone
supplémentaire qui désigne les registres internes concernés par l’instruction .D’autres processeurs disposent de
plusieurs zones adresses .L’étude qui va suivre résume les différents formats qui peuvent exister .

IV-3-1 Instruction avec 03 champ adresses :

Chaque champ adresse peut spécifier un registre interne ou une case mémoire. L’avantage de ce type de format
est la réduction de la taille des programmes ,par contre la largeur du format de l’instruction de trouve alourdie.

COP ADR1 ADR2 ADR3

Par exemple le programme ci dessous permet de faire l’opération suivante :

X = [ M(A) + M(B) ] x [ M(C)+ M(D) ] (1)

ADD R1 A B R1 est chargé par M(A) + M(B)


ADD R2 C D R2 est chargé par M(C ) + M(D)
MUL X R1 R2 La case mémoire M(X) est chargé par R1 * R2
HALT Arrêt du processeur
X RESULTAT Case mémoire pour contenir le résultat
A VALEUR 1 Case mémoire de la 1ere opérande
B VALEUR 2 Case mémoire de la 2ere opérande
C VALEUR 3 Case mémoire de la 3ere opérande
D VALEUR 4 Case mémoire de la 4ere opérande

IV-3-2 Instruction avec 02 champ adresses :

Auteur : Abdelhakim Benakki 51


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

C’est un format très courant ,chaque champ adresse peut spécifier un registre interne ou une case mémoire .Un
exemple de machine utilisant ce format le PDP11 de DEC (Digital Equipment Corporation) .Le programme qui
réalise l’opération de l’équation logique (1) est plus long ( 03 instruction de plus ) que la section IV-3-1
cependant la largeur de l’instruction est plus courte .

COP ADR1 ADR2


.

MOV R1 A Chargement du registre R1 avec le contenu de la case mémoire d’adresse A


ADD R1 B Addition du registre R1 avec le contenu de la case mémoire d’adresse B
MOV R2 C Chargement du registre R2 avec le contenu de la case mémoire d’adresse C
ADD R2 D Addition du registre R2 avec le contenu de la case mémoire d’adresse D
MUL R1 R2 Multiplication des contenu des registres R1 et R2 ,résultat dans R1
MOV X R1 Chargement du résultat précèdent dans la case mémoire d’adresse X
HALT Arrêt du processeur
X RESULTAT Case mémoire pour contenir le résultat
A VALEUR 1 Case mémoire de la 1ere opérande
B VALEUR 2 Case mémoire de la 2ere opérande
C VALEUR 3 Case mémoire de la 3ere opérande
D VALEUR 4 Case mémoire de la 4ere opérande

IV-3-3 Instruction avec 01 champ adresses :

Ce format concerne les unité centrale avec une architecture a registre unique ,la largeur de l’instruction est
encore plus réduite cependant le programme qui réalise l’opération de l’équation logique (1) est légèrement plus
long ( 01 instruction de plus ) que la section IV-3-2 .

COP ADR1

LOAD A AC est chargé par le contenu de la case mémoire d’adresse A


ADD B AC est chargé par M(A) + M(B)
STORE T Sauvegarde du résultat précédant (AC) dans la case mémoire M(T)
LOAD C AC est chargé par le contenu de la case mémoire d’adresse C
ADD D AC est chargé par M(C) + M(D)
MUL T AC est chargé par AC x M(T)
STORE X Sauvegarde du contenu de AC dans la case mémoire d’adresse X
HALT Arrêt du processeur
X RESULTAT Case mémoire pour contenir le résultat
A VALEUR 1 Case mémoire de la 1ere opérande
B VALEUR 2 Case mémoire de la 2ere opérande
C VALEUR 3 Case mémoire de la 3ere opérande
D VALEUR 4 Case mémoire de la 4ere opérande
T x x x x Case mémoire temporaire

IV-3-4 Instruction avec 0 champ adresses :

Ce format concerne les unités centrales a organisation par pile .

Auteur : Abdelhakim Benakki 52


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

PUSH A Sauvegarde de M(A) en haut de la pile


PUSH B Sauvegarde de M(B) en haut de la pile
ADD Sauvegarde de M(A) + M(B) en haut de la pile
PUSH C Sauvegarde de M(C) en haut de la pile
PUSH D Sauvegarde de M(D) en haut de la pile
ADD Sauvegarde de M(C) + M(D) en haut de la pile
MUL Sauvegarde de [ M(C)+M(D) ] * [M(A) + M(B)] en haut de la pile
POP X La position d’adresse X c.a.d M(X) reçoit le contenu du haut de la pile
X RESULTAT Case mémoire pour contenir le résultat
A VALEUR 1 Case mémoire de la 1ere opérande
B VALEUR 2 Case mémoire de la 2ere opérande
C VALEUR 3 Case mémoire de la 3ere opérande
D VALEUR 4 Case mémoire de la 4ere opérande

On constate que dans ce format a part les instructions d’empilement ou de depilement qui nécessitent une
opérande spécifiée par une adresse effective ( A , B , C ... ) ou par le contenu d’un registre ,les autres
instructions ADD , MUL , ... se déroulent entres les éléments du haut de la pile et donc ne nécessitent aucune
adresse .

IV-4 LES MODES D’ADRESSAGE :

Le mode d’adressage représente la méthode utilisée pour accéder a l’opérande stockée en mémoire .La diversité
de ces modes d’adressages permet une grande flexibilité au niveau de la programmation .En résumé, on peut
affirmer que les modes d’adressage permettent :

1) Au programmeur d’accéder aux opérandes de différentes manières : pointeur, registre, index ...
2) De réduire le nombre de bits du champ adresse de l’instruction

Nous allons maintenant passer en revue les différents modes d’adressage .

IV-4-1 Le mode d’adressage implicite :

Ce mode concerne généralement les CPU a registre unique et même des fois les CPU a registres généraux .
Pour toutes les instructions qui touchent a l’accumulateur A ou a certaines bascules d’état il n’y a pas lieu de
préciser l’opérande. Le code opération contient toute l’information nécessaire pour exécuter l’instruction ,
parmi ces instructions on peut citer les suivantes pour le microprocesseur Z80 et MC6809 :

Format de l’instruction COP

Z80 MC6809
CPL : complément a 1 de A CLRA : Mise a zéro de A
NEG : complément a 2 de A ASRA : décalage arithmétique droit de A
SCF : mise a 1 de bascule de retenue CY SWI : Interruption logicielle

IV-4-2 Le mode d’adressage immédiat :

Dans ce mode ,l’instruction contient l’opérande. L’adressage immédiat est très utile pour initialiser des registres
pointeurs ,d’index et des registres compteurs ...

Auteur : Abdelhakim Benakki 53


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

COP 21
Registre HL COP
Opérande 00 Opérande
05

Exemple pour le Z80 : LD HL,0500 Initialise le registre pointeur HL avec la valeur 0500 ,dans ce cas
l’instruction prend 03 mots de 08 bits , 01 pour le code opération et 02 pour l’opérande .Le code opération
spécifie l’instruction a exécuter ( LD ) ainsi que le registre destinataire HL dans cet exemple.

IV-4-3 Le mode d’adressage registre :

Dans ce mode, l’opérande est dans un des registres internes de l’unité centrale. Le registre en question sera
spécifié par l’instruction .
Opérande = ( Ri )

Ri
COP Ri OPERANDE 1100 1011
0000 0000
Cy 7 0
Registre B

Exemple pour le Z80 : RLC B rotation circulaire gauche du registre B ,le 1ieme mot de l’instruction CB
spécifie l’opération rotation circulaire gauche ,les 03 bits de poids faible du 2 ieme mot précise le registre
concerné B, avec ces 03 bits on peut coder 08 registres différents ( B,C,D,E,F,H,L,A )

IV-4-4 Le mode d’adressage indirect registre :

Dans ce mode, l’opérande est dans une case mémoire pointée par un registre spécifié par l’instruction .

Ri
COP Ri ADRESSE

Opérande = M ( Ri )
Opérande

Exemple pour le Z80 : LD A , ( HL ) Charger le registre A avec la case mémoire dont l’adresse est dans HL

IV-4-5 Le mode d’adressage direct :

Dans ce mode, L’opérande est dans une case mémoire pointée par une adresse se trouvant dans l’instruction .

Auteur : Abdelhakim Benakki 54


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

COP
Adresse

Opérande Opérande = M ( Adresse )

Exemple pour le Z80 : LD B , ( 02FF ) Charger le registre B avec la case mémoire d’adresse 02FF

B M ( 02FF )

IV-4-6 Le mode d’adressage indirect :

Dans ce mode, l’adresse de l’instruction ne pointe pas directement l’opérande comme dans le cas précédant ,
mais elle pointe une case mémoire qui contient l’adresse de l’opérande .

Opérande = M ( M (Adresse 1 ) ) = M ( Adresse 2 )

COP
Adresse 1

Adresse 2

Opérande

IV-4-7 Le mode d’adressage indexé :

Dans ce mode, le registre d’indirection est appelé RX (registre d’index) , le contenu de ce registre ajouté au
déplacement ( codé sur 04 ou 08 bits) se trouvant dans l’instruction nous donne l’adresse effective c.a.d
l’adresse de l’opérande. Quand le déplacement est nul ,ce mode est équivalent au mode d’adressage indirect
registre .

RX
COP
Déplacement
Opérande = M ( RX + Déplacement )
+

Opérande

IV-4-8 Le mode d’adressage relatif :

Auteur : Abdelhakim Benakki 55


CHAPITRE IV LES ARCHITECTURES DE L’UNITE CENTRALE

Ce mode est généralement utilisé par les instructions de saut conditionnelles et systématiques, l’adresse
effective du saut est calculé en additionnant la valeur courante du PC ( adresse de l’instruction qui suit le saut)
au déplacement se trouvant dans l’instruction ( codé sur sur 08 ou 16 bits ) .

Dans le cas des instructions de saut systématiques ,le branchement a toujours lieu .Cependant pour les
instructions de saut conditionnelles le branchement vers l’adresse de saut n’aura lieu que si la condition du
branchement est satisfaite , sinon le processeur continue la séquencement normal du programme .

Le mode d’adréssage relatif court ( deplacement codé sur 08 bits ) permet des saut de -128 a +127 , quand au
mode relatif long (déplacement codé sur 16 bits ) il permet des saut de -32568 a +32567 .

Les conditions de saut se font généralement sur les bits du registre d’état qui sont ; le zéro ( Z ), la retenue ( C ) ,
le signe ( S ) , le dépassement ( V ) et la parité ( P ) ainsi que sur la combinaison de ces bit pour former
d’autres conditions .

MA COP DEPLACEMENT PC = n+2 Adresse Code

+ LOOP LDA m

Saut vers LOOP si Z = 1


CMP 20
n JRZ LOOP
Saut vers n+2 si Z = 0 n+2 Instruction suivante

1) Instruction de saut systématique : PC adresse de saut = PCcourant + déplacement

2) Instruction de saut conditionnelle :

 Si condition vérifiée alors PC adresse de saut = PC courant + déplacement


 Sinon PC adresse de l’instruction suivante

Dans l’exemple illustré ci dessus :

L’instruction en mode d’adressage relatif JRZ LOOP ,effectue un saut a l’instruction d’adresse LOOP si la
condition Z=1 est vérifiée ( c.a.d que l’opération précédante a donné un résultat nul ) dans le cas contraire , elle
poursuit le séquencement normal du programme par l’exécution de l’instruction suivante en n+2 . On constate
dans notre exemple que le saut se fait en arrière ,dans ce cas le déplacement sera négatif .

Si Z = 1 alors PC = (n+2 ) + Déplacement = LOOP


Sinon PC = n+2

Les instructions de saut en mode d’adressage relatif permettent de réaliser des boucles de programmes afin
d’établir des répétitions de séquence d’instructions pour des besoins spécifiques .

Auteur : Abdelhakim Benakki 56

Vous aimerez peut-être aussi