Vous êtes sur la page 1sur 17

A-PDF Watermark

CHAPITRE IVDEMO: Purchase


ETUDEfrom
ETwww.A-PDF.com to remove
CONCEPTION D’UN the watermark
PROCESSEUR DE BASE

CHAPITRE V : ETUDE ET CONCEPTION D’UN


PROCESSEUR DE BASE

V-1 INTRODUCTION :

Un calculateur numérique est un système digitale à vocation générale ,il peut être programmé à exécuter une
séquence d’opérations ( programme ) pour répondre a un besoin donné .Chaque opération ou instruction du
programme est un code binaire qui spécifie une séquence de micro opérations à exécuter .

e d
Les instructions et les données sont stockées en mémoire .L’unité de contrôle du processeur lit chaque instruction
du programme à partir de la mémoire .Elle interprète le code binaire de l’instruction pour générer les fonctions de
contrôle nécessaires à l’exécution de la séquence de micro opérations en relation avec cette instruction .

w
Compteur programme (PC) Mémoire centrale
n Adresse Code

e
MAR

i
n-1 CMA
n Bus d’adresse n LDA m
n+1 BIN Loop

e v MDR
LDA m
Bus de données

R
Registre d’instruction (RI) LDA

Unité de
Fonctions de contrôles assurant
Contrôle
l’exécution de l’instruction LDA m

Figure V-1 Cheminement d’une instruction du processeur de base

La capacité d’exécuter les instructions stockées en mémoire est la propriété la plus importante du processeur de
base. Le code de l’instruction est un groupe de bits qui indique au processeur l’opération à exécuter .Ce code est
divisé en deux parties pour le processeur de base :

 Le code opération ( COP ) : Signifie l’opération à exécuter ( ADD , LDA , STA.... )


 L’adresse de l’opérande (ADR ) : Indique l’adresse de l’opérande concernée par
l’opération en cours de traitement .

Pour la conception du processeur de base ,on considère que celui ci dispose de 02 modes d’adressages ; le mode
direct et indirect spécifié par le bit I du format de l’instruction .Les instructions du processeur de base auront le
format suivant :

57
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

1 2 4 5 16
I COP ADRESSE

Les types d’instructions que le processeur de base doit avoir pour répondre a n’importe quelle tache de traitement
de données sont :

1) Les instructions de transfert d’informations entre le processeur et la mémoire : LDA , STA


2) Les instructions logiques : AND , CLA , CMA , CLE , CME
3) Les instructions arithmétiques : ADD , INC
4) les instructions de décalage : ROD , ROG
5) Les instructions de branchement : BIN , BSA
6) Les instructions de test et branchement : SPA , SNA , SZA , SZE , ISZ
7) Une instruction d’arrêt du processeur : HLT
8) Les instructions d’entrée /sortie : INP ,OUT , SKI , SKO , ION , IOF

d
Ces instructions on été choisies en considérant que le processeur dispose d’une architecture avec un registre

e
temporaire de données ,c’est le registre accumulateur AC .

Ceci dit parmi les 25 instructions citées ci dessous ,certaines seront classées dans le groupe IRM ( Instruction a
Référence Mémoire ) et auront besoin d’une opérande stockée en mémoire ,alors que d’autres seront classées dans

w
le groupe IRR ( Instruction a Référence registre ) pour se réaliser sur le registre AC ou la bascule d’extension E
( retenue ) et enfin les instructions d’entrée /sortie IES .

e
v iAND
ADD
IRM

m
m
CLA
CLE
IRR

INC
SPA
IES

INP
OUT

e
LDA m CMA SNA SKI
STA m CME SZA SKO
BIN m ROD SZE ION

R
BSA m ROG HLT IOF
ISZ m

Table V-1 Classification des instructions du processeur de base

m représente l’adresse de l’opérande concernée par l’instruction ,la 2ieme opérande étant le contenu de AC .
La classification de la table V-1 représente un choix ,donc ce n’est pas la seule solution .On peut par exemple ,
classer les instructions ROD et ROG ( rotation droite ou gauche de AC ) comme étant des instructions du format
IRM ,leurs mnémoniques deviennent ROD m et ROG m ( rotation droite ou gauche de la case mémoire M(m) ) .

Enfin de compte cette rotation se fait a l’intérieur du processeur par l’intermédiaire de AC ,ce qui veut dire que
l’opération de rotation d’une case mémoire peut se réaliser par l’opération rotation de AC en concordance avec les
instructions de transfert LDA et STA .En conclusion le choix qui a été fait s’avère être le plus judicieux .

Etant donné que le nombre d’instructions IRM est de 07 , la partie COP du format de l’instruction sera sur 03 bits,
un bit est réservé au mode d’adressage ,si l’instruction est codée sur 16 bits ,la partie adresse sera sur 12 bits .
La mémoire centrale en relation avec le processeur de base sera donc sur 212 = 4096 mots de 16 bits .

Si les instructions IRM utilisent les codes 000 a 110 comme COP ,le code 111 sera réservé pour les IRR et les IES ,
le bit I servira a distinguer entre les deux groupes ,la partie adresse dans ce cas est utilisée comme code opération .

Ceci dit le format des trois groupes d’instructions est comme suit :

58
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

