Professional Documents
Culture Documents
Up Mu0
Up Mu0
• Microprocesseur avec un bus de données sur 16 bits et un bus d’adresses sur 12 bits (soit 4096 mots adressables).
• Le chemin de données doit comprendre au minimum :
– un registre compteur programme (PC) : un registre stockant l’adresse de la prochaine instruction à exécuter.
– un registre accumulateur (ACC) : un registre stockant la donnée sur laquelle on travaille.
– une UAL qui permet d’exécuter des opérations arithmétiques et logiques de base (addition, soustraction,
ET/OU/OUX
logique)…
www.enib.fr
2
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
Jeu d’Instructions
• La programmation d’un programme complet directement en code machine binaire
devient très rapidement fastidieuse :on définit un langage symbolique nommé
langage d’assemblage permettant de représenter les instructions par des
mnémoniques.
• On délègue la traduction du programme source en code binaire exécutable à un
programme : l’assembleur.
www.enib.fr
www.enib.fr
• l’UAL,
• le registre accumulateur (ACC) : il contient la donnée sur laquelle on travaille.
Il renvoie des informations vers la machine d’état (valeur nulle et valeur positive
ou nulle).
• le compteur programme (PC : Program Counter) : il contient à tout instant
l’adresse de la prochaine instruction à exécuter.
• le registre d’instruction (IR : Instruction Register) : il contient l’instruction qui
est en train d’être exécutée.
• des multiplexeurs (MUXA et MUXB) qui permettent d’aiguiller les données.
• une porte 3 états qui permet d’amener le contenu du registre accumulateur sur le
bus de données, et de déconnecter l’accumulateur du bus de données quand la
mémoire est en lecture.
• Les registres disposent d’une commande de chargement et de remise à zéro
synchrone (non représentée). l’UAL reçoit, en plus de ses entrées et sortie, un
code permettant d’identifier la fonction UAL sélectionnée.
www.enib.fr
www.enib.fr
7
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
Exemple de Programme
www.enib.fr
8
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
Phase d’acquisition (Fetch)
10
LDA var1
ADD var2
STO res
B+1
STOP
LDA var1
Var1=1
Var2=2
res
www.enib.fr
9
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
www.enib.fr
10
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
Phase d’exécution
0x004
0x004
LDA var1
LDA var1
ADD var2
STO res
B
STOP
0x001
Var1=1
Var2=2
res
0x001
www.enib.fr
12
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
Phase d’acquisition (Fetch)
1
2
LDA var1
ADD var2
STO res
STOP
ADD var2
Var1=1
Var2=2
res
www.enib.fr
13
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
www.enib.fr
14
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
Phase d’exécution
0x005
LDA var1
ADD var2
STO res
STOP
Var1=1
Var2=2
res
0x001
0x003
0x002
www.enib.fr
16
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
Instructions de Saut
JMP Addr : Fetch 0
10
JMP 0x004
JMP 0X004
www.enib.fr
17
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
JMP Addr : Exécution
0X004
0X004
JMP 0X004
www.enib.fr
18
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
JSR Addr : Fetch
10
JSR 0x004
JSR 0x004
www.enib.fr
19
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
JSR Addr : Exécution
0x004 0x004
1 1
0x004
www.enib.fr
20
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
RET : Fetch
6
6
7
JSR 0x004
RET
RET
www.enib.fr
21
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs
RET : Exécution
Actions réalisées :
PC SPC
1 1
www.enib.fr
22
kerhoas@enib.fr Microprocesseurs : Systèmes à Microprocesseurs