Information Technology Reference
In-Depth Information
Programme
Mémoire centrale
0
0
1
2
3
4
5
6
7
8
9
10
11
Load D, R, {4,2}
Table_des_blocs
1
0
0
0
Load D, R, {4,2}
2
1
1
1
4
4
1
2
0
0
3
3
0
0
4
4
1
1
8
8
4
6
6
Adresse _virtuelle : {4,2}
Adresse_physique : 10
Figure 8.20
Adresse virtuelle.
adresse _physique = table_des_blocs[numéro_de_bloc_logique, 1] + déplacement
Dans notre exemple (figure 8.20) le programme a une taille de 14 mots. Il est
organisé en 5 blocs numérotés de 0 à 4. La mémoire physique a une taille de 11 mots
et contient deux blocs logiques (1 et 4). Le bloc logique 1 est implanté à l'adresse
physique 4 et le bloc logique 4 à l'adresse physique 8. La table table_des_blocs
traduit cette implantation. Dans ces conditions l'instruction Load D, R, {4, 2} est chargée
en mémoire centrale (donc exécutable) et la donnée « 6 » placée à l'adresse 10 est
accessible par cette instruction.
Pour établir la correspondance « adresse virtuelle », « adresse physique » le méca-
nisme de gestion de la mémoire virtuelle utilise un module matériel (figure 8.21) : le
MMU ( Memory Management Unit ). Ce module reçoit en entrée une adresse virtuelle
et convertit cette adresse en une adresse physique en utilisant la table table_des_blocs
associée au programme en cours d'exécution.
Le fonctionnement du MMU est décrit par l'algorithme suivant : en entrée le MMU
reçoit une adresse virtuelle {numéro_de_bloc_logique, déplacement} et en sortie il
produit une adresse physique.
début
si table_des_blocs [numéro_de_bloc_logique, 0]
=
0
alors
défaut de bloc physique;
lire bloc_logique sur disque;
si place libre en mémoire physique
 
Search WWH ::




Custom Search