1 2 4 5 16
Format des IRM I COP ADRESSE

Format des IRR 0 111 C O P

Format des IES 1 111 C O P

(a) Les instructions IRM utilisent les 12 derniers bits du format de l’instruction pour spécifier l’adresse de
l’opérande ,le 1er bit I indique le mode d’adressage ,et le code opération COP prend 03 bits .

(b) Les instructions IRR spécifient des opérations ou des tests directement sur AC et E . Elles sont reconnues par

d
le code des 4 premiers bits qui est fixe ( 0111 ) ,les 12 bits restants servent a différencier les instructions .

(c) Les instructions IES sont reconnues par le code fixe ( 1111 ) de leurs 4 premiers bits ,les 12 bits restants

e
indiquent le type d’opération d’entrée ou de sortie .

e w
V-2 L’ARCHITECTURE INTERNE DU PROCESSEUR :

Les instructions sont stockées a des positions mémoire successives et sont donc exécutées séquentiellement une par

i
une . L’unité de contrôle lit une instruction a une adresse donnée et l’exécute .Elle continu en lisant la prochaine
instruction de la séquence et l’exécute ,et ainsi de suite jusqu'à la fin du programme en question .

v
Ce type de séquencement dans les adresses des instructions nécessite un compteur pour calculer l’adresse de la

e
prochaine instruction après exécution de l’instruction courante ; c’est le rôle du compteur programme PC. L’unité
mémoire , elle aussi a besoin de deux registres pour communiquer avec la processeur ; un registre pour adresser
les mots mémoire (MAR) ,et un autre pour recevoir les données en sortie ou en entrée de la mémoire (MDR) .

R
La figure V-2 nous décrit l’organisation interne du processeur de base ,la bascule E est une bascule d’extension de
AC ,elle sert dans les opérations de décalage et reçoit la retenue pour l’addition et l’incrémentation et peut aussi
servir a d’autres opérations de traitement de données .

E AC MDR
Mémoire de
M
4096 mots de
A
UAL RI R
16 bits

Unité de
Contrôle PC

Figure V-2 Organisation des registres internes du processeur de base

Toutes les instructions sont en mémoire ,l’unité de contrôle ira donc chercher l’instruction pour la stocker dans un
registre appelé « Registre d’instruction » , le contenu de celui ci sera décodé par l’unité de contrôle pour générer

59
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

les fonctions de contrôles nécessaires a l’exécution de l’instruction .

Pour lire une instruction le contenu du PC est transféré au registre MAR ,un cycle de lecture mémoire est initialisé.
L’unité de mémoire recevant la commande de lecture , place le code de l’instruction pointé par le MAR dans le
MDR .L’unité de contrôle du processeur prépare le PC a la prochaine instruction en l’incrémentant de 1 .

L’instruction contenue dans le MDR est acheminée vers le registre d’instruction RI ,pour être décodée par l’unité
de contrôle .Selon que l’instruction est en mode d’adressage direct ou qu’il s’agit d’instruction IRR ou IES,le cycle
d’exécution de l’instruction considérée est initié ,sinon un cycle de calcul de l’adresse effective ( cycle indirect )
suivi du cycle d’exécution seront alors initiés .

d
V-3 LA SYNCHRONISATION ET LE CONTROLE :

e
Quand une instruction est lue de la mémoire ,le processeur est dit dans « le cycle de recherche ou de lecture de
l’instruction » . Lorsque le mot lu de la mémoire est l’adresse de l’opérande , le processeur est dans « le cycle
indirect » ;et si le mot lu représente l’opérande on est dans « le cycle d’exécution » . C’est d’ailleurs l’unité de
contrôle qui assure le synchronisme entre les différents cycles .

w
Comme le montre la table V-2 ,l’unité de contrôle utilise 02 bascules F et R pour différencier ces cycles

e
v i
Les Bascules de cycle sorties du décodeur
F R
0 0
0 1
de cycle
C0
C1
cycle du processeur

Cycle de recherche ou de lecture


Cycle Indirect

e
1 0 C2 Cycle d’exécution
1 1 C3 Cycle d’interruption

R
Table V-2 Les cycles du processeur de base

Bascules de cycle Registre d’instruction


Compteur F R I COP

DCD 3x8 Logique de contrôle


DCD 2x4 DCD 2x4
q0 - q7
I Fi
C0 - C3
t0 - t3
F4 F41
S Circuit de Reset
CK
Signal d’horloge

Figure V-3 : Schéma bloc de l’unité de contrôle

Les signaux de synchronisation de l’unité de contrôle (t0 - t3) sont fournis par un compteur binaire a 02 bits et
un décodeur 2x4 .Le code opération se trouvant dans le registre d’instruction est décodé en 08 sorties q0 - q7 .
Les bascules de contrôle de cycle F et R sont décodées en 04 sorties C0 - C3 .
60
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

Signal CK

T0

T1

T2

T3

nécessaires
d
Tous ces signaux alimentent une logique de contrôle qui fournira les différentes fonctions logiques Fi

e
a l’exécution des micro opérations .Chaque fonction de contrôle comprend une variable de synchronisation ti et
de cycle Ci , pendant le cycle d’exécution ,la fonction de contrôle inclura aussi une variable de code opération

