0% ont trouvé ce document utile (0 vote)
45 vues5 pages

III. Adressage Mémoire: 1. Représentation Et Stockage 2. Mémoires Segmentée 3. Exemple

maths

Transféré par

saad doudou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
45 vues5 pages

III. Adressage Mémoire: 1. Représentation Et Stockage 2. Mémoires Segmentée 3. Exemple

maths

Transféré par

saad doudou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

III.

Adressage mémoire
1. Représentation et stockage
2. Mémoires segmentée
3. Exemple

Chapitre 4. Présentation du μp 8086 et environnement Emu8086


III. Adressage mémoire
1. Représentation et stockage
▪ Bit vs Byte? Bit={0,1} Byte (Anglais) = 8 bits = 1 Octet
▪ Données sur plusieurs octets?

L'architecture du 8086 est ???


18

1
Chapitre 4. Présentation du μp 8086 et environnement Emu8086
III. Adressage mémoire
1. Représentation et stockage

L'architecture du 8086 est little-endian.


19

Chapitre 4. Présentation du μp 8086 et environnement Emu8086


III. Adressage mémoire
2. Mémoires segmentée

▪ L'espace mémoire adressable (20 bits pour le 8086) a une taille

maximale de 220 bits=1 Mo, et nécessite donc des registres 20 bits.

▪ On dispose de registres de 16 bits seulement !!!

▪Comment manipuler des adresses 20 bits

en utilisant des registres 16 bits ???

20

2
Chapitre 4. Présentation du μp 8086 et environnement Emu8086
III. Adressage mémoire
2. Mémoires segmentée

Solution
▪ Utiliser des segments dans la mémoire:

➢ Chaque segment est définie par son adresse de départ qui doit être un
multiple de 16.

➢ Chaque segment est de taille maximale 216 mots = 216 octets = 64 Ko.

➢ Chaque programme peut utiliser plusieurs segments.

▪ Utiliser deux registres 16 bits pour représenter une adresse physique 20 bits:

➢ Un registre pour l’adresse du segment

➢ Un registre pour le décalage du mot dans le segment

21

Chapitre 4. Présentation du μp 8086 et environnement Emu8086


III. Adressage mémoire
2. Mémoires segmentée

▪ L'espace mémoire physique


adressable (de l’adresse 00000H à
FFFFFH) est divisé en plusieurs
segments.

▪ Un programme peut utiliser des


segments mémoire pour :

➢ Le code

➢ Les données

➢ La pile

➢ Ou un segment Extra

22

3
Chapitre 4. Présentation du μp 8086 et environnement Emu8086
III. Adressage mémoire
2. Mémoires segmentée

Adresse d’un segment

▪ Les 4 bits de poids faible de l’adresse d’un segment (qui doit être
multiple de 16)10) sont donc des zéro.

▪ En hexadécimale, l’adresse 5 digits d’un segment se termine par 0.

▪ On peut donc représenter l'adresse d'un segment avec seulement les


16 bits de poids fort, les 4 bits de poids faible étant implicitement à 0.

▪ Exemples:

➢ Si le registre segment CS doit pointer sur l’adresse F1680,


alors il doit contenir l’adresse F168

➢ Si le registre segment DS doit pointer sur l’adresse FB520,


alors il doit contenir l’adresse FB52 23

Chapitre 4. Présentation du μp 8086 et environnement Emu8086


III. Adressage mémoire
2. Mémoires segmentée
Adresse de décalage (Offset)
▪ Pour désigner une case mémoire parmi les cases contenues dans un
segment, on parle de décalage ou offset.

▪ Le décalage d’un mot dans un segment est


désigné par une information sur 16 bits.
▪ Ainsi, une case mémoire réelle est repérée
dans le microprocesseur 8086 par deux
informations sur 16 bits chacune:
➢ l'adresse d'un segment;
➢ un décalage ou offset (appelé aussi
adresse effective) dans ce segment.
▪ Cette méthode de gestion de la mémoire
est appelée segmentation de la mémoire.

24

4
Chapitre 4. Présentation du μp 8086 et environnement Emu8086
III. Adressage mémoire
2. Mémoires segmentée
▪ La donnée d'un couple (segment, offset) définit une adresse logique,
notée sous la forme segment: offset.

▪ L'adresse d'une case mémoire donnée sous la forme d'une quantité


sur 20 bits (5 digits hexa) est appelée adresse physique car elle
correspond à la valeur envoyée réellement sur le bus d'adresses A0-A19.

▪ l'adresse physique se calcule par :

▪ Adresse physique = 16 x segment + offset

▪ car le fait d'injecter 4 zéros en poids faible


du segment revient à effectuer un décalage
de 4 positions vers la gauche, c'est à dire
une multiplication par 24 = 16.
25

Chapitre 4. Présentation du μp 8086 et environnement Emu8086


III. Adressage mémoire
3. Exemples
Trouver l’adresse physique de l’adresse logique 20FF:1000

➢ Adresse du segment = 20FFh

➢ Décalage offset = 1000h

➢ Adresse physique = segment*16+Offset

= 20FF0+1000
= 21FF0h

Exemples

- CS:IP : adresse de la prochaine instruction à exécuter

- DS:SI : adresse d'une donnée

- SS:SP : adresse du haut de la pile

26

Vous aimerez peut-être aussi