&kdslwuh 1 /h 0lfursurfhvvhxu ,qwho - isima.rnu.tn
TRANSCRIPT
Chapitre N°2 : Le Microprocesseur Intel 8086
1
I) Introduction : Le microprocesseur Intel 8086 est un microprocesseur à 16bits, apparu en 1978.
Chacun d’entre eux est compatible avec les modèles précédents ; un programme écrit dans le langage machine du 286 peut s’exécuter sans modification sur un 486. L’inverse n’est pas vrai, puisque chaque génération a ajouté des nouvelles instructions
c’est le premier microprocesseur de la famille Intel 80x86 (8086, 80186, 80286, 80486, Pentium
On parle donc de compatibilité ascendante. 2
II) La segmentation de la mémoire par le 8086:Le 8086 possède 20 bits d’adresses dont 16 bits d’adresses de poids faibles sontmultiplexés avec les 16 bits des données. C'est-à-dire le bus A/D est multiplexé et ilnécessite un démultiplexage pour obtenir séparément les bus d’adresse et ceux desdonnées : 16 bits des données (microprocesseur
16bits) : Le 8086 peut lire et écrire desdonnées sur des registres de 16 bits (deuxoctet c'est-à-dire mot complet) ou 8bits (soitoctet fort ou octet faible).
20 bits d’adresse, d’où 220=1Mo d’espace mémoires adressable par le 8086.3
Le 8086 possède 20 bits d’adresses Le 8086 peut adresser seulement à 220 octets (1Mo).
L’adresse de la première case mémoire est 0000 0000 0000 0000 0000alors que celle de la dernière case est 1111 1111 1111 1111 1111
Comment le microprocesseur 8086 peut lire une donnée qui représente une adresse écritesous forme 20 bits à travers des registres des tailles 16bits ( à l’intérieur du 8086) ???
ce problème a été résolu selon la notion :Segmentation de la mémoire par le microprocesseur 8086
00000HFFFFFH
Note Bien : le 8086 possède 16 bits pour lire une donnée .
4
Le microprocesseur 8086 gère la mémoire adressable totale de 1Mo (220 octets) comme si elleest fractionnée en plusieurs pages appelés segments, et chaque segment contient un nombrefini des cases repéré par une offset (numéro d’un ligne) dans cet segment .
un registre pour adresser le segment qu’on appelle registre segment ( numéro du page) un registre pour adresser à l’intérieur du segment qu’on désignera par registred’adressages ou offset ( numéro d’un ligne dans une page).
Afin d’adresser une case mémoire donnée (son adresse est définie par 20 bits), le8086 utilise deux registres (des tailles 16 bits) pour l’accéder :
La Notion : Segmentation de la mémoire par le 8086 :
5
Adresse physique Segment : offsetX X X X X X X X X : X X X X
En conclusion : une adresse d’une case mémoire se présente toujours sous la forme [Segment : offset]
Les adresses segment et offset sont codés sur 16 bits(4 chiffres en Hex) et peuvent donc prendre une valeurcompris entre 0 et 65535 (64K) .
Adresse physique =16 *segment+offset
6
Application N°1 : proposer une adresse logique aux adresses physiques suivantes AF586 AF58: 0006
A F 5 8 0+ 0 0 0 6 = A F 5 8 6
AF00: 0586 A F 0 0 0+ 0 5 8 6
= A F 5 8 6
A000: F586 A 0 0 0 0+ F 5 8 6
= A F 5 8 6 5D89A 5D00: 089A
5 D 0 0 0+ 0 8 9 A = 5 D 8 9 A
5D80: 009A 5 D 8 0 0+ 0 0 9 A
= 5 D 8 9 A
5080: D09A5 0 8 0 0+ D 0 9 A
= 5 D 8 9 A Note bien : pour une adresse physique il existe une infinité des adresses logiques
1er exemple :
2ième exemple :
7
Application N°2 : Déterminer les valeurs manquantes dans le tableau suivant :
Adresse Physique Adresse Logique N°1 Adresse Logique N°2AF586 98FD : ? ? : AEE6
? 8D5C : A32E ? : BF59? F68D : ? 3F50 : 87FD
8
AF586 9FFD : ?A F 5 8 6- 9 F F D 0A F 5 8 6
+ CV(9 F F D 0)
F F F F F- 9 F F D 0
6 0 0 2 F+ 1
03006A F 5 8 6
+ 6 0 0 3 06B5F01
9FFD : F5B6 9 F F D 0+ F 5 B 6 A F 5 8 6
Vérification :
? : AEE6 A F 5 8 6- A E E 6A F 5 8 6
+ CV(AEE6)
F F F F F- A E E 6
F 5 1 1 9+ 1
A115FA F 5 8 6
+ F 5 1 1 A 0A64A1
A46A : AEE 6 A 4 6 A 0+ A E E 6 A F 5 8 6
Vérification :
9
Adresse Physique Adresse Logique N°1 Adresse Logique N°2AF586 98FD : F5B6 A46A : AEE6
? 8D5C : A32E ? : BF59? F68D : ? 3F50 : 87FD
10
? 8D5C : A32E9 7 8 E E- B F 5 9 9 7 8 E E
+ CV(B F 5 9)
F F F F F- B F 5 9
F 4 0 A 6+ 1
7A04F9 7 8 E E
+ F 4 0 A 7599B81
Impossible : BF59
8 D 5 C 0+ A 3 2 E 9 7 8 E E
C’est l’adresse physique
? : BF59
11
Adresse Physique Adresse Logique N°1 Adresse Logique N°2AF586 98FD : F5B6 A46A : AEE6978EE 8D5C : A32E Impossible : BF59
? F68D : ? 3F50 : 87FD
12
? 3F50 : 87FD4 7 D F D- F 6 8 D 04 7 D F D
+ CV(F 6 8 D 0)
F F F F F- F 6 8 D 0
0 9 7 2 F+ 1
03790A F 5 8 6
+ 0 9 7 3 06BC8B
F68D : Impossible
3 F 5 0 0+ 8 7 F D 4 7 D F D
C’est l’adresse physique
F68D : ?
13
Adresse Physique Adresse Logique N°1 Adresse Logique N°2AF586 98FD : F5B6 A46A : AEE6978EE 8D5C : A32E Impossible : BF5947DFD F68D : Impossible 3F50 : 87FD
14