w
qi
ainsi que la variable I .

ie
La bascule S ( Start ) sert a l’initialisation du processeur a l’allumage .Le processeur peut être arrêté dans son
fonctionnement par la fonction de contrôle F 41 correspondant a l’instruction HLT, celle ci met a zéro la bascule
S, ce qui entraîne le blocage du décodeur de synchronisation .

v
L’organigramme de contrôle des cycles du processeur de base est comme suit :

e
R 1
Exécution

10
FR

Indirect
FR = ?

01
00

Recherche

00
Lecture de l’instruction
q7 = ?
Lecture de l’adresse
1
effective q7 = ?
I =? 0
1 0 0 0
I=?
Exécution Exécution Exécution
des IES des IRR des IRM
1

FR 00 FR 10 F 1 R 1

Figure V-4 : Organigramme de contrôle des cycles


A partir de la description faite dans la section V-2 et de l’organigramme de contrôle des cycles ,on peut déduire
le cycle de lecture de l’instruction ,celui ci est reconnu par la variable C0 .Le séquencement des micro opérations
est assuré par les variables de synchronisation t0 - t3 .
61
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

Le cycle de recherche : F1 = C0 t0 : MAR PC


F2 = C0 t1 : MDR M ( MAR ) , PC PC + 1
F3 = C0 t2 : RI MDR
F4 = q7 I (C0 t3 ) : R 1
F5 = (q7+q7 I )(C0 t3 ) : F 1

De la même manière on peut détailler les micro opérations du cycle indirect à partir de l’organigramme de la
figure V-4 .

Le cycle Indirect : F6 = C1 t0 : MAR MDR( adr )


F7 = C1 t1 : MDR M ( MAR )
F8 = C1 t2 : Rien

d
F9 = C1 t3 : F 1 , R 0

e
Les micro opérations des fonctions F6 et F7 permettent de ramener l’adresse effective de l’opérande dans le
MDR alors que la fonction de contrôle F9 permet de brancher le processeur sur le cycle d’exécution de

w
l’instruction en cours de traitement .

ie
V-4 EXECUTION DES INSTRUCTIONS :

e v
V-4-1 Les instructions a référence mémoire ( IRM ) :

La tableV-3 liste les sept instructions a référence mémoire du processeur de base .

AND
ADD
R
Mnémonique Code opération bin/hexa adresse
Direct Indirect

0000 / 0h
0001 / 1h
effective

1000 / 8h
1001 / 9h
m
m
AC
E AC
description

M(m)  AC
M(m) + AC
LDA 0010 / 2h 1010 / Ah m AC M(m)
STA 0011 / 3h 1011 / Bh m M(m) AC
BIN 0100 / 4h 1100 / Ch m PC m Branchement inconditionnel
BSA 0101 / 5h 1101 / Dh m Branchement au sous programme d’adresse m+1
ISZ 0110 / 6h 1110 / Eh m Incrémentation de M(m) et saut d’une instruction
si M(m) = 0

Table V-3 liste des instructions a référence mémoire

m désigne l’adresse effective de l’opérande et M(m) la case mémoire contenant l’opérande .

La description symbolique de chaque instruction est donnée par la dernière colonne du tableau ,celle ci est une
macro opération qui se réalise par une séquence précise de micro opérations ,pour illustrer cela on va expliquer
le fonctionnement de quelques instructions .

62
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

AND :

L’instruction réalise un ET logique sur des pairs de bits de l’accumulateur AC et du mot mémoire spécifié par
l’adresse effective m ( M(m) ) ,le résultat de l’opération est stocké dans l’accumulateur . L’instruction est
initiée quand la variable de code opération q0 est active pendant le cycle d’exécution ( C2 = 1 ) .La séquence de
micro opérations réalisant cette instruction est comme suit :

q0 C2 t0 : MAR MDR( adr ) Transfert de l’adresse effective vers le registre MAR


q0 C2 t1 : MDR M( MAR ) Lecture de l’opérande
q0 C2 t2 : AC AC  MDR ET logique entre AC et MDR ,le résultat est mis dans AC

Les fonctions de contrôles pour cette instruction nécessitent les variables q 0 et C2 . La 1ere reconnaît le code
opération de l’instruction AND et la 2ieme le cycle d’exécution ,les variables de synchronisation t0 - t3 assure le

d
séquencement des micro opérations .

e
ADD :

Cette instruction réalise l’addition arithmétique entre le contenu de AC et du mot mémoire spécifié par l’adresse

w
effective ,le résultat est mis dans AC et la retenue dans E .

q1 C2 t0 MAR MDR( adr ) Transfert de l’adresse effective vers le registre MAR

e
:
q1 C2 t1 : MDR M( MAR ) Lecture de l’opérande

i
q1 C2 t2 : E.AC AC + MDR Addition de AC et MDR ,le résultat est mis dans E. AC

BIN m :

e v
Le processeur de base incrémente le contenu du PC durant le cycle de recherche, pour préparer la lecture de
l’instruction suivante du programme. C’est ce qui assure le séquencement des instructions du programme.

