Microprocesseurs et jeux d'instructions
Thèmes abordés
Microprocesseurs et jeux d'instructions
Thèmes abordés
5- Microprocesseurs &
jeu d’instruction
Un microprocesseur se présente sous la forme d’un circuit intégré muni d’un nombre
généralement important de broches.
Exemples :
• Intel 8085, 8086 : 40 broches, DIP (Dual In-line Package) ;
• Motorola 68000 : 64 broches, DIP ;
• Intel 80386 : 196 broches, PGA (Pin Grid Array).
LI DI LO EX RR
Remarque :
Unité de contrôle a en charge les différentes phases de l’exécution d’une instruction
Signaux de contrôles
Remarques :
L’unité de traitement = éléments de mémorisation (registres internes) + UAL
Il s'agit d’une machine séquentielle
ESIEE - 2008/2009 R. MAHMOUDI 136
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (5)
Registre d’état
Mémoire principale
Banc de registres
MAR
PC
d’instruction
Séquenceur
Décodeur
U
A
L
MDR
RI
Unité de traitement Unité de contrôle
Horloge
Remarques :
Banc de registres :: opérandes ; MAR -> RI :: adresse opérande
PC :: adresse instruction ; MDR -> MP :: Résultats
ESIEE - 2008/2009 R. MAHMOUDI 137
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (6)
2
MAR Mémoire MDR
1 3
PC RI
5 4
Horloge Séquenceur DI
5
2
MAR Mémoire MDR
Unité de contrôle
3 Unité de traitement
Pour exécuter les instructions dans l’ordre établi par le programme, le microprocesseur
doit savoir à chaque instant l’adresse de la prochaine instruction à exécuter.
Le microprocesseur utilise un registre contenant cette information.
Ce registre est appelé pointeur d’instruction (IP : Instruction Pointer) ou compteur
d’instructions ou compteur ordinal.
Remarque : pour exécuter une instruction, l’UAL utilise des registres de travail,
exemple : l’accumulateur, registre temporaire recevant des données intermédiaires.
Pendant que l’instruction est décodée, le pointeur d’instruction est incrémenté de façon
à pointer vers l’instruction suivante :
Le 68000 est un microprocesseur CISC 16/32 bits sorti en 1979. il devint rapidement
le processeur le plus prisé de sa génération. Le formidable succès des machines comme
le Mac, l'Amiga ou l'Atari est en grande partie due à cet innovant processeur.
Voici ces caractéristiques :
- Mémoire adressable de 16Mo ( 24 lignes d'adresse ).
- Jeu d'instruction très complet ( 56 Instructions ).
- 14 modes d'adressage différents.
- 8 registres de donnée 32 bits.
- 7 registres d'adresse 32 bits.
- Gestion de privilèges ( Utilisateur / Superviseur ).
- Deux pointeurs de pile 32 bits différents.
Le terme 16/32 bits résume la façon dont le circuit manipule les données.
Le bus de données interne est sur 32 bits mais le processeur communique avec le reste
du monde sur un bus externe de 16 bits.
Tous les registres du 68000 sont sur 32 bits excepté le registre d'état CCR 16 bits.
En interne, il existe en fait deux pointeurs différents l'USP ( User Stack Pointer) en mode utilisateur
et le SSP (Supervisor Stack Pointer) en mode superviseur.
Il s'agit toujours du registre A7, le 68000 utilisant implicitement l'un ou l'autre en fonction de son
mode de fonctionnement.
b7 b6 b5 b4 b3 b2 b1 b0
X N Z V C
une exception est un évènement matériel ( interruptions ) ou logiciel qui déroute le processeur vers une
procédure particulière.
A7
A7’
Pour bien comprendre le fonctionnement d'un pile, on peut imaginer la pile comme
une pile d'assiettes de différentes couleurs. En prenant comme condition initiale A7=10,
on empile une assiette bleu, une assiette rouge puis une assiette verte. L'assiette bleu
sera stockée en position 10, la rouge en 9 et la verte en 8, au final A7 vaut 8.
L'opération de dépilement est identique à l'empilement mais à l'envers, en récupère
l'assiette verte, la rouge puis la bleu et A7 revient à sa position initiale soit 10
On peut remarquer que lors du processus d'empilement la première assiette empilé est
bleu, lors du dépilement c'est la dernière.
C'est pour cette raison que l'on parle de pile LIFO (Last In First Out ) le dernier élément
empilé sera le premier dépilé.
Pour information, il existe un autre type de pile appelée pile FIFO ( First In First Out ).
Dans ce cas le premier élément empilé sera le premier dépilé.
1 Immédiat
2 Direct absolu
Code instruction Adresse Opérande
Mémoire
ESIEE - 2008/2009 R. MAHMOUDI 160
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-12)
Registres Mémoire
4 Relatif
Mémoire
Registres
ESIEE - 2008/2009 R. MAHMOUDI 162
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-14)
Taille de données transférées : .B : Byte : un octet / .W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits
4. MOVEQ #6AH,D0
b31 b0
Taille de données transférées : .W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits UNIQUEMENT
8. I1. MOVE.B #55H,1000H 9. I3. MOVE.W #6655H,1000H 10. I4. MOVE.L #44556677H,1000H
I2. MOVE.B #AAH,1001H
1001H
1000H 55 AA 66 55 44 55
1002H 66 77
Taille de données transférées : .B : Byte : un octet / .W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits
ESIEE - 2008/2009 R. MAHMOUDI 166
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-18)
Adresse : 1000H
Taille de données transférées : .B : Byte : un octet / .W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits
ESIEE - 2008/2009 R. MAHMOUDI 167
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-19)
Adresse : 1000H
Taille de données transférées : :.W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits UNIQUEMENT
ESIEE - 2008/2009 R. MAHMOUDI 168
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-19)
Adresse : 1000H
Taille de données transférées : :.W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits UNIQUEMENT
ESIEE - 2008/2009 R. MAHMOUDI 169
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-20)
Non affecté
13. MOVE ( A1),D1
MP
Lecture
D0 5678
Données : 5678 56 78 1000H
Taille de données transférées : .B : Byte : un octet / .W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits
ESIEE - 2008/2009 R. MAHMOUDI 170
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-21)
Non affecté
14. MOVE.W ( A1)+,D1
MP
Lecture
D0 5678
Données : 5678 56 78 1000H
A1 Etat Initial 0000 1000
Adresse : 1000H
A1 Etat Final 0000 1002
Octet de poids fort Octet de poids faible
Après le transfert, A1 est incrémenté de 2 @ paire : 1000H @ paire : 1001H
Taille de données transférées : .B : Byte : un octet / .W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits
ESIEE - 2008/2009 R. MAHMOUDI 171
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-22)
Non affecté
15. MOVE.W -( A1),D1
MP
Lecture
D0 5678
Données : 5678 56 78 1000H
A1 Etat Initial 0000 1002
Adresse : 1000H
A1 Etat Final 0000 1000
Octet de poids fort Octet de poids faible
Avant le transfert, A1 est décrémenté de 2 @ paire : 1000H @ paire : 1001H
Taille de données transférées : .B : Byte : un octet / .W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits
ESIEE - 2008/2009 R. MAHMOUDI 172
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-23)
Non affecté
16. MOVE.W 2( A1),D1
MP
Lecture
D0 5678
Données : 5678 56 78 1000H
A1 Etat Initial 0000 0FFE
Adresse : 0FFE+2=1000H
A1 Etat Final 0000 0FFE
Octet de poids fort Octet de poids faible
Lors du transfert, l’adresse est incrémenté de 2 @ paire : 1000H @ paire : 1001H
Taille de données transférées : .B : Byte : un octet / .W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits
ESIEE - 2008/2009 R. MAHMOUDI 173
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-24)
B Adressage Indirect : Adressage Registre Indirect avec déplacement sur 8 bits signés
et index court :
Non affecté
17. MOVE.W 2( A1,D2.W),D1
MP
Lecture
D1 5678
Données : 5678 56 78 1000H
D2 0000 0002
Adresse : 0FFC+2+2=1000H
A1 0000 0FFC
Octet de poids fort Octet de poids faible
Lors du transfert, l’adresse est additionné @ paire : 1000H @ paire : 1001H
avec le continue de D2 puis incrémenté de 2
Taille de données transférées : .B : Byte : un octet / .W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits
ESIEE - 2008/2009 R. MAHMOUDI 174
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-25)
B Adressage Indirect : Adressage Registre Indirect avec déplacement sur 8 bits signés
et index long :
Taille de données transférées : .B : Byte : un octet / .W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits
ESIEE - 2008/2009 R. MAHMOUDI 175
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-26)
Adresse : 2000H
86 78 2000H
Taille de données transférées : .B : Byte : un octet / .W : Word : Mot de 16 bits / .L : Long word : Mot de 32 bits
ESIEE - 2008/2009 R. MAHMOUDI 176
Architecture des ordinateurs :
Microprocesseur & jeu d’instructions – (17-27)