Systme dexploitation Assembleur Semaine 03 Gestion de la
Système d’exploitation : Assembleur Semaine 03 Gestion de la mémoire
Gestion de la mémoire : Espace adressable • bus 20 bits (8088) : – 220 emplacements adressables – 1. 048. 576 emplacements d’un octet adressables – 1 Mo • bus 32 bits (80386) : – 232 emplacements adressables – 4. 294. 967. 296 emplacements d’un octet adressables – 4 Go
Gestion de la mémoire : Espace adressable Carte de la mémoire adressable sous 1 Mo
Gestion de la mémoire (1/7) • Problème du 8088 : – La taille des registres est de 16 bits – Or l’adressage se fait sur 20 bits… • La solution : – SEGMENTATION : passage d’une adresse de 16 bits à une adresse de 20 bits
Gestion de la mémoire (2/7) • Notion d’adresse effective – C’est l’offset (décalage par rapport au début du segment) – C’est donc la distance qui sépare l’information à atteindre du début du segment • Notion d’adresse logique – L’adresse sous le format xxxx: yyyy • Où xxxx est le numéro de segment • Et yyyy est l’offset dans ce segment • Notion d’adresse physique – C’est le résultat du calcul Reg. Seg 0000 b + offset – C’est une adresse sur 20 bits
Gestion de la mémoire (3/7)
Gestion de la mémoire (4/7) Exemples: • Que signifie : CS: IP avec CS= 0 ABC et IP=1234 ? • IP=362 A CS=6 ED 1. Adresse physique ? ES=1234 DI=5678. Adresse physique ? SS=4321 BP=BCDE. Adresse physique ? • CS=89 B 2 adresse physique=8 AE 43 IP=? • Adresse physique=A 2 B 4 C IP=? CS=? • Adresse physique=ABCDE DS=? SI=?
Gestion de la mémoire (5/7) Exemples: • Soit une donnée A se trouvant dans le segment de données (12 C 4) à l’adresse effective 7 AF 2 Où se situe la donnée en mémoire ? • Si CS=17 A 8 DS=4 F 8 C SS=205 E ES=3 B 60, – A quelles adresses physiques correspondent ES: 3 B 60 DS: 3 B 60 SS: 64 F 2 CS: 0000 – A quelle adresse physique se trouve l’instruction dont l’adresse effective est 5 AF 8?
Gestion de la mémoire (6/7) FFFFFh Zone disponible à l’utilisateur 00000 h Largeur : 1 octet • 4 zones de 64 Ko : CS, DS, ES, SS • Dans la zone CS: 0000 à CS: FFFF se trouve le code source du programme • Dans la zone DS: 0000 à DS: FFFF se trouvent les données du programme • Dans la zone ES: 0000 à ES: FFFF se trouvent les données supplémentaires • Dans la zone SS: 0000 à SS: FFFF se trouve la pile de sauvegarde • En mettant bout à bout ces 4 segments, on ne pourrait adresser que 256 Ko. • Dans ce cours d’introduction, nous ne dépasserons jamais 64 Ko de mémoire pour le code, les données supplémentaires et la pile (c. à. d. plus de 10000 lignes!!!) • Les 4 registres de segment contiendront donc toujours la même adresse
Gestion de la mémoire (7/7) • Rangement des données en mémoire • Attention : Octet de poids le plus fort à la plus forte adresse. • Si on va lire à 012 A 6 : FF 03 et pas 03 FF ……. 012 A 9 F 0 012 A 8 21 012 A 7 FF 012 A 6 03 012 A 5 A 2 012 A 4 00 …….
- Slides: 10