R
Cependant le programmeur dispose par l’intermédiaire de l’instruction « BIN m » de la possibilité de briser
ce séquencement et de se brancher a une position qu’il aura choisie. Ceci permet de réaliser des boucles de
programmes afin de répéter une séquence d’opérations spécifique. Cette instruction nécessite une seule micro-
opération pour se réaliser :

q4 C2 t0 : PC MDR (adr ) Transfert de l’adresse de branchement vers le PC

La fonction de contrôle inclue la variable q4 puisque le code opération de l’instruction BIN est 100 en plus des
variables C2 et t0 pour dire qu’il s’agit du cycle d’exécution instant 0 .

Cette instruction branche le processeur de base a l’adresse m = MDR(adr) ,elle est classée avec les instruction
IRM même si elle ne fait aucun accès mémoire pendant le cycle d’exécution .Cependant elle peut nécessiter une
lecture mémoire pour lire l’adresse effective en mode d’adressage indirect .

BSA m :

Cette instruction est très utile pour se brancher à une section de programme dite « sous programme » pour
réaliser une fonction donnée .

63
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

Mémoire centrale Mémoire centrale


m H 0101
Adresse Code m+1 1ere Instruction
Sous
Programme
Programme
principal
H100 BSA m
H101 Inst suivante

BIN m I

d
Figure V-5 : Procédure d’appel et de retour de sous programme

e
Une fois exécutée ,l’instruction « BSA m » stocke l’adresse de retour au programme principal c.a.d dans notre
cas H101 dans la case mémoire m et se branche a l’instruction d’adresse m+1 qui représente la 1 ere instruction
du sous programme. Le sous programme correspondant prend la main , pour s’exécuter jusqu'à la dernière

w
instruction « BIN m I ». Le retour au programme principal est assuré par l’instruction BIN m en mode indirect
c.a.d que cette instruction récupère l’adresse sauvegardée en M(m) pour la mettre dans le PC .

q5 C2 t0

ie
L’instruction BSA m est réalisée par la séquence de micro opérations suivante :

MAR MDR(adr) Transfert de l’adresse effective vers le registre MAR

v
:
MDR(adr ) PC Transfert de l’adresse de retour vers le registre MDR
PC MDR (adr ) Transfert de l’adresse effective vers le registre PC

q5 C2 t1
q5 C2 t2
:

R
:

e M(MAR)
PC
MDR
PC + 1
Sauvegarde de l’adresse de retour dans la case mémoire m
Branchement à l’instruction d’adresse m + 1 (le sous prog)

Au début du cycle d’exécution de l’instruction BSA m les registres MAR ,MDR et PC ont les valeurs suivantes
MAR = H100 , MDR = B0101 m et le PC = H101 ( B=binaire)
Détails du cycle d’exécution :

 instant to : le MDR contient l’adresse de retour au Programme principal ,le MAR l’adresse de la case
mémoire ou sera stockée l’adresse de retour ,et le PC contient l’adresse de début du sous programme - 1
MAR = m , MDR(adr) = H101 , PC = m

 instant t1 : Sauvegarde de l’adresse de retour en M(m)


M(m) =H101

 instant t2 : Incrémentation du PC pour pointer la 1ere instruction du sous programme


PC = m + 1

ISZ m :

Cette instruction rentre dans la catégorie des instructions de « saut et branchement conditionnel », elle permet de
compter le nombre de fois d’exécution d’une boucle dans un programme. Elle est réalisée par la séquence de
macro opérations suivante :

64
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

M(m) M(m) + 1
Si ( M(m)=0 ) alors PC PC + 1

La case mémoire d’adresse m contient le compteur de boucle ,le processeur de base utilise cette instruction en
association avec l’instruction BIN pour réaliser la boucle de programme, l’exemple ci dessous en est une
illustration :

Adr Code

xxx

d
Boucle Programme
H100 ISZ m

e
H101 BIN xxx

e
m

w CTR = -n Compteur de boucle

i
Figure V-6 : Utilisation de l’instruction ISZ m pour réaliser une boucle de programme

v
e
La séquence des instructions de la boucle débute a l’adresse xxx, cette séquence se termine par l’instruction
ISZ m suivi par BIN xxx. L’instruction ISZ incrément le contenu du compteur de boucle CTR= M(m) .
A l’initialisation le compteur de boucle CTR est chargé avec la valeur -n ( n est le nombre d’itérations ) ,une

R
fois incrémenté si CTR est différent de zéro ,le PB exécute l’instruction BIN xxx qui le renvoie au début de la
boucle afin de répéter la séquence.

Sinon c.a.d CTR=0 alors La condition de sortie de la boucle est vérifiée , dans ce cas le PC est incrémenté ce
qui fait que le PB saute l’instruction BIN xxx et sort ainsi de la séquence de la boucle .

La séquence de micro opérations qui réalise cette instruction est :

q6 C2 t0 : MAR MDR(adr) Transfert de l’adresse effective vers le registre MAR


q6 C2 t1 : MDR M (MAR) Lecture du mot pointée par le registre MAR
q6 C2 t2 : MDR MDR + 1 Incrémentation de la valeur lue
q6 C2 t3 : M (MAR) MDR Sauvegarde du mot incrémenté
Si MDR = 0 alors PC PC+1 Incrémentation du PC si MDR=0

V-4-2 Les instructions a référence registre ( IRR ) :

