Information Technology Reference
In-Depth Information
Tout comme la table des pages, la table des segments peut être réalisée à l'aide de
registres de la MMU, mais avec les mêmes limites au niveau de la taille de la table.
Aussi, la table des segments est plus souvent placée en mémoire centrale. Un registre
STBR ( segment-table base register ) contient l'adresse d'implantation en mémoire
centrale de la table de segments du processus actif, tandis qu'un registre STLR
( segment-table length register ) contient le nombre de segments existants dans l'espace
d'adressage du processus actif. Les valeurs contenues dans les registres STLR et
STBR sont sauvegardées pour chaque processus dans son PCB.
La conversion d'une adresse segmentée
avec s, numéro de segment, et d dépla-
cement dans le segment, suit les étapes suivantes (figure 13.17) :
- s est comparé à la valeur max_s contenue dans le registre STLR. Si s est supérieur
à cette valeur, alors une trappe est levée car le segment adressé n'existe pas;
- sinon s est additionné au contenu du registre LTBR de manière à indexer l'entrée
de la table concernant le segment s. On récupère alors l'adresse d'implantation
adr du segment s en mémoire centrale ;
- le déplacement d est alors comparé à la taille t du segment. Si d est supérieur à t,
alors une trappe est levée car le déplacement est en dehors du segment. Sinon, le
déplacement d est ajouté à l'adresse d'implantation du segment pour générer
l'adresse physique.
<
s, d
>
MMU
Registre STLR
max_s
Adresse logique
ads
Table des segments
Registre LTBR
sd
t
adr
s
ads
1
> ?
non
+
oui
2
Segment
+
> ?
non
d
Adresse
physique
oui
TRAPPE
TRAPPE
Mémoire
Figure 13.17
Traduction d'une adresse segmentée en adresse physique.
 
Search WWH ::




Custom Search