Information Technology Reference
In-Depth Information
des pages d'un processus. Une solution consiste alors à paginer la table des pages
elle-même.
Ainsi, les processeurs de l'architecture Intel x86 peuvent adresser 4 Go. La taille
des pages est de 4 Ko et une entrée de la table des pages occupe 4 octets. Dans ces
conditions, la table des pages peut contenir 1 048 576 entrées ce qui représente une
occupation mémoire de 4 Mo.
Dans ce contexte, l'adresse paginée devient un triplet
, où hp désigne
l'entrée d'une hypertable des pages, dont chaque entrée correspond à une page conte-
nant une partie de la table des pages du processus. p désigne une entrée de cette
partie de la table des pages qui permet d'accéder à la page p de l'espace d'adressage
du processus et d un déplacement dans la page p.
L'hypertable des pages est elle-même placée en mémoire centrale et son adresse
d'implantation en mémoire centrale est repérée par un registre matériel de la MMU.
La conversion de l'adresse paginée
<
hp, p, d
>
en adresse physique et l'accès à l'octet
mémoire désigné comporte maintenant une étape supplémentaire (figure 13.14) :
- un premier accès permet de lire l'entrée de l'hypertable des pages correspondant
à la page hp cherchée et délivre une adresse physique c de case dans la mémoire
centrale, qui contient une partie de la table des pages du processus;
- un second accès à la case c permet de lire l'entrée p de la table des pages et de
récupérer l'adresse physique de la case c'contenant la page p ;
- un troisième accès est nécessaire à la lecture ou l'écriture de l'octet recherché à
l'adresse c'
<
hp, p, d
>
d.
Pour accélérer la conversion de l'adresse logique vers l'adresse physique, un cache
associatif contient les couples
+
<
hp, p
>
les plus récemment accédés.
Un exemple : gestion mémoire sur le système MVS/370
Sur l'architecture IBM 370, l'espace virtuel d'un processus peut atteindre 16 Mo. La
taille d'une page et d'une case est fixée à 4 Ko. Une table des pages de processus
peut donc contenir jusqu'à 2 12 entrées, chaque entrée mesurant 2 octets et donc
occuper 8 Ko. Un second niveau de pagination est donc mis en place pour supporter
la taille de la table des pages des processus.
L'espace d'adressage d'un processus est découpé en morceaux ou hyperpages cons-
titués chacun de 16 pages du processus. Une table des pages est associée à chaque
hyperpage. L'hypertable des pages comporte 256 entrées de 4 octets, contenant chacune
l'adresse d'une table des pages pour une hyperpage. L'adresse en mémoire centrale
de cette table est maintenue pour le processus courant dans le registre de contrôle 1,
CR1, appelé aussi STOR ( segment table origin register ).
Une adresse virtuelle sur 24 bits se décompose donc en trois parties :
- les 8 premiers bits constituent le numéro d'hyperpage hp ;
- les 4 suivants donnent le numéro de page p de l'hyperpage ;
- les 12 derniers donnent le déplacement d dans la page.
Search WWH ::




Custom Search