Ceux sont des instructions qui réalisent des opérations élémentaires sur des modules internes du processeur de
base ( AC, PC ,E et S ) , ce type d’instruction peut être aussi définie comme implicite .

65
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

Les 07 premières instructions réalisent la mise a zéro ,la complémentation ,la rotation et l’incrémentation du
registre accumulateur AC et de la bascule de retenue E. Quatre autres instructions SPA, SNA, SZA, et SZE
sautent l’instruction suivante si la condition correspondante est vérifiée.

L’instruction d’arrêt du processeur HLT met a zéro la bascule de démarrage S qui inhibe les signaux de
synchronisation en bloquant le décodeur des temps élémentaires Ti .

Mnémonique Code Description


Hexadécimal Fonction de contrôle Micro opération

CLA 7800 RB5 : AC 0


CLE 7400 RB6 : E 0
CMA 7200 RB7 : AC AC

d
CME 7100 RB8 : E E
ROD 7080 RB9 : Rotation droite de E.AC
ROG 7040 RB10 : Rotation gauche de E.AC

e
INC 7020 RB11 : AC AC + 1
SPA 7010 RB12 : Si AC1=0 alors PC PC+1
SNA 7008 RB13 : Si AC1=1 alors PC PC+1
SZA 7004 RB14 : Si AC =0 alors PC PC+1

w
SZE 7002 RB15 : Si E = 0 alors PC PC+1
HLT 7001 RB16 : S 0

e
R = q7 I C2 t3 B i = MDR i

v i
Les instructions a référence registre sont reconnues par l’unité de contrôle quand q 7 = 1 et I = 0 ,ces instructions

e
utilisent les 16 bits du format comme code opération . Les 04 premiers bits MDR(1-4) sont fixes ( 0111 ) les 12
restants MDR(5-16) sont variables et permettent de distinguer les 12 IRR .

R
V-5 LES ENTREES / SORTIES ET LES INTERRUPTIONS :

V-5-1 Introduction :

Le processeur de base doit disposer d’éléments lui permettant de communiquer avec l’environnement extérieur
et ceci pour différentes raisons parmi lesquelles on peut citer :

1) Donner la possibilité a l’utilisateur d’introduire un programme


2) Donner la possibilité a l’utilisateur d’exécuter un programme
3) Donner la possibilité a l’utilisateur de visualiser les résultats d’un programme
4) Donner la possibilité a l’utilisateur de visualiser les registres internes du processeur
5) Donner la possibilité a l’utilisateur d’arrêter le système

Pour pouvoir introduire les commandes et les informations a acheminer au processeur de base, on utilise un
clavier comme dispositif d’entrée suivi d’un registre pour la sauvegarde de l’information d’entrée INPR .
L’information une fois traitée par le processeur ressort vers le dispositif de sortie constitué par un ensemble
d’afficheurs . La figure V-7 résume l’organisation des entrées / sorties pour le processeur de base .

66
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

Clavier processeur de base

0 1 2 3 Exec
4 5 6 7 Halt INPR FGI MDR
8 9 a b Ecr Mémoire
c d e f Lec centrale
AC
Afficheurs

OUTR FGO MAR

d
Figure V-7 : Organisation des entrées / sorties pour le processeur de base

e
Le registre d’entrée INPR reçoit l’information sur 08 bits a partir du clavier, la bascule de contrôle FGI est mise
a 1 quand INPR reçoit cette information. Elle est mise a zéro quand cette même information est transféré vers le
registre AC. Le registre de sortie OUTR reçoit une information du processeur venant de AC si la bascule de

w
contrôle en sortie FGO est a 1, une fois l’information transféré de AC vers OUTR la bascule FGO est mise a
zéro .Cette même information sera en fin de compte visualisée sur les afficheurs .

e
Les opérations d’entrées/sorties sont contrôlées par les bascules FGI et FGO de la manière suivante :

i
FGI = 0 INPR vide opération d’entrée possible

v
FGI = 1 INPR plein opération d’entrée impossible
FGO = 1 OUTR vide opération de sortie possible

e
FGO = 0 OUTR plein opération de sortie impossible

R
On peut imaginer le mode de fonctionnement suivant, le processeur scrute constamment l’état de FGI et FGO
dans le cas ou l’une passe a 1 ,il initialise un transfert en entrée ou en sortie .

Si l’on considère que le processeur réalise le cycle de lecture et d’exécution d’une instruction en 08 micro
secondes et que 04 instructions sont nécessaires pour faire le test sur les bascules FGI et FGO. La durée
nécessaire au test d’entrée/sortie est donc de 32 micro seconde .

Sachant qu’un opérateur sur un clavier transfère son information avec une vitesse de 02 caractères /seconde au
maximum c.a.d qu’un caractère est transmis toutes les 500 000 micro seconde .

Pendant ce temps le processeur pourra réaliser 500 000 / 32 tests c.a.d 15625 fois entre 02 transferts successifs ,
ce mode d’entrée/sortie s’avère inefficace puisque le processeur passe un temps énorme a faire des tests, alors
que ce temps machine aurait pu servir a exécuter des taches plus utiles .

L’alternative est de laisser le périphérique (le clavier dans notre cas) informer le processeur quand il est prêt
pour un transfert d’information, pendant ce temps la le processeur exécute d’autres taches ;c’est le transfert par
interruption .

