&kdslwuh 1 /h 0lfursurfhvvhxu ,qwho - isima.rnu.tn

14
Chapitre N°2: Le Microprocesseur Intel 8086 1

Upload: others

Post on 20-Jun-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

Chapitre N°2 : Le Microprocesseur Intel 8086

1

Page 2: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

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

Page 3: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

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

Page 4: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

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

Page 5: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

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

Page 6: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

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

Page 7: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

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

Page 8: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

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

Page 9: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

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

Page 10: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

Adresse Physique Adresse Logique N°1 Adresse Logique N°2AF586 98FD : F5B6 A46A : AEE6

? 8D5C : A32E ? : BF59? F68D : ? 3F50 : 87FD

10

Page 11: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

? 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

Page 12: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

Adresse Physique Adresse Logique N°1 Adresse Logique N°2AF586 98FD : F5B6 A46A : AEE6978EE 8D5C : A32E Impossible : BF59

? F68D : ? 3F50 : 87FD

12

Page 13: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

? 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

Page 14: &KDSLWUH 1 /H 0LFURSURFHVVHXU ,QWHO - isima.rnu.tn

Adresse Physique Adresse Logique N°1 Adresse Logique N°2AF586 98FD : F5B6 A46A : AEE6978EE 8D5C : A32E Impossible : BF5947DFD F68D : Impossible 3F50 : 87FD

14