1 / 10

Système d’exploitation : Assembleur

Système d’exploitation : Assembleur. Semaine 03 Gestion de la mémoire. Gestion de la mémoire : Espace adressable. bus 20 bits (8088) : 2 20 emplacements adressables 1.048.576 emplacements d’un octet adressables 1 Mo bus 32 bits (80386) : 2 32 emplacements adressables

malana
Télécharger la présentation

Système d’exploitation : Assembleur

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Système d’exploitation : Assembleur Semaine 03 Gestion de la mémoire

  2. 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

  3. Gestion de la mémoire : Espace adressable Carte de la mémoire adressable sous 1Mo

  4. 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

  5. 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 RegSeg0000b + offset • C’est une adresse sur 20 bits

  6. Gestion de la mémoire (3/7)

  7. Gestion de la mémoire (4/7)Exemples: • Que signifie : CS:IP avec CS= 0ABC et IP=1234 ? • IP=362A CS=6ED1. Adresse physique ? ES=1234 DI=5678. Adresse physique ? SS=4321 BP=BCDE. Adresse physique ? • CS=89B2 adresse physique=8AE43 IP=? • Adresse physique=A2B4C IP=? CS=? • Adresse physique=ABCDE DS=? SI=?

  8. Gestion de la mémoire (5/7)Exemples: • Soit une donnée A se trouvant dans le segment de données (12C4) à l’adresse effective 7AF2 Où se situe la donnée en mémoire ? • Si CS=17A8 DS=4F8C SS=205E ES=3B60, • A quelles adresses physiques correspondent ES:3B60 DS:3B60 SS:64F2 CS:0000 • A quelle adresse physique se trouve l’instruction dont l’adresse effective est 5AF8?

  9. FFFFFh Zone disponible à l’utilisateur 00000h Largeur : 1 octet Gestion de la mémoire (6/7) • 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 256Ko. • Dans ce cours d’introduction, nous ne dépasserons jamais 64Ko de mémoire pour le code, les données, 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

  10. Rangement des données en mémoire Attention : Octet de poids le plus fort à la plus forte adresse. Si on va lire à 012A6 : FF03 et pas 03FF ……. 012A9 012A8 012A7 012A6 012A5 012A4 F0 21 FF 03 A2 00 ……. Gestion de la mémoire (7/7)

More Related