Quand le clavier transfère une information dans INPR, ceci a pour effet de mettre a 1 la bascule FGI ,ce qui
branche le processeur dans le cycle d’interruption si la bascule de validation IEN est active .Le sous programme
67
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

d’interruption consiste en une entrée / sortie de donnée ,une fois réalisée le processeur revient au programme
principal .La bascule IEN sert a autoriser ou inhiber les interruptions venant des périphériques.

V-5-2 Le cycle d’interruption :

A la fin du cycle d’exécution ,la micro opération suivante était exécutée pour revenir au cycle de lecture de la
prochaine instruction :

C2 t3 : F 0

Cette micro opération va être modifiée conformément a l’organigramme de la figure V-8 ,ce dernier est le
complément de l’organigramme de contrôle des cycles de la figure V-4 .

e d FR 00

w
FR = ?
01 00

e
11 Interruption 10 Exécution Indirect Recherche

i
Stocker l’adresse de Exécution de l’instruction
retour au Programme
Principal en 000H

v
non
IEN = 1

e
Branchement a l’instruction oui
d’adresse 001H oui
FGI=1

R
non
IEN 0 oui non
F 0 FGO=1
R 0

R 1 F 0

Figure V-8 : Organigramme du cycle d’interruption et du cycle d’exécution

Comme cela a été expliqué auparavant, a la fin du cycle d’exécution il n’y y a pas automatiquement
branchement vers le cycle de lecture de la prochaine instruction du programme. En ce sens que le processeur de
base réalise une séquence de tests sur les bascules IEN ,FGI et FGO.

Ces tests permettent au processeur de s’assurer qu’aucune demande d’interruption n’a pas été formulée par les
dispositifs d’entrées/sorties .Si c’est le cas, le processeur met la bascule F a 0 pour aller au cycle de lecture de la
prochaine instruction. Dans le cas contraire, il met la bascule R a 1 pour aller au cycle d’interruption .

La condition de fin du cycle d’exécution devient alors :

68
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

C2 t3 : Si ( IEN  ( FGI  FGO ) = 1 ) alors R 1


Sinon F 0

Le cycle d’interruption a lieu quand la condition IEN  ( FGI  FGO ) = 1 c.a.d quand une opération
d’entrée/sortie est requise et qu’elle doit se faire par interruption . Dans ce cas le processeur rentre dans le cycle
d’interruption en mettant la variable C3 = 1 et exécute la séquence de micro opérations suivante :

C3 t0 : MDR( adr ) PC , PC 0 Transfert de l’adresse de retour et MAZ du PC


C3 t1 : MAR PC , PC PC+ 1 Chargement du MAR avec 000H et le PC avec
le vecteur d’interruption ( 001H)
C3 t2 : M(MAR) MDR , IEN 0 Sauvegarde de l’adresse de retour en M(000H)
et inhibition de toute interruption ultérieure
C3 t3 : F 0 , R 0 branchement au cycle de lecture de l’instruction

d
d’adresse 001H ( vecteur d’interruption )

e
On constate que le cycle d’interruption est une implémentation matérielle de l’instruction IRM « BSA 000H »
en plus de la mise a zéro de la bascule de validation des interruptions IEN pour bloquer toute autre interruption.
Le branchement au cycle de lecture de l’instruction d’adresse 001H est assuré par la mise a zéro des bascules de

w
cycle F et R a la fin du cycle d’interruption. Ce qui branche le processeur sur le sous programme de gestion de
l’interruption .

ie
V-5-3 Les instructions d’entrées / sorties :

e v
Elles sont reconnues par le code fixe « 1111 » sur les 04 premiers bits du format de l’instruction ( ou bien par
le terme « F » en hexadécimal ). Ces instructions servent dans les opérations de transfert entre le processeur (
AC ) et les registres tampon des périphériques ( INPR et OUTR ) , la table V-4 liste ces instructions .

Mnémonique

INP
OUT
SKI
SKO
R Code
Hexadécimal

F800
F400
F200
F100
Description

Entrée d’une donnée dans AC


Sortie d’une donnée dans AC
Saut d’une instruction si FGI=1
Saut d’une instruction si FGO=1
Fonction

AC(9-16)
OUTR
INPR , FGI
AC(9-16), FGO
Si ( FGI=1 ) alors PC
Si ( FGO=1 ) alors PC
0

PC+1
PC+1
0

ION F080 Interruption autorisée IEN 1


IOF F040 Interruption inhibée IEN 0

Table V-4 liste des instructions d’entrées / sorties

Le processeur de base dispose de 02 instructions d’entrée/sortie INP et OUT ,l’instruction INP transfère le
contenu du registre d’entrée dans AC en ayant le soin de mettre la bascule FGI a 0 pour signaler que le registre
INPR est vide. L’instruction OUT ,quand a elle transfère le contenu de AC vers OUTR et met la bascule FGO
à 0 pour dire que le registre OUTR est plein .

69
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

Deux autres instructions servent a tester l’état des bascules FGI et FGO et de réaliser des sauts si nécessaire ,
SKI teste si FGI=1 c.a.d si le registre INPR est plein ou tout simplement qu’une donnée vient d’être inscrite
dans INPR pour être prise en charge par le PB dans ce cas on saute une instruction .

