Information Technology Reference
In-Depth Information
Pour accélérer la conversion de l'adresse virtuelle vers l'adresse réelle, un cache
associatif de 8 à 100 postes est placé en amont de l'hypertable.
La segmentation
La pagination constitue un découpage de l'espace d'adressage du processus qui
ne correspond pas à l'image que le programmeur a de son programme. Pour le
programmeur, un programme est généralement constitué des données manipulées
par ce programme, d'un programme principal, de procédures séparées et d'une pile
d'exécution.
La segmentation est un découpage de l'espace d'adressage qui cherche à conserver
cette vue du programmeur (figure 13.15). Ainsi, lors de la compilation, le compila-
teur associe un segment à chaque morceau du programme compilé. Un segment est
un ensemble d'emplacements mémoire consécutifs non sécable. À la différence des
pages, les segments d'un même espace d'adressage peuvent être de taille différente.
Segment 1
50 Ko
données
Segment 3
70 Ko
Segment 2
20 Ko
Programme
principal
fonction X
Segment 4
25 Ko
Pile
Vue Utilisateur
Segmentation
Figure 13.15
Segmentation d'un programme.
D'une manière générale, on trouvera un segment de code, un segment de données
et un segment de pile.
Adresse logique et table des segments
Conversion adresse logique - adresse physique
D'une manière similaire à ce qui se passe avec la pagination, la segmentation de
l'espace d'adressage d'un processus génère des adresses segmentées , c'est-à-dire
qu'un octet est repéré par son emplacement relativement au début du segment auquel
il appartient. L'adresse d'un octet est donc formée par le couple
numéro de segment s
à laquelle appartient l'octet, déplacement d relativement au début du segment s
<
.
Pour toute opération concernant la mémoire, il faut ici encore convertir l'adresse
segmentée générée au niveau du processeur en une adresse physique équivalente.
>
 
Search WWH ::




Custom Search