Académique Documents
Professionnel Documents
Culture Documents
1
I - INTRODUCTION
2
II – SCHEMA GENERAL DU i8080
3
Le processeur i8080 est un système monobus articulé autour d’un
accumulateur habituellement désigné par A et qui dispose de :
4
- 1 registre d’instruction appelé IR (Instruction Register) qui mémorise
à chaque fois un octet de l’instruction extraite de la mémoire centrale.
5
III – SCHEMA INTERNE DU i8080
6
IV – SEQUENCEMENT DES
INSTRUCTIONS DU i8080
On sait que sur tout processeur, l’exécution d’une instruction débute par une phase
de recherche en mémoire (« fetch» en anglais), c’est-à-dire un moment où
l’instruction est transférée de la mémoire centrale vers le registre d’instruction (RI).
Dans le cas de l’i8080, cette phase de recherche se déroule pendant un cycle
machine.
7
1. Format des instructions
- Cas des instructions codées sur 1 mot : le code opération portant sur 8
bits contient aussi la désignation des registres à employer lors de
l’opération. Ex. : MOV R1, R2.
- Cas des instructions codées sur 2 mots : le code opération est suivi
d’une donnée. Ex. : ADI data (« add immediate data to A », c’est-à-dire
rajouter à l’accumulateur la donnée qui suit immédiatement le code
opération).
- Cas des instructions codées sur 3 mots : le code opération est suivi de 2
mots qui correspondent à la spécification d’une adresse tenant sur 16 bits.
Ex. : JMP addr (« jump to specified address », c’est-à-dire sauter/débrancher
à l’adresse indiquée).
8
Pour chaque octet de l’instruction, l’unité de commande doit
effectuer une recherche en mémoire
+ l’instruction est courte, + son exécution est rapide.
Codification des
registres du i8080
Conventions de notations
000 pour le registre B ;
001 pour le registre C ;
SSS pour source
010 pour le registre D ;
DDD pour destination
011 pour le registre E ;
R pour registre
100 pour le registre H,
rp : pour paire de registre
101 pour le registre L ;
H : pour partie haute de l’octet
110 (Mémoire) ;
L : pour partie basse de l’octet
111 pour le registre A.
n : pour adresse (0 à 7)
B1 : pour byte (octet) 1 de l’instruction
Codification des
B2 : pour byte (octet) 2 de l’instruction
paires de registres
B3 : pour byte (octet) 3 de l’instruction
du i8080
M : pour adresse mémoire définie par H et L
00 pour la paire BC ;
X : pour opération interne au CPU
01 pour la paire DE ;
10 pour la paire HL ;
11 pour la paire SP.
9
2. Exemple d’instruction codée sur un mot
Cas de l’instruction MOV
MOV R1, R2
Description
Exemple
01111000
On cherchera la traduction assembleur associée à cette instruction.
10
10
Séquencement de l’instruction « MOV R1, R2 »
La phase de recherche correspond aux 3 premiers états de cycle machine M1. Ces 3
états sont appelés T1, T2 et T3 sur le tableau du jeu d’instruction du microprocesseur.
La séquence correspondant à ces 3 états est commune à toutes les instructions du
microprocesseur puisque toutes les instructions doivent d’abord être lues en mémoire
avant d’être exécutées. La 1re phase de recherche de l’instruction correspondant à
l’étape T1 est représentée par :
T1 : (PC) out
11
11
Pendant que la mémoire effectue son cycle de lecture, le contenu du PC est en effet
incrémenté. T2 nécessite environ 500 nanosecondes sur l’i8080 standard. A la fin de
T2, le contenu de la mémoire devient disponible et peut être transféré dans le
microprocesseur. C’est le début du temps T3 noté :
T3 : instruction dans IR.
Durant l’état T3, l’instruction lue en MC est mise sur le bus des données et
transférée dans le registre d’instruction de l’i8080 standard où elle sera décodée.
Pendant l’état T4, ce décodage a lieu et le contenu du registre est copié dans TMP,
ce qu’on symbolise par :
T4 : (SSS) → TMP.
Durant l‘état T5, le contenu de TMP est envoyé dans le registre de destination, ce
qu’on note :
T5 : (TMP) → DDD.
A ce stade, l’exécution de l’instruction est terminée. Le contenu du registre R2 a été
transféré vers la destination indiquée, à savoir le registre R1. Cela achève
l’exécution de l’instruction. Les autres cycles machines - M2, M3, M4, M5 - ne sont
pas nécessaires à l'exécution de cette instruction et ne sont donc pas utilisés.
L’exécution se termine à la fin de M1.
12
12
3. Exemple d’instruction codée sur deux mots
Cas de l’instruction ADI
Représentation mnémonique (symbolique ou encore
assembleur)
ADI data
Description
Ajoute au contenu actuel de l’accumulateur la donnée qui suit
immédiatement le code opération, c’est-à-dire celle codée sur le
2e octet.
T4 : (A) → ACT.
15
15
4. Exemple d’instruction codée sur trois mots
Cas de l’instruction LDA
Représentation mnémonique (symbolique ou encore
assembleur)
LDA addr
Description
Charge l’accumulateur avec le contenu de la cellule mémoire dont
l’adresse (deux octets) est immédiatement fournie à la suite du
code opération.
Représentation binaire (machine)
Octet 1 : 0 0 1 1 1 0 1 0
Octet 2 : byte bas adresse (bits 0-7)
Octet 3 : byte haut adresse (bits 8-15)
Exemple
00111010
00100010
00000101
Déterminez la traduction assembleur associée à cette instruction.
16
16
Séquencement de l’instruction « LDA addr »
Pendant le cycle machine M1 :
- T1, T2 et T3 servent à la recherche de l’instruction ;
- T4 est employé pour la réalisation d’opérations internes au CPU telles que
le décodage de l’instruction (usage de la convention X)
- T5 n’est pas utilisé.
17
17
Pendant le cycle machine M4 on a :
- T1 : (WZ) out ;
- T2 : début du transfert DATA → A ;
- T3 : fin du transfert DATA → A.
FIN CHAPITRE 5
18
18