Cette méthode peut être utilisée pour gérer une opération d’entrée ( voir figure VI-6 de la section VI-7 ) .
L’instruction SKO fait le même travail, seulement le test se fait sur la bascule FGO pour gérer une opération de
sortie de donnée vers les afficheurs .

Deux autres instructions servent a autoriser ou bloquer le cycle d’interruption en agissant sur la bascule de
validation des interruptions IEN , il s’agit de ION et IOF .

V-5-4 Utilisation des entrées/sorties par interruption :

e d
La mémoire centrale du processeur de base a une taille de 04 kilo mots (de l’adresse 000 a FFF ) ,elle est
composé d’une mémoire vive de type RAM pour contenir les programmes utilisateurs et les données a
sauvegarder dans la pile, ainsi que les différentes variables nécessaires au programme moniteur et aux sous
programmes .Une mémoire permanente de type EPROM contient le système d’exploitation du PB appelé aussi
moniteur composé d’un programme principal et de ces différentes routines .

w
La mémoire RAM sera sur 02 kilo mots à partir de l’adresse 000H , l’EPROM quand a elle sera sur le dernier
kilo mots de l’espace mémoire. L’espace de la mémoire RAM est répartie comme suit :

e
i
1) Une 1ere zone de 80 mots de 16 bits sert à contenir les paramètres du processeur de base,
 Le mot d’adresse 000H est réservé pour la sauvegarde de l’adresse de retour au programme principal

v
dans le cas d’appel de sous programme d’interruption, cette case mémoire joue le rôle d’une pile
 Le mot d’adresse 001Hcontient l’instruction de branchement au sous programme d’interruption, on
l’appelle aussi vecteur d’interruption.

Re
 Les 78 mots qui restent sont réserves pour des utilisations à définir .Une partie de cette zone sera
utilisé par le moniteur pour contenir les Buffers d’entrée et de sortie, les pointeur de Buffer ainsi que
les compteurs .

2) Une 2ieme zone de (2048-80 ) mots à partir de l’adresse 050H jusqu'à 7FFH est réservé pour différents
programmes d’applications .

L’espace mémoire Eprom est répartie comme suit :

3) Une 1ere zone à partir de l’adresse C00H jusqu'à l’adresse DFFH ( Atop ) contient le programme principal du
moniteur système .
4) Une 2ieme zone à partir de l’adresse E40H jusqu'à l’adresse E6FH contient les différentes tables nécessaires a
la conversion des touches du clavier
5) Une 3ieme zone à partir de l’adresse E70H jusqu'à l’adresse FFEH contient les différentes routines du
moniteur ainsi que la routine d’interruption .Enfin la case mémoire d’adresse FFFH sert a contenir le vecteur
du RESET qui assure le branchement du PB vers le programme moniteur .

RAM EPROM
000H Adresse de retour C00H
001H Pointeur d’interruption
002H réservé Programme Principal
du moniteur
04FH réservé Atop

Programme utilisateur
70 Sous - Programmes

Pointeur de RESET
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

050H
E70H

7FFH FFFH

Maintenant on va décrire la procédure d’appel du sous programme d’interruption par un programme principal .
Ce programme principal peut être le programme moniteur en EPROM ou tout simplement un programme
d’application de l’utilisateur en RAM .

Le processeur de base exécute en permanence un programme principal .Au moment de l’exécution de


l’instruction d’adresse nnnH c.a.d à l’instant (2) ,une interruption a lieu. Le processeur rentre dans le cycle de
reconnaissance de l’interruption (3). L’adresse de retour au programme principal (nnn+1)H est sauvegardée

d
dans la case mémoire 000H .Le processeur exécute ensuite l’instruction d’adresse 001H ,ce qui branche celui ci
vers le sous programme de gestion de l’interruption (4) .

e
Le PB exécute le sous programme de gestion de l’interruption (5) ,qui consiste en un test des flags
d’entrée/sortie et l’enregistrement de l’information dans le buffer d’entrée pointée par l’adresse CHR .La même
information est sortie sur OUTR pour être visualisée. La dernière instruction du sous programme est un

w
branchement indirect a la case mémoire d’adresse 000H (6) ,ce qui ramène le PB a l’instruction suivante du
programme principal (7) .Ainsi le Processeur de Base continue l’exécution du programme principal .

000H

ie
Adresse de retour nnn + 1 nnn + 1

v
001H Pointeur d’interruption BIN SP1 BIN SP1
002H réservé 7

e
04FH réservé
050H
Programme principal Programme principal Programme principal 6

R
3
1
2
nnnH Instruction en cours Instruction en cours Instruction en cours
Instruction suivante nnn+1
4
SKO SP1
Zone des sous- Zone des sous- INP 5
programmes programmes OUT
STA CHR
BIN I 000H

FFFH

Figure V-9: procédure d’appel d’un sous programme d’interruption

V-6 LA REALISATION DES MODULES DU PROCESSEUR DE BASE :

Le processeur de base est constitué par un ensemble de 08 registres AC, PC, MAR, MDR, RI, SC, INPR, OUTR
et 08 bascules de contrôle et d’état qui sont S, F, R, E, I, FGI, FGO, IEN ainsi qu’une UAL, des décodeurs, des
multiplexeurs , des buffers 03 états et par la logique de l’unité de contrôle.

71
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

Le processeur de base est en liaison avec une mémoire centrale de 4096 mots de 16 bits et un interface de
communication composé d’un clavier et d’un ensemble d’afficheurs .

Pour réaliser le circuit électrique du processeur de base , il faut se baser sur les différents cycles du PB ( voir
table B-1 en annexe ) pour déterminer l’ensemble des micro opérations affectant un module choisi ( registre ,
bascule...)

L’étude devra se faire module par module ,a titre d’exemple on va traiter l’étude et la conception du module PC
.

Etude et conception du module PC :

Cette étude se fait a partir de la table B-1 , pour cela il suffit de répertorier toutes les fonctions de contrôles qui

d
affectent le contenu du registre PC ,en tenant compte de cela on aboutit au tableau suivant :

e
Fonctions de contrôles

W =F2 +F26+yF30 + (AC1 )’F38 +AC 1 F39+xF40 +EF41+(FGI)F45 +(FGO)F46+ F50


micro opérations

PC PC+1

e w
X = F23 + F24

F49 PC
PC

0
MDR(adr)

v i Table V-5 Résumé des micro opérations affectant le PC

La fonction W est égale a la sommation de toute les fonctions de contrôles qui assurent l’incrémentation du PC

e
. Pour cela on consulte la table B-1 , en commençant par la micro opération de F1 jusqu'à celle de F52 .On
identifie celles qui réalisent l’incrémentation du contenu du PC ,on obtient 02 groupes

F2
F26
F50
:
:
:
R
1er Groupe

PC
PC
PC
PC+1
PC+1
PC+1
F30
F38
F39
F40
F41
:
:
:
:
2ieme Groupe

Si
Si
Si
Si
Si
MDR=0
AC1=0
AC1=1
AC=0
E =0
alors
alors
alors
alors
alors
PC
PC
PC
PC
PC
PC+1
PC+1
PC+1
PC+1
PC+1
:
F45 : Si FGI =1 alors PC PC+1
F46 : Si FGO =1 alors PC PC+1

Le 1er groupe assure l’incrémentation du PC sans condition ,dans le second groupe l’incrémentation du PC n’a
lieu que sous une certaine condition par exemple la fonction F38 qui s’écrit de la manière suivante :

Fi : si (condition) alors ( micro opération)

Cette micro opération sera réécrite de telle manière a inclure la condition AC1 = 0 dans la fonction de contrôle
par la même méthode appliqué dans la figure III-16 de la section III-6-1 du chapitre III . On nomme la nouvelle
fonction de contrôle Z ,celle ci sera active quand F38 = 1 sous la condition AC1 = 0 .

F38 AC1 Z
0 0 0 72
0 1 0
1 0 1
1 1 0
CHAPITRE IV ETUDE ET CONCEPTION D’UN PROCESSEUR DE BASE

Z = (AC1)’ F38

La micro opération devient donc : (AC1)’ F38 : PC PC+1

Toutes les autres micro opérations d’incrémentation conditionnelle du PC c.a.d celles du groupe 2 peuvent être
réécrites par cette méthode , et enfin de compte on obtient l’équation logique de la fonction de contrôle W
assurant l’incrémentation du PC donné par la table V-5 .

Ainsi W sera réalisée par la sommation de toutes les fonctions de contrôles avec ou sans condition.

d
Ceci dit on peut faire les conclusions suivantes sur le registre PC :

 Le registre PC est un registre de 12 bits étant donné qu’il est en relation avec une mémoire de 2 12 mots

e
 D’après la table résumant les fonctions du PC, ce dernier doit fournir 03 fonctions :
l’incrémentation (Inc), le chargement (Load), la Mise a zéro (Clear)
 Le registre PC dispose d’une source d’information la partie adresse du MDR

e w Registre MDR

i
I COP Adresse

v
12
1 12
X F49
Registre PC

e
Load Clear
Inc
W

R
Figure V-10: Schéma bloc du registre PC

Le registre PC peut être réalisée par 03 circuits intégrés du type 74192 , qui est un registre de 04 bits a chargement
parallèle , incrémentation et remise a zéro

Conclusion :

Le processeur de base étudié dispose d’un bus de données de 16 lignes , d’un bus d’adresse de 12 lignes ainsi
que d’un bus d’entrée de 08 lignes et d’un bus de sortie de 08 lignes .C’est un processeur a caractère
pédagogique ,en réalité les processeurs du marché tel que le Z80 , le MC6809 ,le 8085 et 8086 d’intel disposent
d’un bus d’adresse d’un bus de contrôle et d’un bus de données de 08 ou 16 lignes dépendent du processeur , ce
même bus fait office d’entrée /sortie pour les opérations d’E/S .Donc ces processeur renvoi les taches d’E/S a un
circuit spécialisé, c’est le circuit d’interface ( par exemple le 8255 ) . Enfin de compte ces processeurs réalisent
les opérations d’E/S a travers l’interface , toute la circuiterie d’E/S se retrouve alors en dehors du processeur .

73

Vous aimerez peut-être aussi